Ankündigung

Einklappen
Keine Ankündigung bisher.

Viessmann Plugin Neuentwicklung Python Hilfe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Hi,

    erstmal danke fürs Testen. Da du anscheinend derzeit der Einzige mit einer "echten" (Nur-)KW-Anlage bist, muss das eben alles bei dir gegengeprüft werden

    Die "Sync not acquired..." heißen nur, dass er innerhalb von 5x (1,5 + 1) Sekunden immer noch keine 0x05 identifizieren konnte. Wenn das mal vorkommt, ist das total unproblematisch (allerdings überspringt er dann den einzelnen Wert, der wird verworfen). Wenn das dauerhaft auftritt, dann müsste man mal schauen, was oder ob da was anderes schief läuft. Dann gibts aber auch keine Daten mehr...

    Wie ist das bei dir, sporadisch einzeln, sporadisch in Rudeln oder ständig dazwischen? Vielleicht müssen wir dann das Timing noch etwas verbessern... und ist das von Anfang an so, oder passiert das "irgendwann" (nach einer bestimmten Zeit?)

    Der zweite Punkt sind die "cyclic"-Meldungen. Die heißen, dass die letzte periodische Abfrage noch nicht abgeschlossen ist, während die nächste schon angestoßen wird. Da die alte noch läuft, verwirft er die "neue".

    Dass die alte noch läuft, kann mehrere Gründe haben. Bei dir im Log ist der Grund offensichtlich, dass er sich zu Tode wartet, weil er keine Sync-Signale findet. Dann dauert das natürlich.

    Ansonsten kann es sein, dass er die Verbindung verloren hat und es dauert, bis er das merkt. Oder es sind einfach zu viele Items in einer zu kurzen Schleifenzeit angegeben.

    Bei mir (allerdings P300) sind es 21 Items, für die er "normalerweise" ca. 4,5 Sekunden braucht; nur so als Referenz. Beim KW-Protokoll musst du pro Wert mindestens 1,5 Sekunden rechnen, also längere Zeit im cycle lassen, oder weniger Werte abfragen.


    Zu der commands.py: kannst du mir einfach die neue Datei schicken? Oder einen PR auf mein Repo machen?


    Die angehängte Datei lässt sich nicht herunterladen, da ist wohl was schiefgelaufen...

    Hast du mal ein Debug-Log, wo er die %-Werte ausliest?

    Gruß
    Sebastian

    PS: das hat aus meiner Sicht her keine Eile. Wenn wir mit dir mit Testen so weit sind, dass wir alle zufrieden schauen, dann gebe ich das ans shng-Repo weiter für den nächsten Releasezyklus oder so

    Vielleicht gehe ich aber noch hin und baue eine Routine ein, dass er die cyclic-Werte nicht "einzeln" abfragt, sondern alle hintereinander weg. Dafür muss aber die normale Abfrage erstmal zuverlässig laufen...

    Kommentar


      Zitat von Morg Beitrag anzeigen
      Wie ist das bei dir, sporadisch einzeln, sporadisch in Rudeln oder ständig dazwischen? Vielleicht müssen wir dann das Timing noch etwas verbessern... und ist das von Anfang an so, oder passiert das "irgendwann" (nach einer bestimmten Zeit?)
      ne, das kam schon von Anfang an und immer wieder.

      Kann da auch gerne mal ein Debug Log über X Minuten laufen lassen und anhängen. Gibt mir kurz nochmal bescheid wie lange für dich interessant/nützlich ist.

      Zitat von Morg Beitrag anzeigen
      ... also längere Zeit im cycle lassen, oder weniger Werte abfragen.
      Ich kann das gerne mal hochdrehen. Aber er bekommt ja alle.

      Zitat von Morg Beitrag anzeigen
      Zu der commands.py: kannst du mir einfach die neue Datei schicken? Oder einen PR auf mein Repo machen?
      Ja, kann ich gerne machen. Wobei es ja so noch nicht fertig ist.

      Zitat von Morg Beitrag anzeigen
      Die angehängte Datei lässt sich nicht herunterladen, da ist wohl was schiefgelaufen...
      Ja, ich hatte es nochmal umbenannt und deswegen gelöscht und nochmal neu hochgeladen - das muss sich bestimmt überschnitten haben.
      Angehängte Dateien
      Zuletzt geändert von TCr82; 17.12.2020, 21:06.

      Kommentar


        Zitat von TCr82 Beitrag anzeigen
        ne, das kam schon von Anfang an und immer wieder.
        Wenn es sich wieder fängt, dann ist es nicht so schlimm. Schöner wärs, wenn der Sync stabiler wäre, aber das kann ich hier eben nicht testen.

        Kann da auch gerne mal ein Debug Log über X Minuten laufen lassen und anhängen. Gibt mir kurz nochmal bescheid wie lange für dich interessant/nützlich ist.
        Ne, ich bräuchte mal ein Debuglog, wenn er den Mischerwert liest.

        Aber in deiner jetzigen Konfiguration kann das nicht klappen. IU100 mit Länge 1 ist ein Byte, also 0-255, und das wird durch 100 geteilt. Also kann er Werte von 0 bis 2,55 ausgeben, das funktioniert nicht für Prozent.

        Im Original (in deiner vcontrold-Konfiguration) ist das ein skaliertes Byte, also Werte der Heizung zwischen 0 und 255 müssen auf 0..100 umgerechnet werden. Das ist derzeit als Unit noch nicht vorhanden, dafür muss ich nochmal den Code anpassen.

        Aus dem Debuglog sollte sich aber ergeben, ob das halbwegs passt. Teile die Werte einfach durch 2.5 (bzw. 2.55), dann hast du die Prozentwerte.

        Gibt mal bitte Bescheid, ob das passt.

        Kommentar


          Nachtrag:

          Ich habe eine neue Einheit "IUPR" eingefügt, die den passenden Werteumfang abbildet und diese für den Mischer gesetzt. Wenn du die aktuelle Version nochmal von github holst, kannst du das probieren.

          Kommentar


            So, ich hab zwar kein weiteres Feedback bekommen, aber ich wollte doch noch mal...

            Die neue Version 1.2.0 hat jetzt folgende Funktionen:
            • für das KW-Protokoll scheint das Syncing nochmal stabiler geworden zu sein (jedenfalls bei mir); durchgängig teils im ersten, immer im zweiten Versuch
            • für das KW-Protokoll habe ich den Code ergänzt um Routinen zum "bulk"-Lesen von Werten. Die habe ich für den initial_read und den cyclic_read entsprechend eingebaut. Die Lesezeiten im cyclic sind von vorher ca. 40 Sekunden für 21 Items auf ca. 2 Sekunden für 21 Items gesunken und damit in der Größenordnung von P300. Wenn ein Lesefehler auftritt, wird allerdings der gesamte "Zyklus" verworfen, weil sich das nur in einem Rutsch lesen lässt.
            • Der cyclic_read-Code reagiert jetzt schneller darauf, wenn shng beendet wird und hängt sich nicht mehr auf (und startet sich auch nicht selbst wieder neu...)
            • Das Locking habe ich nochmal überarbeitet und etwas "sicherer" gemacht
            • Die Codeanteile, die "normale" Werte in die binären Unit-Werte konvertieren und die aus dem Kommandonamen den entsprechenden Byte-String erzeugen, habe ich ausgelagert und etwas angepasst, damit ich die für die KW-Routinen wiederverwenden kann
            • Das Web-Interface habe ich mal komplett überarbeitet, vereinfacht, Lücken geschlossen und komplett einheitlich de/en übersetzt. Es kann allerdings immer noch nur anzeigen
            Mehr habe ich (noch) nicht geschafft - bzw. vergessen, was ich noch getan hätte Bei mir läuft es sowohl in P300 als auch in KW fehlerfrei.

            Der Code ist im Repo, probiert bitte nochmal aus, insbesondere die KW-Guys

            Kommentar


              Zitat von Morg Beitrag anzeigen
              Der Code ist im Repo, probiert bitte nochmal aus
              Vielen Dank. Test läuft.

              Bzgl des WebIF hätte ich noch die Bitte, dass die Item und auch die Datenpunkte der Reihenfolge nach (Name oder Nummer) sortiert sind. (Ich glaube, dass hatte ich in das alte WebIF auch schon mal eingebaut).

              Beste Grüße

              Kommentar


                Ich habe da im knx Plugin etwas im Webif eingebaut, vielleicht könntet ihr das auch nutzen? Damit lassen sich Spalten sortieren und eine Suche ist auch implementiert.

                Kommentar


                  Michael: an der "Funktionalität", insbesondere den Anteilen im Python-Code, habe ich eigentlich nichts verändert. Hauptsächlich habe ich in der HTML-Datei die ganzen Reste des Beispielcodes entfernt und generell "aufgeräumt", außerdem die ganzen Bezeichnungen in Deutsch eingebracht und die Übersetzungsdatei beigefügt.

                  Ich könnte mich nicht erinnern, dass es "vorher" sortiert war, habe aber auch nicht drauf geachtet.

                  Den Code von Bernd schaue ich mir mal an, wenn ich das verstehe, baue ich das mit ein, dann dürfte sich das ja eh erledigt haben.

                  Kommentar


                    Zitat von Morg Beitrag anzeigen
                    Ich könnte mich nicht erinnern, dass es "vorher" sortiert war, habe aber auch nicht drauf geachtet.
                    Ich glaube, dass ich das dict, welches dem WebIF zugrunde liegt, sortiert hatte.

                    Kommentar


                      Das wird immer noch sortiert - der Code in init_webinterface ist unverändert. Warum die Datenpunkte in der Reihenfolge der Auflistung in der items.yaml auftauchen, kann ich nicht genau sagen... in der Hinsicht ist der Code aber anscheinend gleich zum (z.B.) knx-WebIf...

                      Ich probiere mal aus, wie das mit den datatables geht, die Bernd im knx-Plugin eingebaut hat, vielleicht weiß ich danach mehr.

                      Kommentar


                        Dicts zu sortiern funktioniert erst ab Python 3.6. Vorher ändrte sich die Reihenfolge von Elementen im dict beliebig.
                        Viele Grüße
                        Martin

                        There is no cloud. It's only someone else's computer.

                        Kommentar


                          Mit der letzten Version vom 18.12.2020 hatte ich heute gesehen, dass er ab einer gwissen Zeit gar nichts mehr aktualisiert hatte. Das Log wurde geflutet mit folgenden Meldungen:

                          2020-12-21 02:09:20 ERROR plugins.viessmann send_command failed with error: Exception while sending: (5, 'Input/output error').
                          Ich habe jetzt nochmal die aktuelle Version ausgecheckt und teste nochmal.

                          Das mit den % Werten sieht nicht schlecht aus... aber er zeigt immer 100% an - nur wollte ich nochmal versuchen, dass direkt an der Heizung abzufragen (am Panel) um das zu vergleichen.

                          Die Adresse ist zwar laut Viessmann DB die richte... aber 100% sieht mir nicht ganz richtig aus.

                          Hier mal noch ein Debug log:

                          2020-12-21 07:36:21 INFO __init__ plugins.viessmann.cyclic Triggering cyclic command read -- (__init__.py:send_cyclic_cmds:323)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Triggering cyclic read command: Brennerstufe -- (__init__.py:send_cyclic_cmds:334)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Got a new read job: Command Brennerstufe -- (__init__.py:_send_read_command:530)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Command config: {'addr': '551e', 'len': 1, 'unit': 'RT', 'set': False} -- (__init__.py:_send_read_command:534)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Preparing command Brennerstufe with packet to be sent as hexstring: 01f7551e01 and as bytes: bytearray(b'\x01\xf7U\x1e\x01') -- (__init__.py:_send_read_command:558)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Starting sync loop - attempt 1/5 -- (__init__.py:_get_KW_sync:724)
                          2020-12-21 07:36:21 ERROR __init__ plugins.viessmann.cyclic send_command failed with error: Exception while sending: (5, 'Input/output error'). -- (__init__.py:_send_command:826)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Triggering cyclic read command: Brennerstarts -- (__init__.py:send_cyclic_cmds:334)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Got a new read job: Command Brennerstarts -- (__init__.py:_send_read_command:530)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Command config: {'addr': '088a', 'len': 2, 'unit': 'ISNON', 'set': True, 'min_value': 0, 'max_value': 1193045} -- (__init__.py:_send_read_command:534)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Preparing command Brennerstarts with packet to be sent as hexstring: 01f7088a02 and as bytes: bytearray(b'\x01\xf7\x08\x8a\x02') -- (__init__.py:_send_read_command:558)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Starting sync loop - attempt 1/5 -- (__init__.py:_get_KW_sync:724)
                          2020-12-21 07:36:21 ERROR __init__ plugins.viessmann.cyclic send_command failed with error: Exception while sending: (5, 'Input/output error'). -- (__init__.py:_send_command:826)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Triggering cyclic read command: Brennerstoerung -- (__init__.py:send_cyclic_cmds:334)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Got a new read job: Command Brennerstoerung -- (__init__.py:_send_read_command:530)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Command config: {'addr': '0883', 'len': 1, 'unit': 'RT', 'set': False} -- (__init__.py:_send_read_command:534)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Preparing command Brennerstoerung with packet to be sent as hexstring: 01f7088301 and as bytes: bytearray(b'\x01\xf7\x08\x83\x01') -- (__init__.py:_send_read_command:558)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Starting sync loop - attempt 1/5 -- (__init__.py:_get_KW_sync:724)
                          2020-12-21 07:36:21 ERROR __init__ plugins.viessmann.cyclic send_command failed with error: Exception while sending: (5, 'Input/output error'). -- (__init__.py:_send_command:826)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Triggering cyclic read command: Kesseltemperatur -- (__init__.py:send_cyclic_cmds:334)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Got a new read job: Command Kesseltemperatur -- (__init__.py:_send_read_command:530)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Command config: {'addr': '0802', 'len': 2, 'unit': 'IU10', 'set': False} -- (__init__.py:_send_read_command:534)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Preparing command Kesseltemperatur with packet to be sent as hexstring: 01f7080202 and as bytes: bytearray(b'\x01\xf7\x08\x02\x02') -- (__init__.py:_send_read_command:558)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Starting sync loop - attempt 1/5 -- (__init__.py:_get_KW_sync:724)
                          2020-12-21 07:36:21 ERROR __init__ plugins.viessmann.cyclic send_command failed with error: Exception while sending: (5, 'Input/output error'). -- (__init__.py:_send_command:826)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Triggering cyclic read command: Warmwasser_Temperatur -- (__init__.py:send_cyclic_cmds:334)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Got a new read job: Command Warmwasser_Temperatur -- (__init__.py:_send_read_command:530)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Command config: {'addr': '0804', 'len': 2, 'unit': 'IU10', 'set': False} -- (__init__.py:_send_read_command:534)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Preparing command Warmwasser_Temperatur with packet to be sent as hexstring: 01f7080402 and as bytes: bytearray(b'\x01\xf7\x08\x04\x02') -- (__init__.py:_send_read_command:558)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Starting sync loop - attempt 1/5 -- (__init__.py:_get_KW_sync:724)
                          2020-12-21 07:36:21 ERROR __init__ plugins.viessmann.cyclic send_command failed with error: Exception while sending: (5, 'Input/output error'). -- (__init__.py:_send_command:826)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Triggering cyclic read command: Vorlauftemperatur_M2 -- (__init__.py:send_cyclic_cmds:334)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Got a new read job: Command Vorlauftemperatur_M2 -- (__init__.py:_send_read_command:530)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Command config: {'addr': '080c', 'len': 2, 'unit': 'IU10', 'set': False} -- (__init__.py:_send_read_command:534)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Preparing command Vorlauftemperatur_M2 with packet to be sent as hexstring: 01f7080c02 and as bytes: bytearray(b'\x01\xf7\x08\x0c\x02') -- (__init__.py:_send_read_command:558)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Starting sync loop - attempt 1/5 -- (__init__.py:_get_KW_sync:724)
                          2020-12-21 07:36:21 ERROR __init__ plugins.viessmann.cyclic send_command failed with error: Exception while sending: (5, 'Input/output error'). -- (__init__.py:_send_command:826)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Triggering cyclic read command: Speicherladepumpe -- (__init__.py:send_cyclic_cmds:334)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Got a new read job: Command Speicherladepumpe -- (__init__.py:_send_read_command:530)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Command config: {'addr': '0845', 'len': 1, 'unit': 'IUBOOL', 'set': False} -- (__init__.py:_send_read_command:534)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Preparing command Speicherladepumpe with packet to be sent as hexstring: 01f7084501 and as bytes: bytearray(b'\x01\xf7\x08E\x01') -- (__init__.py:_send_read_command:558)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Starting sync loop - attempt 1/5 -- (__init__.py:_get_KW_sync:724)
                          2020-12-21 07:36:21 ERROR __init__ plugins.viessmann.cyclic send_command failed with error: Exception while sending: (5, 'Input/output error'). -- (__init__.py:_send_command:826)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Triggering cyclic read command: Heizkreispumpe_A1M1 -- (__init__.py:send_cyclic_cmds:334)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Got a new read job: Command Heizkreispumpe_A1M1 -- (__init__.py:_send_read_command:530)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Command config: {'addr': '2906', 'len': 1, 'unit': 'IUBOOL', 'set': False} -- (__init__.py:_send_read_command:534)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Preparing command Heizkreispumpe_A1M1 with packet to be sent as hexstring: 01f7290601 and as bytes: bytearray(b'\x01\xf7)\x06\x01') -- (__init__.py:_send_read_command:558)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Starting sync loop - attempt 1/5 -- (__init__.py:_get_KW_sync:724)
                          2020-12-21 07:36:21 ERROR __init__ plugins.viessmann.cyclic send_command failed with error: Exception while sending: (5, 'Input/output error'). -- (__init__.py:_send_command:826)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Triggering cyclic read command: Heizkreispumpe_M2 -- (__init__.py:send_cyclic_cmds:334)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Got a new read job: Command Heizkreispumpe_M2 -- (__init__.py:_send_read_command:530)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Command config: {'addr': '3906', 'len': 1, 'unit': 'IUINT', 'set': False} -- (__init__.py:_send_read_command:534)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Preparing command Heizkreispumpe_M2 with packet to be sent as hexstring: 01f7390601 and as bytes: bytearray(b'\x01\xf79\x06\x01') -- (__init__.py:_send_read_command:558)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Starting sync loop - attempt 1/5 -- (__init__.py:_get_KW_sync:724)
                          2020-12-21 07:36:21 ERROR __init__ plugins.viessmann.cyclic send_command failed with error: Exception while sending: (5, 'Input/output error'). -- (__init__.py:_send_command:826)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Triggering cyclic read command: MischerM2 -- (__init__.py:send_cyclic_cmds:334)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Got a new read job: Command MischerM2 -- (__init__.py:_send_read_command:530)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Command config: {'addr': '354c', 'len': 1, 'unit': 'IUPR', 'set': False} -- (__init__.py:_send_read_command:534)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Preparing command MischerM2 with packet to be sent as hexstring: 01f7354c01 and as bytes: bytearray(b'\x01\xf75L\x01') -- (__init__.py:_send_read_command:558)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic Starting sync loop - attempt 1/5 -- (__init__.py:_get_KW_sync:724)
                          2020-12-21 07:36:21 ERROR __init__ plugins.viessmann.cyclic send_command failed with error: Exception while sending: (5, 'Input/output error'). -- (__init__.py:_send_command:826)
                          2020-12-21 07:36:21 DEBUG __init__ plugins.viessmann.cyclic cyclic command read took 0.1 seconds for 10 items -- (__init__.py:send_cyclic_cmds:340)
                          EDIT 2:

                          Hier mal noch ein Debug zum Mischer % der aktuellen Version:
                          2020-12-21 09:48:35 DEBUG __init__ plugins.viessmann.cyclic Corresponding Item: technik.heizung.HK2Mischer; Corresponding commandname: MischerM2 -- (__init__.py:_parse_response:1155)
                          2020-12-21 09:48:35 DEBUG __init__ plugins.viessmann.cyclic Unit defined to IUPR with config {'unit_de': 'INT unsigned 2.55', 'type': 'integer', 'signed': False, 'read_value_transform': '2.55'}. -- (__init__.py:_parse_response:1167)
                          2020-12-21 09:48:35 DEBUG __init__ plugins.viessmann.cyclic Matched command MischerM2 and read transformed value 100.0 (integer raw value was 255) and byte length 1. -- (__init__.py:_parse_response:1244)
                          2020-12-21 09:48:35 DEBUG __init__ plugins.viessmann.cyclic Updating item HK2 Mischer with value 100.0 -- (__init__.py:_parse_response:1247)
                          2020-12-21 09:48:35 DEBUG __init__ plugins.viessmann.cyclic Response decoded to: commandcode: 3904, responsedatacode: 1, valuebytecount: 1, responsetypecode: 1 -- (__init__.py:_parse_response:1143)
                          2020-12-21 09:48:35 DEBUG __init__ plugins.viessmann.cyclic Rawdatabytes formatted: 00 and unformatted: bytearray(b'\x00') -- (__init__.py:_parse_response:1144)
                          Zuletzt geändert von TCr82; 21.12.2020, 10:56.

                          Kommentar


                            TCr82 : Wenn du an dem 100%-Wert zweifelst, dann mach ein Debug-Log, dann schaue ich, ob ich was finde.

                            Ein Input/Output-Error heißt eigentlich, dass er nicht mit dem Lesekopf sprechen kann. Stecker lose oder so? Kannst du identifizieren, welche Codezeile das ausgelöst hat? Wenn du hast, schick mir gerne mal ein Log. Vielleicht kann ich die Fehlerbehandlung da noch verbessern.

                            @Michael:
                            So, die Erweiterungen von Bernd sind drin, das sieht echt ganz pfiffig aus. Standardmäßig nach der ersten Spalte sortiert und wahlweise durch Klick beliebig.

                            @Martin:
                            da hast du natürlich Recht. Die Zeile mit dem items=sorted(...) haben alle nur aus dem Plugin-Beispiel fürs WebIF abgeschrieben (wobei ich nicht weiß, ob bei der Übergabe des dicts an das Template ggf. andere Regeln geben, dicts in JS oder so?)

                            Aktualisierte Version ist auf github, Versionsnr. habe ich nicht geändert.

                            Kommentar


                              Ach ja, zum WebIF wollte ich nochwas sagen:

                              Momentan zeigen die zwei Reiter ja eigentlich das selbe an?!

                              Richtig cool wäre, wenn der erste Reiter so bleibt (die eingerichteten Items anzeigt) , aber der zweite Reiter alle definierten Adressen (also Alle Datenpunkte), mit der Aktion den Wert abzufragen/zu schreiben (wenn unterstützt) - also auch ohne shNG Item.

                              Das wäre cool um schneller zu testen oder mal was zu programmieren.

                              Zitat von Morg Beitrag anzeigen
                              Wenn du an dem 100%-Wert zweifelst, dann mach ein Debug-Log, dann schaue ich, ob ich was finde.
                              EDIT: habe eigentlich oben nochmal alles dazu ergänzt.

                              Locker kann der nicht sein, ist das original von Viessmann und nach dem Restart von smarthome lief es auch wieder.
                              Zuletzt geändert von TCr82; 21.12.2020, 11:08.

                              Kommentar


                                @TCr82:

                                Das Log zum Input/Output-Error sieht wie erwartet aus. Ich vermute, dass die serielle Verbindung "hin" ist. Ich schau mal, ob ich da noch eine Prüfung einbauen kann.

                                Mit "locker" kann z.B. ein USB-Stecker oder ein serieller (so verwendet) gemeint sein. Tatsächlich zwischen Rechner und Lesekopf eine unsaubere Verbindung. Dass der Lesekopf kaputt ist, ist selten - und ob er fest in der Heizung steckt oder nicht, ist für den Fehler völlig irrelevant. Vielleicht hat sich auch nur eine Komponente zwischen Plugin und serieller Schnittstelle verschluckt. Habe ich hier so noch nicht gehabt, aber wer weiß.

                                Zu Mischerfehler bräuchte ich mehr Kontext, insbesondere die vorgehenden Zeilen. Am besten ab der Zeile mit "Triggering cyclic read command: MischerM2"... bis zum o.a. Ausschnitt.

                                Zum WebIF: das ist doch mal eine schöne Idee. Schaue ich mir mal an...

                                Kommentar

                                Lädt...
                                X