Ich habe eine Viessmann Vitronic 150 KB1 und diese müsste glaube ich somit nach OpenV auch grundsätzlich per V-Optokopf steuerbar sein.
leider fehlt mir derzeit die Zeit für diese Schnittstelle und die SW-Installationen.
Ich würde aber sehr gerne testen / das Plugin nutzen / unterstützen…. Es wäre schon ein Traum, die zentrale Heizung vor der Urlaubsrückkehr einschalten zu können oder manuell eine Leggionellen-Schaltung per shNG nachzurüsten und damit die Warmwasser-Temp reduzieren zu können.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Viessmann Plugin Neuentwicklung Python Hilfe
Einklappen
X
-
So, ich habe das Plugin nochmal überarbeitet und das Webif funktional gemacht. Aktueller Stand ist im PR.
Es benötigt den aktuell(s)ten Develop-code (Stand heute), damit das alles funktioniert. Es wäre super, wenn das mal ein oder zwei Leute testen könnten.
Wenn man keine Items, sondern nur den serialport konfiguriert, kann man - Verbindung vorausgesetzt - im Webif den einzigen Befehl manuell starten, den es immer gibt - den Anlagentyp abfragen. Im Standalone-Modul geht das von der Kommandozeile aus, dabei werden auch P300 und KW durchprobiert. Ich glaube aber, dass das so für zukünftige Nutzung reichen sollte...?
Die Anpassung der structs bedarf ggf. einer Anpassung der Item-Referenzen, im Prinzip braucht man nur noch "struct: viessmann.MODEL" angeben.
Bei Bedarf könnte ich noch Structs zur "alten" Struktur anbieten...
- Likes 1
Einen Kommentar schreiben:
-
Falls jemand Interesse hast: ich habe das viessmann-Plugin mal versucht, auf sdp zu portieren. Vielleicht findet sich ein interessierter Tester, ich kann immer nur an meiner Anlage testen, und die "kann" (braucht) nicht alle Funktionen...
PR ist offen, Daten sind in meinem Repo, branch "viessmann" (no shit...)
- Likes 1
Einen Kommentar schreiben:
-
Dann bau dir mehr Debugmeldungen ein, insbesondere in die cyclic-Schleife. Du willst wissen, ob und wie lange der Scheduler beim ersten Mal läuft und wann er fertig ist. (< 30 Sekunden!)
Einen Kommentar schreiben:
-
Die kannst Du in das Plugin bei Dir selbst einbauen. Du findest in der init.py genügend Beispiele, wie das geht.Zitat von TCr82 Beitrag anzeigenIch vermute da müsste man aber irgendwo mehr DEBUG Meldungen einbauen, da an den aktuellen nicht viel abzulesen ist.
Der die Zeit bis zur nächsten Ausführung wird aus den vom Nutzer angegebenen Pollzeiten in den Items selbst angegeben. Es wird also ermittelt, welches Item den kürzesten Abstand zwischen 2 Abfragen hat und das wird die Lesezyklus. Gelesen werden aber nur die Datenpunkte, die auch Due sind.Zitat von TCr82 Beitrag anzeigenIst es denn normal, dass der Timer so klein ist? Bzw. wird der Sheduler immer wieder neu angelegt oder sollte der auch so immer wieder laufen?
Es kommt mir nämlich so vor, als wenn der Intervall zu klein gewählt wird, weswegen der dann nicht mehr ausgeführt wird.
Einen Kommentar schreiben:
-
Ich vermute da müsste man aber irgendwo mehr DEBUG Meldungen einbauen, da an den aktuellen nicht viel abzulesen ist.
Ist es denn normal, dass der Timer so klein ist? Bzw. wird der Sheduler immer wieder neu angelegt oder sollte der auch so immer wieder laufen?
Es kommt mir nämlich so vor, als wenn der Intervall zu klein gewählt wird, weswegen der dann nicht mehr ausgeführt wird.
Ich schrieb ja, dass die nächste Ausführung schon längst vorbei ist und eben nicht abgearbeitet wurde.
Wenn ich jetzt drauf sehe, steht da immer noch:
viessmann.cyclic 2022-12-25 12:03:43+01005 None {30: 30}
Das Datum und die Zeit hat sich also nicht geändert (seid dem letzten Neustart)....
2022-12-25 12:03:12 NOTICE lib.smarthome -------------------- SmartHomeNG initialization finished --------------------
Zuletzt geändert von TCr82; 27.12.2022, 22:43.
Einen Kommentar schreiben:
-
Das habe ich auch überlegt, allerdings hieße dass, dass der Scheduler irgendwo stehen bliebe.. das bedarf wohl umfassender Debug-Meldungen...
Einen Kommentar schreiben:
-
Hm. So direkt habe ich da keine Idee. Viessmann läuft hier völlig problemlos und zuverlässig (mit cyclic
)
Der cycle scheint mir auch sinnvoll berechnet...
Einen Patch habe ich nicht (wozu auch...), aber du kannst ja in den Scheduler und ggf. in run oder in die "tieferen" Routinen noch Debug logs einbauen...
Einen Kommentar schreiben:
-
Da sich das Problem ja Konstant nachvollziehen lässt, evtl. hast du ein patch für mehr debug Punkte, um zu sehen, wieso die Items nicht mehr Zyklisch gepollt werden.
Edit:
Ich hab mal an ein paar stellen ein warning loggen lassen, falls was schief laufen sollte:
Aber da wird trotzdem nichts geloggt. Evtl. liegt es einfach daran, dass er den workercycle falsche bestimmt.Code:diff --git a/viessmann/__init__.py b/viessmann/__init__.py index 0d9b2dcb..3dfd6078 100755 --- a/viessmann/__init__.py +++ b/viessmann/__init__.py @@ -665,6 +665,7 @@ class Viessmann(SmartPlugin): Setup the scheduler to handle cyclic read commands and find the proper time for the cycle. ''' if not self.alive: + self.logger.warning(f'exit cyclic callback - I am not alive!') return shortestcycle = -1 @@ -682,6 +683,8 @@ class Viessmann(SmartPlugin): self.scheduler_remove('cyclic') self.scheduler_add('cyclic', self.send_cyclic_cmds, cycle=workercycle, prio=5, offset=0) self.logger.info(f'Added cyclic worker thread ({workercycle} sec cycle). Shortest item update cycle found: {shortestcycle} sec') + else: + self.logger.warning(f'Cannot add cyclic worker thread. Got incorrect shortestcycle!') def _read_initial_values(self): '''
thomas@heizung:/opt/smarthome/plugins/viessmann$ grep cyclic /var/log/smarthome/smarthome-develop.log | tail -n 5
2022-12-23 12:59:23 DEBUG smartplugin viessmann scheduler_get: name = plugins.viessmann.cyclic -- (smartplugin.py:scheduler_get:695)
2022-12-23 12:59:23 DEBUG smartplugin viessmann scheduler_get: name = plugins.viessmann.cyclic -- (smartplugin.py:scheduler_get:695)
2022-12-23 12:59:23 DEBUG smartplugin viessmann scheduler_add: name = plugins.viessmann.cyclic, parameters: prio=5, cycle=30 -- (smartplugin.py:scheduler_add:648)
2022-12-23 12:59:24 INFO __init__ viessmann Added cyclic worker thread (30 sec cycle). Shortest item update cycle found: 60 sec -- (__init__.py:_create_cyclic_scheduler:685)
2022-12-23 12:59:24 INFO __init__ plugins.viessmann.cyclic Triggering cyclic command read -- (__init__.py:send_cyclic_cmds:331)
Im Admin unter Plugin Sheduler steht:Nächste Ausführung ist aber da schon lange vorbei.Scheduler nächste Ausführung Prio Wert Cycle Crontab viessmann.cyclic 2022-12-23 12:59:54+0100 5 None {30: 30} -
Wieso plant er da keinen neuen Zyklus....
Zuletzt geändert von TCr82; 23.12.2022, 13:12.
Einen Kommentar schreiben:
-
Damit meinte ich den Plugin-Scheduler der Regelmäßig die Daten Abruft...Zitat von Morg Beitrag anzeigen- Was meinst du mit "zirkulieren"?
- Steht im Admin-Interface etwas unter den Schedulern?
viessmann.cyclic ist im Plugin-Scheduler gelistet.
Im bin bei beidem (shNG & plugins) im Developer unterwegs.Zitat von Morg Beitrag anzeigen- Welche Versionen von shng, plugins, Viessmann-Plugin benutzt du? Wie sieht die Konfiguration vom Plugin aus?
Code:thomas@heizung:/opt/smarthome$ git log --pretty="%H - %cd" -n 1 d189684acaa818d20b5a3c8b4bff61e7a12edf06 - Tue Nov 1 16:48:48 2022 +0100 thomas@heizung:/opt/smarthome$ cd plugins/ thomas@heizung:/opt/smarthome/plugins$ git log --pretty="%H - %cd" -n 1 f46bcb8cedeb301b473bad0ae978fb0c67fc107e - Mon Nov 7 17:22:45 2022 +0100 thomas@heizung:/opt/smarthome$ grep ^[^#] etc/plugin.yaml %YAML 1.1 --- database: plugin_name: database driver: sqlite3 connect: - database:./var/db/smarthomeng.db - check_same_thread:0 count_logentries: true cli: plugin_name: cli plugin_enabled: false ip: 0.0.0.0 #port: 2323 update: true viessmann: plugin_name: viessmann serialport: /dev/ttyOptolink heating_type: V200KW2 protocol: KW uzsu: plugin_name: uzsu mqtt: plugin_name: mqtt executor: plugin_name: executor thomas@heizung:/opt/smarthome$ grep ^[^#] items/01-viessmann.yaml technik: heizung: LastRead: name: Letztes Update über Viessmann-Plugin type: str mqtt_topic_init: Heizung/LastRead Updaten: name: Update aller Items mit 'viess_update' type: bool cache: true enforce_updates: true autotimer: 1 = false = latest viess_update: 1 mqtt_topic_out: Heizung/Updaten mqtt_topic_in: Heizung/Updaten BAList: type: list viess_ba_list: true Anlage: Typ: name: Anlagentyp type: str viess_read: Anlagentyp viess_init: true mqtt_topic_out: Heizung/Anlage/Typ Softwareindex: name: Anlagentyp type: num viess_read: AnlagenSoftwareIndex viess_init: true mqtt_topic_out: Heizung/Anlage/Softwareindex Schema: name: Anlagenschema type: str viess_read: Anlagenschema viess_init: true mqtt_topic_out: Heizung/Anlage/Schema Systemzeit: name: Systemzeit der Anlage type: str viess_read: Systemtime viess_read_cycle: 60 viess_init: true viess_send: true mqtt_topic_out: Heizung/Anlage/Zeit Aussen: Temp: name: Aussentemperatur type: num viess_read: Aussentemperatur viess_read_cycle: 300 viess_init: true on_update: technik.heizung.LastRead = str(sh.technik.heizung.Aussen.Temp.last_update()) mqtt_topic_out: Heizung/Aussen/Temp TempDp: name: Aussentemperatur type: num viess_read: Aussentemperatur_Dp viess_read_cycle: 300 viess_init: true mqtt_topic_out: Heizung/Aussen/TempDp Brenner: Stufe: name: Brennerstufe type: num viess_read: Brennerstufe viess_read_cycle: 60 viess_init: true mqtt_topic_out: Heizung/Brenner/AktuelleStufe Starts: name: Brennerstarts type: num viess_read: Brennerstarts viess_read_cycle: 120 viess_init: true viess_send: true mqtt_topic_out: Heizung/Brenner/Starts BetriebsstundenStufe1: name: Brenner Betriebsstunden type: num viess_read: Brenner_BetriebsstundenStufe1 viess_read_cycle: 1800 viess_init: true mqtt_topic_out: Heizung/Brenner/BetriebsstundenStufe1 Status: name: Brennerstatus type: bool viess_read: Brennerstatus_1 viess_read_cycle: 300 viess_init: true mqtt_topic_out: Heizung/Brenner/Status Stoerung: name: Brennerstörung type: bool viess_read: Brennerstoerung viess_read_cycle: 300 viess_init: true mqtt_topic_out: Heizung/Brenner/Stoerung Kessel: TempIst: name: Kesseltemperatur type: num viess_read: Kesseltemperatur viess_read_cycle: 180 viess_init: true mqtt_topic_out: Heizung/Kessel/TempIst TempSoll: name: Kesselsolltemperatur type: num viess_read: Kesselsolltemperatur viess_read_cycle: 300 viess_init: true mqtt_topic_out: Heizung/Kessel/TempSoll WW: Status: name: Warmwasser Status type: num viess_read: Warmwasser_Status viess_read_cycle: 120 viess_init: true mqtt_topic_out: Heizung/WW/Status PumpeSpeicher: name: WW Speicherladepumpe type: bool viess_read: Speicherladepumpe viess_read_cycle: 60 viess_init: true mqtt_topic_out: Heizung/WW/PumpeSpeicher TempIst: name: Warmwassertemperatur type: num viess_read: Warmwasser_Temperatur viess_read_cycle: 120 viess_init: true mqtt_topic_out: Heizung/WW/TempIst enforce_updates: yes TempSoll: name: Warmwasser_Solltemperatur type: num viess_read: Warmwasser_Solltemperatur viess_read_cycle: 300 viess_init: true viess_send: true mqtt_topic_out: Heizung/WW/TempSoll mqtt_topic_in: Heizung/WW/TempSoll enforce_updates: yes TempSollAktuell: name: Warmwasser Solltemperatur aktuell type: num viess_read: Warmwasser_SolltemperaturAktuell viess_read_cycle: 300 viess_init: true mqtt_topic_out: Heizung/WW/TempSollAktuell Schaltzeiten: name: WW Schaltzeiten im UZSU dict Format type: dict viess_timer: Timer_Warmwasser viess_init: true viess_send: true mqtt_topic_init: Heizung/WW/Schaltzeiten mqtt_topic_in: Heizung/WW/Schaltzeiten HK1: Betriebsart_Aktuell: name: HK1 Aktuelle Betriebsart type: str viess_read: Aktuelle_Betriebsart_A1M1 viess_read_cycle: 3600 viess_init: true Betriebsart: name: HK1 Betriebsart type: num viess_read: Betriebsart_A1M1 viess_send: true viess_read_afterwrite: 5 viess_init: true cache: true enforce_updates: true viess_read_cycle: 300 viess_trigger: Aktuelle_Betriebsart_A1M1 struct: viessmann.betriebsart mqtt_topic_out: Heizung/HK1/Betriebsart betriebsart_str: eval: "'Neustart' if value == '' else ['Warmwasser (Schaltzeiten)','reduziert Heizen (dauernd)', 'normal Heizen (dauernd)', 'Heizen und Warmwasser (FS)', 'Heizen und Warmwasser (Schaltzeiten)', 'Standby'][int(value)]" Sparbetrieb: name: HK1 Sparbetrieb type: bool viess_read: Sparbetrieb_A1M1 viess_read_cycle: 60 viess_init: true viess_send: true viess_read_afterwrite: 5 viess_trigger: - Aktuelle_Betriebsart_A1M1 - Betriebsart_A1M1 mqtt_topic_out: Heizung/HK1/Spar mqtt_topic_in: Heizung/HK1/Spar Partybetrieb: name: HK1 Partybetrieb type: bool viess_read: Partybetrieb_A1M1 viess_read_cycle: 60 viess_init: true viess_send: true mqtt_topic_out: Heizung/HK1/Party mqtt_topic_in: Heizung/HK1/Party PartybetriebZeit: name: HK1 Partybetriebszeit in Stunden type: num viess_read: Partybetrieb_A1M1_Zeit viess_read_cycle: 300 viess_init: true viess_send: true mqtt_topic_out: Heizung/HK1/PartyZeit mqtt_topic_in: Heizung/HK1/PartyZeit TempRaumSollAkt: name: HK1 Raum Soll-Temperatur Aktuell type: num #viess_read: Raumtemperatur_Soll_Aktuell_A1M1 #viess_read_cycle: 300 #viess_init: true #mqtt_topic_out: Heizung/HK1/TempRaumSollAkt #mqtt_retain: true TempRaumSollNorm: name: HK1 Raum Soll-Temperatur im Normalbetrieb type: num viess_read: Raumtemperatur_Soll_Normalbetrieb_A1M1 viess_read_cycle: 300 viess_init: true viess_send: true mqtt_topic_out: Heizung/HK1/TempRaumSollNorm mqtt_topic_in: Heizung/HK1/TempRaumSollNorm TempRaumSollRed: name: HK1 Raum Soll-Temperatur im Reduzierbetrieb type: num viess_read: Raumtemperatur_Soll_Red_Betrieb_A1M1 viess_read_cycle: 300 viess_init: true viess_send: true mqtt_topic_out: Heizung/HK1/TempRaumSollRed mqtt_topic_in: Heizung/HK1/TempRaumSollRed TempRaumSollParty: name: HK1 Raum Soll-Temperatur im Partybetrieb type: num viess_read: Raumtemperatur_Soll_Party_Betrieb_A1M1 viess_read_cycle: 300 viess_init: true viess_send: true mqtt_topic_out: Heizung/HK1/TempRaumSollParty mqtt_topic_in: Heizung/HK1/TempRaumSollParty Neigung: name: HK1 Heizkennlinie Neigung type: num viess_read: Neigung_Heizkennlinie_A1M1 viess_init: true viess_send: true mqtt_topic_out: Heizung/HK1/Neigung mqtt_topic_in: Heizung/HK1/Neigung Niveau: name: HK1 Heizkennlinie Niveau type: num viess_read: Niveau_Heizkennlinie_A1M1 viess_init: true viess_send: true mqtt_topic_out: Heizung/HK1/Niveau mqtt_topic_in: Heizung/HK1/Niveau Pumpe: name: HK1 Pumpe type: bool viess_read: Heizkreispumpe_A1M1 viess_read_cycle: 60 viess_init: true mqtt_topic_out: Heizung/HK1/Pumpe Schaltzeiten: name: HK1 Schaltzeiten im UZSU dict Format type: dict viess_timer: Timer_A1M1 viess_init: true viess_send: true mqtt_topic_init: Heizung/HK1/Schaltzeiten mqtt_topic_in: Heizung/HK1/Schaltzeiten HK2: Betriebsart_Aktuell: name: HK2 Aktuelle Betriebsart type: str viess_read: Aktuelle_Betriebsart_M2 viess_read_cycle: 3600 viess_init: true Betriebsart: name: HK2 Betriebsart type: num viess_read: Betriebsart_M2 viess_send: true viess_read_afterwrite: 5 viess_init: true cache: true enforce_updates: true viess_read_cycle: 300 viess_trigger: Aktuelle_Betriebsart_M2 struct: viessmann.betriebsart mqtt_topic_out: Heizung/HK2/Betriebsart betriebsart_str: eval: "'Neustart' if value == '' else ['Warmwasser (Schaltzeiten)','reduziert Heizen (dauernd)', 'normal Heizen (dauernd)', 'Heizen und Warmwasser (FS)', 'Heizen und Warmwasser (Schaltzeiten)', 'Standby'][int(value)]" Sparbetrieb: name: HK2 Sparbetrieb type: bool viess_read: Sparbetrieb_M2 viess_read_cycle: 60 viess_init: true viess_send: true viess_read_afterwrite: 5 viess_trigger: - Aktuelle_Betriebsart_M2 - Betriebsart_M2 mqtt_topic_out: Heizung/HK2/Spar mqtt_topic_in: Heizung/HK2/Spar Partybetrieb: name: HK2 Partybetrieb type: bool viess_read: Partybetrieb_M2 viess_read_cycle: 60 viess_init: true viess_send: true mqtt_topic_out: Heizung/HK2/Party mqtt_topic_in: Heizung/HK2/Party PartybetriebZeit: name: HK2 Partybetriebszeit in Stunden type: num viess_read: Partybetrieb_M2_Zeit viess_read_cycle: 300 viess_init: true viess_send: true mqtt_topic_out: Heizung/HK2/PartyZeit mqtt_topic_in: Heizung/HK2/PartyZeit TempRaumSollAkt: name: HK2 Raum Soll-Temperatur Aktuell type: num #viess_read: Raumtemperatur_Soll_Aktuell_M2 #viess_read_cycle: 300 #viess_init: true #mqtt_topic_out: Heizung/HK2/TempRaumSollAkt #mqtt_retain: true TempRaumSollNorm: name: HK2 Raum Soll-Temperatur im Normalbetrieb type: num viess_read: Raumtemperatur_Soll_Normalbetrieb_M2 viess_read_cycle: 300 viess_init: true viess_send: true mqtt_topic_out: Heizung/HK2/TempRaumSollNorm mqtt_topic_in: Heizung/HK2/TempRaumSollNorm TempRaumSollRed: name: HK2 Raum Soll-Temperatur im Reduzierbetrieb type: num viess_read: Raumtemperatur_Soll_Red_Betrieb_M2 viess_read_cycle: 300 viess_init: true viess_send: true mqtt_topic_out: Heizung/HK2/TempRaumSollRed mqtt_topic_in: Heizung/HK2/TempRaumSollRed TempRaumSollParty: name: HK2 Raum Soll-Temperatur im Partybetrieb type: num viess_read: Raumtemperatur_Soll_Party_Betrieb_M2 viess_read_cycle: 300 viess_init: true viess_send: true mqtt_topic_out: Heizung/HK2/TempRaumSollParty mqtt_topic_in: Heizung/HK2/TempRaumSollParty TempVLIst: name: HK2 Vorlauf-Ist-Temperatur type: num viess_read: Vorlauftemperatur_M2 viess_read_cycle: 180 viess_init: true mqtt_topic_out: Heizung/HK2/TempVLIst TempVLSoll: name: HK2 Vorlauf-Soll-Temperatur type: num viess_read_out: Vorlauftemperatur_Soll_M2 viess_read_in: Vorlauftemperatur_Soll_M2 viess_read_cycle: 300 viess_init: true mqtt_topic_out: Heizung/HK2/TempVLSoll Neigung: name: HK2 Heizkennlinie Neigung type: num viess_read: Neigung_Heizkennlinie_M2 viess_init: true viess_send: true mqtt_topic_out: Heizung/HK2/Neigung mqtt_topic_in: Heizung/HK2/Neigung Niveau: name: HK2 Heizkennlinie Niveau type: num viess_read: Niveau_Heizkennlinie_M2 viess_init: true viess_send: true mqtt_topic_out: Heizung/HK2/Niveau mqtt_topic_in: Heizung/HK2/Niveau Pumpe: name: HK2 Pumpe type: bool viess_read: Heizkreispumpe_M2 viess_read_cycle: 60 viess_init: true mqtt_topic_out: Heizung/HK2/Pumpe Mischer: name: HK2 Mischer type: num viess_read: MischerM2 viess_read_cycle: 180 viess_init: true mqtt_topic_out: Heizung/HK2/Mischer Schaltzeiten: name: HK2 Schaltzeiten im UZSU dict Format type: dict viess_timer: Timer_M2 viess_init: true viess_send: true mqtt_topic_init: Heizung/HK2/Schaltzeiten mqtt_topic_in: Heizung/HK2/Schaltzeiten StatusKlemme2: name: Status Klemme 2 type: num viess_read: StatusKlemme2 viess_read_cycle: 300 viess_init: true Stoerungen: Sammelstoerung: name: Sammelstoerung type: num viess_read: Sammelstoerung viess_read_cycle: 3600 viess_init: true Error_1: name: Fehlerhistory Eintrag 1 type: foo viess_read: Error0 viess_read_cycle: 3600 viess_init: true Error_2: name: Fehlerhistory Eintrag 2 type: foo viess_read: Error1 viess_read_cycle: 3600 viess_init: true Da passiert halt nichts mehr, bis nach einem Neustart.Zitat von Morg Beitrag anzeigen- Was passiert nach dem zweiten Log?
Einen Kommentar schreiben:
-
- Was meinst du mit "zirkulieren"?
- Welche Versionen von shng, plugins, Viessmann-Plugin benutzt du? Wie sieht die Konfiguration vom Plugin aus?
- Steht im Admin-Interface etwas unter den Schedulern?
- Was passiert nach dem zweiten Log?
Einen Kommentar schreiben:
-
Wie ich mir dachte, da ist nichts daran zu erkennen, es hört einfach auf:
Ein manuelles Lesen über das Webinterface macht er aber noch, ohne den IO error.2022-12-21 17:43:48 DEBUG __init__ viessmann Starting sync loop - attempt 1/5 -- (__init__.py:_KW_get_sync:889)
2022-12-21 17:43:50 DEBUG __init__ viessmann Starting sync loop - attempt 2/5 -- (__init__.py:_KW_get_sync:889)
2022-12-21 17:43:50 DEBUG __init__ viessmann Got sync. Commencing command send -- (__init__.py:_KW_get_sync:896)
2022-12-21 17:43:50 DEBUG __init__ viessmann Successfully sent packet: 01f7302808 -- (__init__.py:_send_command_packet:942)
2022-12-21 17:43:50 DEBUG __init__ viessmann Trying to receive 8 bytes of the response -- (__init__.py:_send_command_packet:952)
2022-12-21 17:43:50 DEBUG __init__ viessmann Received 8 bytes chunk of response as hexstring 182030b0b8ffffff and as bytes b'\x18 0\xb0\xb8\xff\xff\xff' -- (__init__.py:_send_command_packet:976)
2022-12-21 17:43:50 DEBUG __init__ viessmann Response decoded to: commandcode: 3028, responsedatacode: 1, valuebytecount: 8, responsetypecode: 1 -- (__init__.py:_parse_response:1413)
2022-12-21 17:43:50 DEBUG __init__ viessmann Rawdatabytes formatted: 182030b0b8ffffff and unformatted: bytearray(b'\x18 0\xb0\xb8\xff\xff\xff') -- (__init__.py:_parse_response:1414)
2022-12-21 17:43:50 DEBUG __init__ viessmann Matched command Timer_M2_Sa and read transformed timer [{'An': '03:00', 'Aus': '04:00'}, {'An': '06:00', 'Aus': '22:00'}, {'An': '23:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus'
: '00:00'}] and byte length 8 -- (__init__.py:_parse_response:1443)
2022-12-21 17:43:50 DEBUG __init__ viessmann process_response_timer: 3028 -- (__init__.py:_process_response:1134)
2022-12-21 17:43:50 DEBUG __init__ viessmann Viessmann timer dict: {'Timer_Warmwasser': {'Timer_Warmwasser_Mo': [{'An': '04:00', 'Aus': '04:30'}, {'An': '07:30', 'Aus': '09:00'}, {'An': '14:30', 'Aus': '15:00'}, {'An': '1
7:00', 'Aus': '22:00'}], 'Timer_Warmwasser_Di': [{'An': '04:00', 'Aus': '04:30'}, {'An': '07:30', 'Aus': '09:00'}, {'An': '14:30', 'Aus': '15:00'}, {'An': '17:00', 'Aus': '22:00'}], 'Timer_Warmwasser_Mi': [{'An': '04:00', 'Aus': '04:30'
}, {'An': '07:30', 'Aus': '09:00'}, {'An': '14:30', 'Aus': '15:00'}, {'An': '17:00', 'Aus': '22:00'}], 'Timer_Warmwasser_Do': [{'An': '04:00', 'Aus': '04:30'}, {'An': '07:30', 'Aus': '09:00'}, {'An': '14:30', 'Aus': '15:00'}, {'An': '17
:00', 'Aus': '22:00'}], 'Timer_Warmwasser_Fr': [{'An': '04:00', 'Aus': '04:30'}, {'An': '07:30', 'Aus': '09:00'}, {'An': '14:30', 'Aus': '15:00'}, {'An': '17:00', 'Aus': '22:00'}], 'Timer_Warmwasser_Sa': [{'An': '04:00', 'Aus': '04:30'}
, {'An': '07:30', 'Aus': '09:00'}, {'An': '14:30', 'Aus': '15:00'}, {'An': '17:00', 'Aus': '22:00'}], 'Timer_Warmwasser_So': [{'An': '04:00', 'Aus': '04:30'}, {'An': '07:30', 'Aus': '09:00'}, {'An': '14:30', 'Aus': '15:00'}, {'An': '17:
00', 'Aus': '22:00'}]}, 'Timer_A1M1': {'Timer_A1M1_Mo': [{'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_A1M1_Di': [{'An': '00:00', 'Aus': '00:0
0'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_A1M1_Mi': [{'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00'
, 'Aus': '00:00'}], 'Timer_A1M1_Do': [{'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_A1M1_Fr': [{'An': '00:00', 'Aus': '00:00'}, {'An': '00:00'
, 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_A1M1_Sa': [{'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}],
'Timer_A1M1_So': [{'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}]}, 'Timer_M2': {'Timer_M2_Mo': [{'An': '03:00', 'Aus': '04:00'}, {'An': '06:00', 'Aus'
: '22:00'}, {'An': '23:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_M2_Di': [{'An': '03:00', 'Aus': '04:00'}, {'An': '06:00', 'Aus': '22:00'}, {'An': '23:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_M
2_Mi': [{'An': '03:00', 'Aus': '04:00'}, {'An': '06:00', 'Aus': '22:00'}, {'An': '23:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_M2_Do': [{'An': '03:00', 'Aus': '04:00'}, {'An': '06:00', 'Aus': '22:00'}, {'An': '23:00
', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_M2_Fr': [{'An': '03:00', 'Aus': '04:00'}, {'An': '06:00', 'Aus': '22:00'}, {'An': '23:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_M2_Sa': [{'An': '03:00', '
Aus': '04:00'}, {'An': '06:00', 'Aus': '22:00'}, {'An': '23:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}]}} -- (__init__.py:_process_response:1146)
2022-12-21 17:43:50 DEBUG __init__ viessmann send_timer_commands Timer_M2_So -- (__init__.py:_read_timers:720)
2022-12-21 17:43:50 DEBUG __init__ viessmann Got a new read job: Command Timer_M2_So -- (__init__.py:_send_command:741)
2022-12-21 17:43:50 DEBUG __init__ viessmann Build read packet for command Timer_M2_So -- (__init__.py:_build_command_packet:1293)
2022-12-21 17:43:50 DEBUG __init__ viessmann Created command Timer_M2_So to be sent as hexstring: 01f7303008 and as bytes: bytearray(b'\x01\xf700\x08') -- (__init__.py:_build_command_packet:1349)
2022-12-21 17:43:50 DEBUG __init__ viessmann Starting sync loop - attempt 1/5 -- (__init__.py:_KW_get_sync:889)
2022-12-21 17:43:52 DEBUG __init__ viessmann Starting sync loop - attempt 2/5 -- (__init__.py:_KW_get_sync:889)
2022-12-21 17:43:52 DEBUG __init__ viessmann Got sync. Commencing command send -- (__init__.py:_KW_get_sync:896)
2022-12-21 17:43:52 DEBUG __init__ viessmann Successfully sent packet: 01f7303008 -- (__init__.py:_send_command_packet:942)
2022-12-21 17:43:52 DEBUG __init__ viessmann Trying to receive 8 bytes of the response -- (__init__.py:_send_command_packet:952)
2022-12-21 17:43:52 DEBUG __init__ viessmann Received 8 bytes chunk of response as hexstring 182030b0b8ffffff and as bytes b'\x18 0\xb0\xb8\xff\xff\xff' -- (__init__.py:_send_command_packet:976)
2022-12-21 17:43:52 DEBUG __init__ viessmann Response decoded to: commandcode: 3030, responsedatacode: 1, valuebytecount: 8, responsetypecode: 1 -- (__init__.py:_parse_response:1413)
2022-12-21 17:43:52 DEBUG __init__ viessmann Rawdatabytes formatted: 182030b0b8ffffff and unformatted: bytearray(b'\x18 0\xb0\xb8\xff\xff\xff') -- (__init__.py:_parse_response:1414)
2022-12-21 17:43:52 DEBUG __init__ viessmann Matched command Timer_M2_So and read transformed timer [{'An': '03:00', 'Aus': '04:00'}, {'An': '06:00', 'Aus': '22:00'}, {'An': '23:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus'
: '00:00'}] and byte length 8 -- (__init__.py:_parse_response:1443)
2022-12-21 17:43:52 DEBUG __init__ viessmann process_response_timer: 3030 -- (__init__.py:_process_response:1134)
2022-12-21 17:43:52 DEBUG __init__ viessmann Viessmann timer dict: {'Timer_Warmwasser': {'Timer_Warmwasser_Mo': [{'An': '04:00', 'Aus': '04:30'}, {'An': '07:30', 'Aus': '09:00'}, {'An': '14:30', 'Aus': '15:00'}, {'An': '1
7:00', 'Aus': '22:00'}], 'Timer_Warmwasser_Di': [{'An': '04:00', 'Aus': '04:30'}, {'An': '07:30', 'Aus': '09:00'}, {'An': '14:30', 'Aus': '15:00'}, {'An': '17:00', 'Aus': '22:00'}], 'Timer_Warmwasser_Mi': [{'An': '04:00', 'Aus': '04:30'
}, {'An': '07:30', 'Aus': '09:00'}, {'An': '14:30', 'Aus': '15:00'}, {'An': '17:00', 'Aus': '22:00'}], 'Timer_Warmwasser_Do': [{'An': '04:00', 'Aus': '04:30'}, {'An': '07:30', 'Aus': '09:00'}, {'An': '14:30', 'Aus': '15:00'}, {'An': '17
:00', 'Aus': '22:00'}], 'Timer_Warmwasser_Fr': [{'An': '04:00', 'Aus': '04:30'}, {'An': '07:30', 'Aus': '09:00'}, {'An': '14:30', 'Aus': '15:00'}, {'An': '17:00', 'Aus': '22:00'}], 'Timer_Warmwasser_Sa': [{'An': '04:00', 'Aus': '04:30'}
, {'An': '07:30', 'Aus': '09:00'}, {'An': '14:30', 'Aus': '15:00'}, {'An': '17:00', 'Aus': '22:00'}], 'Timer_Warmwasser_So': [{'An': '04:00', 'Aus': '04:30'}, {'An': '07:30', 'Aus': '09:00'}, {'An': '14:30', 'Aus': '15:00'}, {'An': '17:
00', 'Aus': '22:00'}]}, 'Timer_A1M1': {'Timer_A1M1_Mo': [{'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_A1M1_Di': [{'An': '00:00', 'Aus': '00:0
0'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_A1M1_Mi': [{'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00'
, 'Aus': '00:00'}], 'Timer_A1M1_Do': [{'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_A1M1_Fr': [{'An': '00:00', 'Aus': '00:00'}, {'An': '00:00'
, 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_A1M1_Sa': [{'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}],
'Timer_A1M1_So': [{'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}]}, 'Timer_M2': {'Timer_M2_Mo': [{'An': '03:00', 'Aus': '04:00'}, {'An': '06:00', 'Aus'
: '22:00'}, {'An': '23:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_M2_Di': [{'An': '03:00', 'Aus': '04:00'}, {'An': '06:00', 'Aus': '22:00'}, {'An': '23:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_M
2_Mi': [{'An': '03:00', 'Aus': '04:00'}, {'An': '06:00', 'Aus': '22:00'}, {'An': '23:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_M2_Do': [{'An': '03:00', 'Aus': '04:00'}, {'An': '06:00', 'Aus': '22:00'}, {'An': '23:00
', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_M2_Fr': [{'An': '03:00', 'Aus': '04:00'}, {'An': '06:00', 'Aus': '22:00'}, {'An': '23:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_M2_Sa': [{'An': '03:00', '
Aus': '04:00'}, {'An': '06:00', 'Aus': '22:00'}, {'An': '23:00', 'Aus': '00:00'}, {'An': '00:00', 'Aus': '00:00'}], 'Timer_M2_So': [{'An': '03:00', 'Aus': '04:00'}, {'An': '06:00', 'Aus': '22:00'}, {'An': '23:00', 'Aus': '00:00'}, {'An'
: '00:00', 'Aus': '00:00'}]}} -- (__init__.py:_process_response:1146)
2022-12-21 17:43:52 DEBUG __init__ viessmann Timer Readout done = True -- (__init__.py:_read_timers:723)
2022-12-21 17:43:52 DEBUG __init__ viessmann Viessmann timer dict for UZSU: {'Timer_Warmwasser': {'04:00': {1: ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU']}, '04:30': {0: ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU']}, '07:30'
: {1: ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU']}, '09:00': {0: ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU']}, '14:30': {1: ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU']}, '15:00': {0: ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU']}, '17:00': {1
: ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU']}, '22:00': {0: ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU']}}, 'Timer_A1M1': {}, 'Timer_M2': {'03:00': {1: ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU']}, '04:00': {0: ['MO', 'TU', 'WE', 'TH', 'FR
', 'SA', 'SU']}, '06:00': {1: ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU']}, '22:00': {0: ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU']}, '23:00': {1: ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU']}}} -- (__init__.py:_viess_dict_to_uzsu_dict:1
540)
Zuletzt geändert von TCr82; 21.12.2022, 17:55.
Einen Kommentar schreiben:
-
Hi Morg,
ich hab ja irgendwann im November shNG mal wieder komplett aktualisiert. Auf jeden Fall ist mir aufgefallen, dass das Plugin immer aufhört zu Zirkulieren. Keine Ahnung ob das schon vorher so war, auf jeden Fall wollte ich mal nachfragen, ob man da was machen kann. Ich meine mich aber zu erinnern, dass wir schonmal darüber gechattet hatten....
Das Protokoll hört dann einfach auf zu Loggen. shNG läuft aber fleißig weiter (das ist das letzte Protokoll).
Und danach lief noch alles, bis er dann wieder kurz darauf am 2022-12-18 08:57:12.172291+01:00 das letzte mal gearbeitet hat (am Item abgelesen).2022-12-18 08:56:50 NOTICE lib.smarthome -------------------- Init SmartHomeNG v1.9.3.1-d189684a.develop --------------------
2022-12-18 08:56:50 NOTICE lib.smarthome Running in Python interpreter 'v3.9.15 final' in virtual environment, from directory /opt/smarthome
2022-12-18 08:56:50 NOTICE lib.smarthome - on Linux-5.4.0-1077-raspi-armv7l-with-glibc2.31 (pid=27045)
2022-12-18 08:56:50 NOTICE lib.smarthome - Loglevel NOTICE is set to value 31 because handler of root logger is set to level WARNING or higher - Set level of handler 'shng_warnings_file' to 'NOTICE'!
2022-12-18 08:56:54 NOTICE lib.smarthome - Nutze Feiertage für Land 'DE', Provinz 'RP', 1 benutzerdefinierte(r) Feiertag(e) definiert
2022-12-18 08:57:07 WARNING lib.metadata Item 'technik.heizung.HK2.TempVLSoll', attribute 'viess_read_out': Attribute is undefined and has value 'Vorlauftemperatur_Soll_M2' (defined in 01-viessmann.yaml)
2022-12-18 08:57:07 WARNING lib.metadata Item 'technik.heizung.HK2.TempVLSoll', attribute 'viess_read_in': Attribute is undefined and has value 'Vorlauftemperatur_Soll_M2' (defined in 01-viessmann.yaml)
2022-12-18 08:57:08 NOTICE lib.smarthome -------------------- SmartHomeNG initialization finished --------------------
Bis jetzt bin ich immer wieder hingegangen und habe shNG über den Webadmin neu gestartet (Core neustarten).
Aber irgendwie kann es das ja nicht sein.
Ich dachte, probiere ich mal über das Webinterface einen Wert zu lesen. Dann erscheint folgendes im Protokoll:
Wenn ich dann aber über "Core neu starten" shNG neu starte, läuft es wieder. Er scheint sich da irgendwie zu verschlucken.2022-12-21 17:22:22 ERROR plugins.viessmann send_command_packet failed with IO error: IO Error: write failed: [Errno 5] Input/output error
2022-12-21 17:22:22 ERROR plugins.viessmann Trying to reconnect (disconnecting, connecting
EDIT: Ich hab jetzt mal wieder DEBUG aktiviert. Ich meine es schmierte ja so immer kurz danach ab. Mal schauen was man da erkennen kann.
Zuletzt geändert von TCr82; 21.12.2022, 17:43.
Einen Kommentar schreiben:
-
Ja, da weiß ich auch nicht, wieso das nicht drin ist. Ich hab es bei mir ja beides gleichzeitig geändert, sonst wäre es nicht gelaufen. Wieso das nicht im Repo angekommen ist, kann ich nicht sagen.
Im Develop habe ich es gepusht, aber du kannst es auch per Hand anpassen.
Einen Kommentar schreiben:


Einen Kommentar schreiben: