clean code

This commit is contained in:
robert 2021-12-20 19:59:44 +01:00
parent 6679f2b22b
commit 0d8db4077d
1 changed files with 29 additions and 54 deletions

View File

@ -1,14 +1,9 @@
import json
import sys
import os
# Homematic IP # Homematic IP
import homematicip import homematicip
from homematicip.home import Home from homematicip.home import Home
from homematicip.device import ShutterContact,HeatingThermostat,PlugableSwitchMeasuring,WallMountedThermostatPro from homematicip.device import ShutterContact, WallMountedThermostatPro
from homematicip.group import HeatingCoolingProfile,HeatingGroup
# Import MQTT client. # Import MQTT client.
import paho.mqtt.publish as publish # import paho.mqtt.publish as publish
import paho.mqtt.client as paho import paho.mqtt.client as paho
# MQTT credentials # MQTT credentials
@ -18,7 +13,6 @@ import paho.mqtt.client as paho
mqtt_broker = "raspberrypi" # broker address, usually your HASS IP address mqtt_broker = "raspberrypi" # broker address, usually your HASS IP address
# create the MQTT client # create the MQTT client
global client
client = paho.Client(protocol=paho.MQTTv31) # * set a random string (max 23 chars) client = paho.Client(protocol=paho.MQTTv31) # * set a random string (max 23 chars)
# client connection # client connection
@ -32,40 +26,25 @@ home = Home()
home.set_auth_token(config.auth_token) home.set_auth_token(config.auth_token)
home.init(config.access_point) home.init(config.access_point)
def write_shutter(room, device): def write_shutter(room, device):
print(room, " ", device.label, " ", device.lastStatusUpdate, " ", device.windowState) print(room, " ", device.label, " ", device.lastStatusUpdate, " ", device.windowState)
# print(device) # print(device)
def write_plugableswitchmeasuring(room,device):
print(room, " ", device.label, " ", device.lastStatusUpdate, " ", device.currentPowerConsumption, " ", device.energyCounter)
def write_heatingthermostat(room,device):
print(room, " ", device.label, " ", device.lastStatusUpdate)
def write_wallmountedthermostatpro(room, device): def write_wallmountedthermostatpro(room, device):
global time
global deviceName
global actualTemperature
global setPointTemperature
global humidity
time = device.lastStatusUpdate
deviceName = device.label
actualTemperature = device.actualTemperature
setPointTemperature = device.setPointTemperature
humidity = device.humidity
topic = 'weathersensors/' + room topic = 'weathersensors/' + room
#print(topic) client.publish(topic + "/time", "" + str(device.lastStatusUpdate))
client.publish(topic + "/actualTemperature", "" + str(device.actualTemperature))
client.publish(topic + "/time", "" + str(time)) client.publish(topic + "/setPointTemperature", "" + str(device.setPointTemperature))
client.publish(topic + "/actualTemperature", "" + str(actualTemperature)) client.publish(topic + "/humidity", "" + str(device.humidity))
client.publish(topic + "/setPointTemperature", "" + str(setPointTemperature))
client.publish(topic + "/humidity", "" + str(humidity))
client.publish(topic + "/availability", "ON") client.publish(topic + "/availability", "ON")
print({"Room":room, "Device Name":device.label, "Last Status Update" : device.lastStatusUpdate, "Actual Temperature":device.actualTemperature, "Set Point Temperature":device.setPointTemperature,"Humidity":device.humidity}) print({"Room": room, "Device Name": device.label, "Last Status Update": device.lastStatusUpdate,
"Actual Temperature": device.actualTemperature, "Set Point Temperature": device.setPointTemperature,
"Humidity": device.humidity})
def heating_profile(group): def heating_profile(group):
# heatingGroup=homematicip.group.HeatingGroup(group) # heatingGroup=homematicip.group.HeatingGroup(group)
@ -82,10 +61,9 @@ def heating_profile(group):
if profile.name == "Home Office": if profile.name == "Home Office":
print("Profile Index" + profile.index) print("Profile Index" + profile.index)
print(group) print(group)
heatingGroup=HeatingGroup(group)
# print(heatingGroup.profiles[0])
group.set_active_profile(profile.index) group.set_active_profile(profile.index)
def main(): def main():
global home global home
home.get_current_state() home.get_current_state()
@ -96,12 +74,9 @@ def main():
for device in group.devices: for device in group.devices:
if isinstance(device, ShutterContact): if isinstance(device, ShutterContact):
write_shutter(group.label, device) write_shutter(group.label, device)
elif isinstance(device,HeatingThermostat):
write_heatingthermostat(group.label,device)
elif isinstance(device,PlugableSwitchMeasuring):
write_plugableswitchmeasuring(group.label,device)
elif isinstance(device, WallMountedThermostatPro): elif isinstance(device, WallMountedThermostatPro):
write_wallmountedthermostatpro(group.label, device) write_wallmountedthermostatpro(group.label, device)
if __name__ == "__main__": if __name__ == "__main__":
main() main()