berland Skrevet 7. mars 2019 Del Skrevet 7. mars 2019 Dumpet borti et Python-bibliotek holidays som gjorde det ekstremt lett å få smarthuset til vite at det er helligdag. Installeres med 'pip install holidays' Jeg har en 'item' i OpenHAB som heter 'Helg', som er av eller på. Når det er på er huset i 'helgemodus", og det skal det også være på helligdager. Så da trengte jeg følgende lille Python-script #!/usr/bin/python import datetime import openhab import holidays openhab_url = 'http://minopenhabserver:8090/rest' openhab_client = openhab.openHAB(openhab_url) if datetime.date.today() in holidays.Norway(): openhab_client.get_item('Helg').state = 'ON' Kjører det via serveren sin crontab hver midnatt. 2 1 Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
Moskus Skrevet 7. mars 2019 Del Skrevet 7. mars 2019 Python gjør sånt bare altfor lett! 2 Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
NilsOF Skrevet 26. januar 2021 Del Skrevet 26. januar 2021 Og sånn ble det seendes ut når en amatør som meg bruker HABApp med logging og bjeller på for å få SwitchItem "Helg" i OpenHAB: import HABApp, logging import datetime import holidays.countries.norway oh_helg_itemnavn = "Helg" class Helg(HABApp.Rule): def __init__(self): super().__init__() self.log = logging.getLogger('HABApp') self.log.info('Helg regel: startet') self.oppdater_oh_item() self.run_on_every_day(datetime.time(hour=0,minute=0), self.oppdater_oh_item) self.run_hourly(self.oppdater_oh_item) def oppdater_oh_item(self): hour = datetime.datetime.now().hour minute = datetime.datetime.now().minute if self.oh.item_exists(oh_helg_itemnavn): if datetime.date.today() in holidays.Norway(): self.oh.send_command(oh_helg_itemnavn, "ON") if hour == 0 and minute == 0: self.log.info("Helg regel: Jammen ble det helg igjen!") else: self.oh.send_command(oh_helg_itemnavn, "OFF") if hour == 0 and minute == 0: self.log.info("Helg regel: Nope! Atter en vanlig arbeidsdag.") else: self.log.error(f"Helg regel: OH Item {oh_helg_itemnavn} finnes ikke!") Helg() 1 Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.