Specific Devices¶
Pmatic supports all kind of devices which are provided by the CCU. Those unspecific devices
are instances of pmatic.entities.Device. Those device values can be read and
written with generic methods and properties. You can e.g. retrieve the current temperature
measured by a HM-CC-RT-DN device as floating point number using
device.channels[4].values["ACTUAL_TEMPERATURE"].value. To get this right, you need to
know several things:
- You need to know that the channel 4 of the device is the
CLIMATECONTROL_RT_TRANSCEIVERchannel.- You need to know that the current temperature is available via the paramater
ACTUAL_TEMPERATURE.
I think thats problematic. You need to dig into documents and API descriptions of the manufacturers which should really not be neccessary.
So there is the concept of specific device objects in pmatic. To stick with the example above,
there is the pmatic.entities.HM_CC_RT_DN which is automatically used for HM-CC-RT-DN devices.
When working with such a device, you have access to the property device.temperature which gives
you the same value as the code above. Now that should be clear. We need specific devices!
HM-CC-RT-DN (Funk-Heizkörperthermostat)¶
-
class
pmatic.entities.HM_CC_RT_DN(ccu, spec)[source]¶ Bases:
pmatic.entities.Device-
temperature¶ Provides the current temperature.
Returns an instance of
ParameterFLOAT.
-
valve_state¶ Provides the current valve state in percentage.
Returns an instance of
ParameterINTEGER.
-
set_temperature¶ The actual set temperature of the device.
Getter: Provides the actual target temperature as ParameterFLOAT.Setter: Specify the new set temperature as float. Please note that the CCU rounds this values to .0 or .5 after the comma. So if you provide .e.g 22.1 as new set temperature, the CCU will convert this to 22.0. This is totally equal to the control on the device. Type: ParameterFloat/float
-
is_off¶ Is set to True when the device is not enabled to heat.
-
control_mode¶ The actual control mode of the device. This is either
AUTO,MANUAL,PARTYorBOOST.Getter: Provides the current control mode as ParameterENUM.Setter: Set the control mode by the name of the mode (see above). When setting to MANUALit uses either the current set temperature as target temperature or the default temperature when the device is currently turned off.Type: ParameterENUM/string
-
is_battery_low¶ Is
Truewhen the battery is reported to be low, otherwiseFalse. If you want more details about the current battery, usebattery_state()to get the current reported voltage.
-
battery_state¶ Provides the actual battery voltage reported by the device.
-
boost_duration¶ When boost mode is currently active this returns the number of minutes left in boost mode. Otherwise it returns
None.Provides the configured boost duration as
ParameterINTEGER.
-
HM-Sec-SC (Funk-Tür-/ Fensterkontakt)¶
-
class
pmatic.entities.HM_Sec_SC(ccu, spec)[source]¶ Bases:
pmatic.entities.Device
HM-Sec-SCo (Optischer Funk-Tür-/ Fensterkontakt)¶
-
class
pmatic.entities.HM_Sec_SCo(ccu, spec)[source]¶ Bases:
pmatic.entities.HM_Sec_SC
HM-ES-PMSw1-Pl (Funk-Schaltaktor mit Leistungsmessung)¶
-
class
pmatic.entities.HM_ES_PMSw1_Pl(ccu, spec)[source]¶ Bases:
pmatic.entities.Device-
summary_state¶
-
HM-LC-Sw1-Pl-DN-R1 (Funk-Schaltaktor ohne Leistungsmessung)¶
-
class
pmatic.entities.HM_LC_Sw1_Pl_DN_R1(ccu, spec)[source]¶ Bases:
pmatic.entities.Device-
summary_state¶
-
switch¶ Provides to the
ChannelKeyobject of the switch.You can do something like
self.switch.switch_on()with this. For details take a look at the methods provided by the :class:.ChannelKeyclass.
-
HM-LC-Bl1PBU-FM (Funk-Rolladenaktor unterputz)¶
-
class
pmatic.entities.HM_LC_Bl1PBU_FM(ccu, spec)[source]¶ Bases:
pmatic.entities.Device-
blind¶ Provides to the
ChannelKeyobject of the blind channel.You can do something like
self.blind.set_level(0.6)with this. For details take a look at the methods provided by the :class:.ChannelKeyclass.
-
HM-PBI-4-FM (Funk-Tasterschnittstelle 4-fach)¶
-
class
pmatic.entities.HM_PBI_4_FM(ccu, spec)[source]¶ Bases:
pmatic.entities.Device-
switch1¶ Provides to the
ChannelKeyobject of the first switch.You can do something like
self.switch1.press_short()with this. For details take a look at the methods provided by the :class:.ChannelKeyclass.
-
switch2¶ Provides to the
ChannelKeyobject of the second switch.
-
switch3¶ Provides to the
ChannelKeyobject of the third switch.
-
switch4¶ Provides to the
ChannelKeyobject of the fourth switch.
-
HM-WDS10-TH-O (Funk-Temperatur-/Luftfeuchtesensor OTH)¶
-
class
pmatic.entities.HM_WDS10_TH_O(ccu, spec)[source]¶ Bases:
pmatic.entities.Device-
temperature¶ Provides the current temperature.
Returns an instance of
ParameterFLOAT.
-
humidity¶ Provides the current humidity.
Returns an instance of
ParameterFLOAT.
-
HM-WDS40-TH-I-2 (Funk-Temperatur-/Luftfeuchtesensor ITH)¶
-
class
pmatic.entities.HM_WDS40_TH_I_2(ccu, spec)[source]¶ Bases:
pmatic.entities.Device-
temperature¶ Provides the current temperature.
Returns an instance of
ParameterFLOAT.
-
humidity¶ Provides the current humidity.
Returns an instance of
ParameterFLOAT.
-
HM-Sen-LI-O (Funk-Außen-Helligkeitssensor OLI)¶
-
class
pmatic.entities.HM_Sen_LI_O(ccu, spec)[source]¶ Bases:
pmatic.entities.Device-
brightness¶ Provides the current brightness.
Returns an instance of
ParameterFLOAT.
-
The Channels¶
Each device is organized in several independent channels which all have individual features.
This chapter describes all specific channels currently implemented in pmatic. Unknown channels
are represented by the generic pmatic.entities.Channel class.
ChannelMaintenance¶
-
class
pmatic.entities.ChannelMaintenance(device, spec)[source]¶ Bases:
pmatic.entities.Channel-
summary_state¶ The maintenance channel does not provide a summary state.
If you want to get a formated maintenance state, you need to use the property
maintenance_state.
-
maintenance_state¶ Provides the formated maintenance state of the associated device.
-
ChannelShutterContact¶
-
class
pmatic.entities.ChannelShutterContact(device, spec)[source]¶ Bases:
pmatic.entities.Channel-
is_open¶ Truewhen the contact is reported to be open, otherwiseFalse.
-
summary_state¶ Provides a well formated state as string. It is
openwhen the contact is open, otherwiseclosed.
-
ChannelBlind¶
ChannelSwitch¶
-
class
pmatic.entities.ChannelSwitch(device, spec)[source]¶ Bases:
pmatic.entities.Channel-
is_on¶ Truewhen the power is on, otherwiseFalse.
-
summary_state¶ Provides the current state as well formated string.
-
ChannelKey¶
-
class
pmatic.entities.ChannelKey(device, spec)[source]¶ Bases:
pmatic.entities.Channel-
summary_state¶ Has no state info as it’s a toggle button. This is only to override the default summary_state property.
-
ChannelVirtualKey¶
-
class
pmatic.entities.ChannelVirtualKey(device, spec)[source]¶ Bases:
pmatic.entities.ChannelKey
ChannelPowermeter¶
-
class
pmatic.entities.ChannelPowermeter(device, spec)[source]¶ Bases:
pmatic.entities.Channel
ChannelConditionPower¶
-
class
pmatic.entities.ChannelConditionPower(device, spec)[source]¶ Bases:
pmatic.entities.Channel
ChannelConditionCurrent¶
-
class
pmatic.entities.ChannelConditionCurrent(device, spec)[source]¶ Bases:
pmatic.entities.Channel
ChannelConditionVoltage¶
-
class
pmatic.entities.ChannelConditionVoltage(device, spec)[source]¶ Bases:
pmatic.entities.Channel
ChannelConditionFrequency¶
-
class
pmatic.entities.ChannelConditionFrequency(device, spec)[source]¶ Bases:
pmatic.entities.Channel
ChannelWeather¶
-
class
pmatic.entities.ChannelWeather(device, spec)[source]¶ Bases:
pmatic.entities.Channel
ChannelClimaVentDrive¶
-
class
pmatic.entities.ChannelClimaVentDrive(device, spec)[source]¶ Bases:
pmatic.entities.Channel
ChannelClimaRegulator¶
-
class
pmatic.entities.ChannelClimaRegulator(device, spec)[source]¶ Bases:
pmatic.entities.Channel-
summary_state¶ Provides the ventil state.
-
ChannelClimaRTTransceiver¶
-
class
pmatic.entities.ChannelClimaRTTransceiver(device, spec)[source]¶ Bases:
pmatic.entities.Channel-
summary_state¶ Provides the actual and target temperature together with the valve state in some readable format.
-
ChannelWindowSwitchReceiver¶
-
class
pmatic.entities.ChannelWindowSwitchReceiver(device, spec)[source]¶ Bases:
pmatic.entities.Channel-
summary_state¶ Provides
Nonesince the channel has not any values
-
ChannelWeatherReceiver¶
-
class
pmatic.entities.ChannelWeatherReceiver(device, spec)[source]¶ Bases:
pmatic.entities.Channel-
summary_state¶ Provides
Nonesince the channel has not any values
-
ChannelClimateControlReceiver¶
-
class
pmatic.entities.ChannelClimateControlReceiver(device, spec)[source]¶ Bases:
pmatic.entities.Channel-
summary_state¶ Provides
Nonesince the channel has not any values
-
ChannelClimateControlRTReceiver¶
-
class
pmatic.entities.ChannelClimateControlRTReceiver(device, spec)[source]¶ Bases:
pmatic.entities.Channel-
summary_state¶ Provides
Nonesince the channel has not any values
-
ChannelRemoteControlReceiver¶
-
class
pmatic.entities.ChannelRemoteControlReceiver(device, spec)[source]¶ Bases:
pmatic.entities.Channel-
summary_state¶ Provides
Nonesince the channel has not any values
-
ChannelWeatherTransmit¶
-
class
pmatic.entities.ChannelWeatherTransmit(device, spec)[source]¶ Bases:
pmatic.entities.Channel-
summary_state¶ Provides the temperature and humidity in readable format.
-
ChannelThermalControlTransmit¶
-
class
pmatic.entities.ChannelThermalControlTransmit(device, spec)[source]¶ Bases:
pmatic.entities.Channel
ChannelSwitchTransmit¶
-
class
pmatic.entities.ChannelSwitchTransmit(device, spec)[source]¶ Bases:
pmatic.entities.Channel