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_TRANSCEIVER
channel.- 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
,PARTY
orBOOST
.Getter: Provides the current control mode as ParameterENUM
.Setter: Set the control mode by the name of the mode (see above). When setting to MANUAL
it 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
True
when 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
ChannelKey
object 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:.ChannelKey
class.
-
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
ChannelKey
object 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:.ChannelKey
class.
-
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
ChannelKey
object 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:.ChannelKey
class.
-
switch2
¶ Provides to the
ChannelKey
object of the second switch.
-
switch3
¶ Provides to the
ChannelKey
object of the third switch.
-
switch4
¶ Provides to the
ChannelKey
object 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
¶ True
when the contact is reported to be open, otherwiseFalse
.
-
summary_state
¶ Provides a well formated state as string. It is
open
when the contact is open, otherwiseclosed
.
-
ChannelBlind¶
ChannelSwitch¶
-
class
pmatic.entities.
ChannelSwitch
(device, spec)[source]¶ Bases:
pmatic.entities.Channel
-
is_on
¶ True
when 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
None
since the channel has not any values
-
ChannelWeatherReceiver¶
-
class
pmatic.entities.
ChannelWeatherReceiver
(device, spec)[source]¶ Bases:
pmatic.entities.Channel
-
summary_state
¶ Provides
None
since the channel has not any values
-
ChannelClimateControlReceiver¶
-
class
pmatic.entities.
ChannelClimateControlReceiver
(device, spec)[source]¶ Bases:
pmatic.entities.Channel
-
summary_state
¶ Provides
None
since the channel has not any values
-
ChannelClimateControlRTReceiver¶
-
class
pmatic.entities.
ChannelClimateControlRTReceiver
(device, spec)[source]¶ Bases:
pmatic.entities.Channel
-
summary_state
¶ Provides
None
since the channel has not any values
-
ChannelRemoteControlReceiver¶
-
class
pmatic.entities.
ChannelRemoteControlReceiver
(device, spec)[source]¶ Bases:
pmatic.entities.Channel
-
summary_state
¶ Provides
None
since 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