data-model

Model OpenWatt runtime data hierarchies for devices, components, and elements.

2|Updated Sep 15, 2023
One-click install
npx skills add https://github.com/open-watt/openwatt --skill data-model-open-watt
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: data-model
Source: https://github.com/open-watt/openwatt/tree/main/.claude/skills/data-model
Command: npx skills add https://github.com/open-watt/openwatt --skill data-model-open-watt

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

OpenWatt's runtime data model provides a unified blueprint for representing devices, components, and elements, enabling consistent configuration, data flow, and extension across all protocols.

Core Features & Use Cases

  • Device/Component/Element hierarchy that models real equipment
  • Profile-driven templates that define templates, elements, and samplers
  • Sampler integration across Modbus, CAN, Zigbee, MQTT, HTTP, and Tesla TWC
  • ValueDesc and TextValueDesc for decoding binary and text data
  • End-to-end workflow for device creation, element mapping, and runtime updates

Quick Start

Explore building a Device/Component/Element hierarchy from a profile and wire a sampler to populate live data.

Frequently Asked Questions about data-model

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I model a device hierarchy for IoT protocol integrations?

Model a device hierarchy by structuring equipment into Device, Component, and Element layers. This unified blueprint enables consistent configuration and data flow across protocols like Modbus, CAN, Zigbee, and MQTT.

What is a profile-driven template for runtime device configuration?

A profile-driven template defines elements and samplers to standardize device configuration. It provides a reusable blueprint for mapping real equipment data across various protocol integrations.

How do I wire a sampler to populate live runtime data from Modbus or MQTT?

Wire a sampler by attaching it to an element within your device profile. The sampler integrates across Modbus, CAN, Zigbee, MQTT, HTTP, and Tesla TWC protocols to fetch and populate live runtime data.

Can I decode binary and text payloads from Zigbee or CAN protocols?

Yes, you can decode payloads using ValueDesc and TextValueDesc mechanisms. These tools decode binary and text data within your protocol samplers to populate element values accurately.

Does the OpenWatt data model support extending devices with new protocol integrations?

The data model supports extending devices through frontmatter-driven discovery and robust runtime semantics. You can encapsulate new protocol integrations for building, querying, and extending equipment profiles.

What is the best way to map elements during device creation in a runtime environment?

The best way to map elements is following the end-to-end workflow for device creation. Build the Device/Component/Element hierarchy from a profile, then map elements to samplers for runtime data updates.