-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tank Module via HTTP/Hubitat/Fibaro #205
Conversation
…hat config can be used by component without circular import; fix hubitat address generation
…tor to ensure all cached properties used later are correct
… can be accumulated and displayed when printing layout
…e pydantic to exclude unset fields, except for TypeName, which is always included; Modified FibaroSmarImplantCacGt/ComponentGt and HubitatCacGt/ComponentGt to use base class implementation
|
||
|
||
class FibaroSmartImplantComponentGt(ComponentGt): | ||
ZWaveDSK: str = "" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the ZWaveDSK? Is this the serial number given by the Hubitat (like 155D2)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually I don't know. I just read it and assumed it was the ZWave unique id.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am still getting my head around this, and also the code generation notes issue 214 and [issue 215]. But this shouldn't slow down the merge.
@@ -31,7 +31,9 @@ class ActorClass(StrEnum): | |||
SimpleSensor = auto() | |||
MultipurposeSensor = auto() | |||
Thermostat = auto() | |||
|
|||
HubitatTelemetryReader = auto() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the idea that this can be a more generic device?
from gwproto.data_classes.component_attribute_class import ComponentAttributeClass | ||
|
||
|
||
class RESTPollerCac(ComponentAttributeClass): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure why this exists? What would be a rest poller other than our SCADA box?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
REST polling can be used with anything that implements a converter function between the reply returned and the message forwarded from that to scada. All the other parameters for REST polling can be implemented via the configuration in RESTPollerSettings, and those can be placed in a component, which needs a cac.
Tank Module via HTTP/Hubitat/Fibaro (#205) This PR adds support for Tank modules accessed by sending HTTP polls to a Hubitat which is configured to communicate with Fibaro Smart Implant temperature sensors on the tank via Fibaro / Hubitat ZWave network. Changes: 1. New CACS, Components and enums added for Fibaro Smart Implant, Hubitat, Hubitat Tank Module and generic RESTPoller. 2. HardwareLayout has been modified: 1. Components and CACS in OtherComponents/OtherCACs can be decoded from TypeName without need to specify the decoding class. 2. A "resolve" phase has been added after loading CACs, Components and Nodes to allow validation of relationships between entities when that validation requires all CACs, Components and Nodes to have been decoded. 3. Code generation has been broken by this merge. Fixing up code generation will be addressed by #214. More code generation discussion in #215.
This PR adds support for Tank modules accessed by sending HTTP polls to a Hubitat which is configured to communicate with Fibaro Smart Implant temperature sensors on the tank via Fibaro / Hubitat ZWave network.
Changes: