Ankündigung

Einklappen
Keine Ankündigung bisher.

Viessmann Plugin Neuentwicklung Python Hilfe

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

    Zitat von Morg Beitrag anzeigen
    Dann könnt ihr ja nochmal testen...
    Läuft....

    Fragen / Kommentare (von gestern):
    • Kann ich die die Funktionen "_disconnect" und "_connect" auch von "außen" also über shNG direkt erreichen? Ich möchte in dem Fall eines Abbruches mal händisch einen "Reconnect" machen.
    • Im Code ist mir noch aufgefallen, dass im Falle eines Disconnects der zyklische Scheduler gelöscht wird. Somit gibt es auch kleine zyklischen Abfragen mehr, selbst wenn der reconnect erfolgreich war, oder?
    • Kann über über die Konsole irgendwie rausfinden, ob und wer die serielle Schnittstelle nutzt belegt?

    Kommentar


      Die Methoden sind vom Namen het (beginnend mit Underline sind sie als lokal gekennzeichnet.) nichti dafür gedacht von außen aufgerufen zu werden. (Python Standard) Aufrufen kannst Du sie natürlich.

      Methoden die von außen erreichbar seinsollen, sollten nicht mit Underline beginnen und die Definition des Aufrufs sollte in den Metadaten (plugin.yaml) definiert sein. Dadurch werden diese Methoden auch automatisch in die Doku aufgenommen.
      Viele Grüße
      Martin

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

      Kommentar


        Wie Martin schon geschrieben hat, kannst du _connect und _disconnect z.B. in Logiken direkt aufrufen. Der einfache Unterstrich ist eine Konvention zur Markierung als "protected", also sollte niemand diese Methoden oder Eigenschaften von außerhalb direkt ansprechen (es geht aber, in anderen Programmiersprachen geht es teilweise nicht).

        Den cyclic_scheduler habe ich übersehen, ist im Repo jetzt drin.

        Wenn du mit Konsole eine Shell von Linux meinst: klar geht das.

        lsof /dev/ttyUSB0 (oder wie auch immer dein Device heißt, meins ist /dev/lesekopf-vito, das ist ein Link auf /dev/ttyUSB2):

        Code:
        COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
        python3 2248 sh 18u CHR 188,2 0t0 9556 /dev/ttyUSB2

        Kommentar


          Zitat von Morg Beitrag anzeigen
          Wie Martin schon geschrieben hat, kannst du _connect und _disconnect z.B. in Logiken direkt aufrufen. Der einfache Unterstrich ist eine Konvention zur Markierung als "protected", also sollte niemand diese Methoden oder Eigenschaften von außerhalb direkt ansprechen (es geht aber, in anderen Programmiersprachen geht es teilweise nicht).
          Probier ich dann mal aus, wenn er wieder hängt. Im Moment alles in Butter.

          Zitat von Morg Beitrag anzeigen
          Den cyclic_scheduler habe ich übersehen, ist im Repo jetzt drin.
          Danke

          Zitat von Morg Beitrag anzeigen
          Wenn du mit Konsole eine Shell von Linux meinst: klar geht das.
          lsof /dev/ttyUSB0 (oder wie auch immer dein Device heißt, meins ist /dev/lesekopf-vito, das ist ein Link auf /dev/ttyUSB2):
          Danke.
          Ergebnis:
          Code:
           [smarthome@SmartHomeNG ~]$ lsof /dev/ttyUSB_optolink
          COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
          python3 7629 smarthome 22u CHR 188,2 0t0 3258735 /dev/ttyUSB2

          Kommentar


            Ja. Prozess 7629 (python3) unter User smarthome hat /dev/ttyUSB2 geöffnet. Reicht dir das?

            Kommentar


              Zitat von Morg Beitrag anzeigen
              Prozess 7629 (python3) unter User smarthome hat /dev/ttyUSB2 geöffnet. Reicht dir das?
              Im Moment schon. Vielleicht hilft es, wenn er wieder hängt bzw. die Verbindung nicht mehr da ist.

              Kommentar


                Hallo,

                ich habe die letzte/aktuelle Version von Morg im Test gehabt. Nach 4 Tagen fehlerfrei kam heute mal wieder ein Verbindungsabriss mit dem E/A Fehler. Der Wiederaufbau der Verbindung hat aber geklappt. Die Logs:

                warning:
                Code:
                2020-06-25 18:55:19 ERROR plugins.viessmann send_command failed with IO error: IO Error: write failed: [Errno 5] Eingabe-/Ausgabefehler.
                2020-06-25 18:55:19 ERROR plugins.viessmann Trying to reconnect (disconnecting, connecting
                2020-06-25 18:55:19 ERROR plugins.viessmann Not connected, trying to reconnect.
                2020-06-25 18:55:19 WARNING plugins.viessmann Communication no longer initialized, trying to reestablish.
                details:
                Code:
                2020-06-25 18:55:19 INFO plugins.viessmann send_cyclic_cmds Triggering cyclic read command: Brenner_Betriebsstunden
                2020-06-25 18:55:19 ERROR plugins.viessmann _send_command send_command failed with IO error: IO Error: write failed: [Errno 5] Eingabe-/Ausgabefehler.
                2020-06-25 18:55:19 ERROR plugins.viessmann _send_command Trying to reconnect (disconnecting, connecting
                2020-06-25 18:55:19 INFO plugins.viessmann _disconnect Disconnected
                2020-06-25 18:55:19 INFO plugins.viessmann send_cyclic_cmds Triggering cyclic read command: Aussentemperatur
                2020-06-25 18:55:19 ERROR plugins.viessmann _send_command Not connected, trying to reconnect.
                2020-06-25 18:55:19 INFO plugins.viessmann _connect Connecting ...
                2020-06-25 18:55:19 INFO plugins.viessmann _connect Connected to /dev/ttyUSB_optolink
                2020-06-25 18:55:19 INFO plugins.viessmann _create_cyclic_scheduler Added cyclic worker thread (60 sec cycle). Shortest item update cycle found: 120 sec.
                2020-06-25 18:55:19 WARNING plugins.viessmann _send_command Communication no longer initialized, trying to reestablish.
                2020-06-25 18:55:19 INFO plugins.viessmann _init_communication Init Communication....
                2020-06-25 18:55:19 WARNING plugins.viessmann send_cyclic_cmds Triggered cyclic command read, but previous cyclic run is still active. Check device and cyclic configuration (too much/too short?)
                2020-06-25 18:55:21 INFO plugins.viessmann _init_communication Communication initialized: True
                2020-06-25 18:55:21 INFO plugins.viessmann send_cyclic_cmds Triggering cyclic read command: Kesseltemperatur
                2020-06-25 18:55:21 INFO plugins.viessmann send_cyclic_cmds Triggering cyclic read command: Aussentemperatur_TP
                2020-06-25 18:55:21 INFO plugins.viessmann send_cyclic_cmds Triggering cyclic read command: Abgastemperatur
                develop:
                Code:
                2020-06-25 18:55:19 INFO plugins.viessmann send_cyclic_cmds Triggering cyclic read command: Brenner_Betriebsstunden
                2020-06-25 18:55:19 DEBUG plugins.viessmann _send_read_command Got a new read job: Command Brenner_Betriebsstunden
                2020-06-25 18:55:19 DEBUG plugins.viessmann _send_read_command Command config: {'unit': 'IU3600', 'max_value': 1193045, 'set': True, 'addr': '08a7', 'min_value': 0, 'len': 4}
                2020-06-25 18:55:19 DEBUG plugins.viessmann _send_read_command Preparing command Brenner_Betriebsstunden with packet to be sent as hexstring: 4105000108a704b9 and as bytes: bytearray(b'A\x05\x00\x01\x08\xa7\x04\xb9')
                2020-06-25 18:55:19 ERROR plugins.viessmann _send_command send_command failed with IO error: IO Error: write failed: [Errno 5] Eingabe-/Ausgabefehler.
                2020-06-25 18:55:19 ERROR plugins.viessmann _send_command Trying to reconnect (disconnecting, connecting
                2020-06-25 18:55:19 DEBUG plugins.viessmann scheduler_get scheduler_get: name = plugins.viessmann.cyclic
                2020-06-25 18:55:19 DEBUG plugins.viessmann scheduler_remove scheduler_remove: name = plugins.viessmann.cyclic
                2020-06-25 18:55:19 INFO plugins.viessmann _disconnect Disconnected
                2020-06-25 18:55:19 INFO plugins.viessmann send_cyclic_cmds Triggering cyclic read command: Aussentemperatur
                2020-06-25 18:55:19 DEBUG plugins.viessmann _send_read_command Got a new read job: Command Aussentemperatur
                2020-06-25 18:55:19 DEBUG plugins.viessmann _send_read_command Command config: {'unit': 'IU10', 'addr': '0800', 'len': 2, 'set': False}
                2020-06-25 18:55:19 DEBUG plugins.viessmann _send_read_command Preparing command Aussentemperatur with packet to be sent as hexstring: 4105000108000210 and as bytes: bytearray(b'A\x05\x00\x01\x08\x00\x02\x10')
                2020-06-25 18:55:19 ERROR plugins.viessmann _send_command Not connected, trying to reconnect.
                2020-06-25 18:55:19 INFO plugins.viessmann _connect Connecting ...
                2020-06-25 18:55:19 INFO plugins.viessmann _connect Connected to /dev/ttyUSB_optolink
                2020-06-25 18:55:19 DEBUG plugins.viessmann scheduler_get scheduler_get: name = plugins.viessmann.cyclic
                2020-06-25 18:55:19 DEBUG plugins.viessmann scheduler_get scheduler_get: name = plugins.viessmann.cyclic
                2020-06-25 18:55:19 DEBUG plugins.viessmann scheduler_add scheduler_add: name = plugins.viessmann.cyclic, parameters: prio=5, cycle=60
                2020-06-25 18:55:19 INFO plugins.viessmann _create_cyclic_scheduler Added cyclic worker thread (60 sec cycle). Shortest item update cycle found: 120 sec.
                2020-06-25 18:55:19 WARNING plugins.viessmann _send_command Communication no longer initialized, trying to reestablish.
                2020-06-25 18:55:19 INFO plugins.viessmann _init_communication Init Communication....
                2020-06-25 18:55:19 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                2020-06-25 18:55:19 DEBUG plugins.viessmann _init_communication read_bytes: read b'\x06', last byte is b'\x06'
                2020-06-25 18:55:19 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                2020-06-25 18:55:19 WARNING plugins.viessmann send_cyclic_cmds Triggered cyclic command read, but previous cyclic run is still active. Check device and cyclic configuration (too much/too short?)
                2020-06-25 18:55:20 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                2020-06-25 18:55:20 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                2020-06-25 18:55:21 DEBUG plugins.viessmann _init_communication read_bytes: read b'\x05', last byte is b'\x05'
                2020-06-25 18:55:21 DEBUG plugins.viessmann _init_communication send_bytes: Send sync command b'\x16\x00\x00'
                2020-06-25 18:55:21 DEBUG plugins.viessmann _init_communication read_bytes: read b'\x06', last byte is b'\x06'
                2020-06-25 18:55:21 DEBUG plugins.viessmann _init_communication Device acknowledged initialization
                2020-06-25 18:55:21 INFO plugins.viessmann _init_communication Communication initialized: True
                2020-06-25 18:55:21 DEBUG plugins.viessmann _send_command Successfully sent packet: 4105000108000210
                2020-06-25 18:55:21 DEBUG plugins.viessmann _send_command Trying to receive 11 bytes of the response.
                2020-06-25 18:55:21 DEBUG plugins.viessmann _send_command Received 11 bytes chunk of response as hexstring 0641070101080002e500f8 and as bytes b'\x06A\x07\x01\x01\x08\x00\x02\xe5\x00\xf8'
                2020-06-25 18:55:21 DEBUG plugins.viessmann _parse_response Response decoded to: commandcode: 0800, responsedatacode: 1, valuebytecount: 2
                2020-06-25 18:55:21 DEBUG plugins.viessmann _parse_response Rawdatabytes formatted: e500 and unformatted: bytearray(b'\xe5\x00')
                Ich beobachte weiter.

                Beste Grüße
                Michael

                Kommentar


                  Du hast aber die Heizung nicht ausgehabt? Irgendwo scheint bei dir noch der Wurm drin, den EA-Fehler hatte ich noch nie, nichtmal bei ausgeschalteter Heizung.

                  Gleichzeitig irritiert mich, dass deine cyclic scheduler runs anscheinend hängen - der braucht ja über eine Minute, und selbst (gerade) bei Fehlern sollte das mMn schneller gehen. Das kann ich hier aber nicht nachvollziehen. Selbst mit Timeout braucht er max. 20 Sekunden.

                  Ansonsten sieht das in Bezug auf Recovery schon gut aus; selbst wenn er rausfliegt, erkennt er das, verbindet neu und macht weiter. So soll das ja im Prinzip auch sein. Mich würde echt mal interessieren, ob bei dir ein anderer Lesekopf ggf. anderes Verhalten zeigen würde. Ich hab nur keinen übrig

                  Kommentar


                    Zitat von Morg Beitrag anzeigen
                    Du hast aber die Heizung nicht ausgehabt?
                    Bislang nicht, da der E/A Fehler immer im Betrieb auftrat. Aber eben sporadisch. Ich habe aber den RPI in Verdacht bzw. das sich irgendwelche "Aufgaben" blockieren bzw. die Schnittstelle.
                    Ich schalte die Heizung dann mal aus und schaue was passiert.

                    Zitat von Morg Beitrag anzeigen
                    Irgendwo scheint bei dir noch der Wurm drin, den EA-Fehler hatte ich noch nie
                    Das gab es bei mir von Beginn an. Stört auch nicht, wenn der Fehler erkannt wird und die Verbindung resettet und neu aufgebaut.

                    Zitat von Morg Beitrag anzeigen
                    Gleichzeitig irritiert mich, dass deine cyclic scheduler runs anscheinend hängen - der braucht ja über eine Minute, und selbst (gerade) bei Fehlern sollte das mMn schneller gehen. Das kann ich hier aber nicht nachvollziehen. Selbst mit Timeout braucht er max. 20 Sekunden.
                    Woran siehst Du das?

                    Laut Log dauert die Abfrage nicht so lange.

                    Auszug aus dem Log:
                    Code:
                    plugins.viessmann send_cyclic_cmds cyclic command read took 1.7 seconds for 8 items
                    plugins.viessmann send_cyclic_cmds cyclic command read took 1.9 seconds for 9 items
                    plugins.viessmann send_cyclic_cmds cyclic command read took 2.4 seconds for 11 items
                    plugins.viessmann send_cyclic_cmds cyclic command read took 3.3 seconds for 16 items
                    Zitat von Morg Beitrag anzeigen
                    Ansonsten sieht das in Bezug auf Recovery schon gut aus; selbst wenn er rausfliegt, erkennt er das, verbindet neu und macht weiter. So soll das ja im Prinzip auch sein.
                    In den letzten Versionen hat der Neuaufbau der Verbindung nicht mehr geklappt. Nun scheint es wieder zu funktionieren.

                    Ich melde mich wieder, wenn ich die Heizung mal aus hatte.

                    Kommentar


                      Zitat von Sisamiwe Beitrag anzeigen
                      Woran siehst Du das?

                      Laut Log dauert die Abfrage nicht so lange.

                      Auszug aus dem Log:
                      Code:
                      plugins.viessmann send_cyclic_cmds cyclic command read took 1.7 seconds for 8 items
                      plugins.viessmann send_cyclic_cmds cyclic command read took 1.9 seconds for 9 items
                      plugins.viessmann send_cyclic_cmds cyclic command read took 2.4 seconds for 11 items
                      plugins.viessmann send_cyclic_cmds cyclic command read took 3.3 seconds for 16 items
                      Code:
                      2020-06-25 18:55:19 WARNING plugins.viessmann send_cyclic_cmds Triggered cyclic command read, but previous cyclic run is still active. Check device and cyclic configuration (too much/too short?)
                      Das passiert offensichtlich im Fehlerfall. Ob da was hängt und dann den Disconnect verursacht, oder ob der Disconnect den cyclic read zum Hängen bringt, kann ich so noch nicht erkennen. Letzteres sollte (!) eigentlich durch die geänderte Fehlererkennung nicht passieren...

                      Ich melde mich wieder, wenn ich die Heizung mal aus hatte.
                      Kannst du gern noch mal probieren, aber wenn ich sehe, wie der im Moment auf Fehler reagiert, dürfte das keine Überraschungen mehr geben

                      Kommentar


                        Zitat von Morg Beitrag anzeigen
                        Kannst du gern noch mal probieren, aber wenn ich sehe, wie der im Moment auf Fehler reagiert, dürfte das keine Überraschungen mehr geben
                        Hab ich!
                        Hier Auszüge aus dem develop log:
                        Heizung aus; Er sendet trotzdem die Anfragen, bekommt keine Antwort, verwirft das und geht zur nächsten Anfrage
                        Code:
                        2020-06-25 20:56:24 DEBUG plugins.viessmann _send_read_command Got a new read job: Command Speicherladepumpe
                        2020-06-25 20:56:24 DEBUG plugins.viessmann _send_read_command Command config: {'unit': 'IUBOOL', 'addr': '6513', 'len': 1, 'set': False}
                        2020-06-25 20:56:24 DEBUG plugins.viessmann _send_read_command Preparing command Speicherladepumpe with packet to be sent as hexstring: 410500016513017f and as bytes: bytearray(b'A\x05\x00\x01e\x13\x01\x7f')
                        2020-06-25 20:56:24 DEBUG plugins.viessmann _send_command Successfully sent packet: 410500016513017f
                        2020-06-25 20:56:24 DEBUG plugins.viessmann _send_command Trying to receive 10 bytes of the response.
                        2020-06-25 20:56:25 DEBUG plugins.viessmann _send_command Received 0 bytes chunk of response as hexstring and as bytes b''
                        2020-06-25 20:56:25 ERROR plugins.viessmann _send_command Received 0 bytes chunk - ignoring response_packet! chunk was: b''
                        2020-06-25 20:56:25 INFO plugins.viessmann send_cyclic_cmds Triggering cyclic read command: Relais_K12
                        2020-06-25 20:56:25 DEBUG plugins.viessmann _send_read_command Got a new read job: Command Relais_K12
                        2020-06-25 20:56:25 DEBUG plugins.viessmann _send_read_command Command config: {'unit': 'IUBOOL', 'addr': '0842', 'len': 1, 'set': False}
                        2020-06-25 20:56:25 DEBUG plugins.viessmann _send_read_command Preparing command Relais_K12 with packet to be sent as hexstring: 4105000108420151 and as bytes: bytearray(b'A\x05\x00\x01\x08B\x01Q')
                        2020-06-25 20:56:25 DEBUG plugins.viessmann _send_command Successfully sent packet: 4105000108420151
                        2020-06-25 20:56:25 DEBUG plugins.viessmann _send_command Trying to receive 10 bytes of the response.
                        2020-06-25 20:56:26 DEBUG plugins.viessmann _send_command Received 0 bytes chunk of response as hexstring and as bytes b''
                        2020-06-25 20:56:26 ERROR plugins.viessmann _send_command Received 0 bytes chunk - ignoring response_packet! chunk was: b''
                        Irgendwann ist das Communication_init abgelaufen, es wird versucht die Comminication neu zu etablieren:
                        Code:
                        2020-06-25 21:03:24 DEBUG plugins.viessmann _send_read_command Command config: {'unit': 'IUBOOL', 'addr': '6513', 'len': 1, 'set': False}
                        2020-06-25 21:03:24 DEBUG plugins.viessmann _send_read_command Preparing command Speicherladepumpe with packet to be sent as hexstring: 410500016513017f and as bytes: bytearray(b'A\x05\x00\x01e\x13\x01\x7f')
                        2020-06-25 21:03:24 INFO plugins.viessmann _send_command Communication timed out, trying to reestablish communication.
                        2020-06-25 21:03:24 INFO plugins.viessmann _init_communication Init Communication....
                        2020-06-25 21:03:24 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:25 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:25 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:26 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:26 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:27 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:27 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:28 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:28 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:29 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:29 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:30 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:30 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:31 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:31 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:32 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:32 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:33 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:33 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:34 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:34 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:35 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:35 INFO plugins.viessmann _init_communication Communication initialized: False
                        2020-06-25 21:03:35 ERROR plugins.viessmann _send_command send_command failed with error: Interface not initialized!.
                        2020-06-25 21:03:35 INFO plugins.viessmann send_cyclic_cmds Triggering cyclic read command: Relais_K12
                        2020-06-25 21:03:35 DEBUG plugins.viessmann _send_read_command Got a new read job: Command Relais_K12
                        2020-06-25 21:03:35 DEBUG plugins.viessmann _send_read_command Command config: {'unit': 'IUBOOL', 'addr': '0842', 'len': 1, 'set': False}
                        2020-06-25 21:03:35 DEBUG plugins.viessmann _send_read_command Preparing command Relais_K12 with packet to be sent as hexstring: 4105000108420151 and as bytes: bytearray(b'A\x05\x00\x01\x08B\x01Q')
                        2020-06-25 21:03:35 WARNING plugins.viessmann _send_command Communication no longer initialized, trying to reestablish.
                        2020-06-25 21:03:35 INFO plugins.viessmann _init_communication Init Communication....
                        2020-06-25 21:03:35 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:36 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:36 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:37 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:37 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:38 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:38 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:39 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:39 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:40 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:40 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:41 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:41 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:42 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:42 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:43 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:43 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:44 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:44 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:45 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:45 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:03:46 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:03:46 INFO plugins.viessmann _init_communication Communication initialized: False
                        2020-06-25 21:03:46 ERROR plugins.viessmann _send_command send_command failed with error: Interface not initialized!.
                        Heizung wieder an, dann klappt auch das Communication_init und es geht normal weiter.
                        Code:
                        2020-06-25 21:12:17 INFO plugins.viessmann _init_communication Communication initialized: False
                        2020-06-25 21:12:17 ERROR plugins.viessmann _send_command send_command failed with error: Interface not initialized!.
                        2020-06-25 21:12:17 INFO plugins.viessmann send_cyclic_cmds Triggering cyclic read command: Error7
                        2020-06-25 21:12:17 DEBUG plugins.viessmann _send_read_command Got a new read job: Command Error7
                        2020-06-25 21:12:17 DEBUG plugins.viessmann _send_read_command Command config: {'unit': 'ES', 'addr': '7546', 'len': 9, 'set': False}
                        2020-06-25 21:12:17 DEBUG plugins.viessmann _send_read_command Preparing command Error7 with packet to be sent as hexstring: 41050001754609ca and as bytes: bytearray(b'A\x05\x00\x01uF\t\xca')
                        2020-06-25 21:12:17 WARNING plugins.viessmann _send_command Communication no longer initialized, trying to reestablish.
                        2020-06-25 21:12:17 INFO plugins.viessmann _init_communication Init Communication....
                        2020-06-25 21:12:17 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:12:18 DEBUG plugins.viessmann _init_communication read_bytes: read b'', last byte is b''
                        2020-06-25 21:12:18 DEBUG plugins.viessmann _init_communication send_bytes: Send reset command b'\x04'
                        2020-06-25 21:12:19 DEBUG plugins.viessmann _init_communication read_bytes: read b'\x05', last byte is b'\x05'
                        2020-06-25 21:12:19 DEBUG plugins.viessmann _init_communication send_bytes: Send sync command b'\x16\x00\x00'
                        2020-06-25 21:12:19 DEBUG plugins.viessmann _init_communication read_bytes: read b'\x06', last byte is b'\x06'
                        2020-06-25 21:12:19 DEBUG plugins.viessmann _init_communication Device acknowledged initialization
                        2020-06-25 21:12:19 INFO plugins.viessmann _init_communication Communication initialized: True
                        2020-06-25 21:12:19 DEBUG plugins.viessmann _send_command Successfully sent packet: 41050001754609ca
                        2020-06-25 21:12:19 DEBUG plugins.viessmann _send_command Trying to receive 18 bytes of the response.
                        2020-06-25 21:12:19 DEBUG plugins.viessmann _send_command Received 18 bytes chunk of response as hexstring 06410e010175460900202001200120034099 and as bytes b'\x06A\x0e\x01\x01uF\t\x00 \x01 \x01 \x03@\x99'
                        2020-06-25 21:12:19 DEBUG plugins.viessmann _parse_response Response decoded to: commandcode: 7546, responsedatacode: 1, valuebytecount: 9
                        2020-06-25 21:12:19 DEBUG plugins.viessmann _parse_response Rawdatabytes formatted: 002020012001200340 and unformatted: bytearray(b'\x00 \x01 \x01 \x03@')
                        2020-06-25 21:12:19 DEBUG plugins.viessmann _parse_response Corresponding Item: heizung.allgemein.stoerungen.error_8; Corresponding commandname: Error7
                        2020-06-25 21:12:19 DEBUG plugins.viessmann _parse_response Unit defined to ES with config {'read_value_transform': 'non', 'signed': False, 'type': 'list', 'unit_de': 'ErrorState'}.
                        2020-06-25 21:12:19 DEBUG plugins.viessmann _parse_response Matched command Error7 and read transformed errorcode Regelbetrieb (kein Fehler) (raw value was 00) and byte length 9.
                        2020-06-25 21:12:19 INFO plugins.viessmann send_cyclic_cmds Triggering cyclic read command: Error9
                        Klappt also.

                        Zitat von Morg Beitrag anzeigen
                        2020-06-25 18:55:19 WARNING plugins.viessmann send_cyclic_cmds Triggered cyclic command read, but previous cyclic run is still active. Check device and cyclic configuration (too much/too short?)
                        Das passiert (meist) nur einmal beim Neustart des Plugins bzw. wenn der cyclic-Scheduler neu gesetzt wird. Wahrscheinlich dauert der erste Aufruf zu lange, wenn alle zyklischen Items abgefragt werden.

                        Wieder ein Stück näher am Release.


                        Kommentar


                          Zitat von loeserman Beitrag anzeigen
                          Stimmt, da war noch etwas. Okay ich versuche das mal bei mir einzubinden. Wo finde ich denn die letzte Version?
                          Konntest Du schon testen?

                          Kommentar


                            Moin zusammen,
                            nun hatte ich mal etwas Zeit und habe mich ans Werk gemacht. Leider scheitere ich noch recht am Anfang. Vielleicht habt ihr einen Tipp für mich. Ich habe eine Vitodens343-F und eine V200HO1C Steuerung, die über P300 plaudert.

                            Daher habe ich die commands.py angepasst mit einer neuen Sektion

                            Code:
                            commandset = {
                                'V200KO1B': {
                                    # Kessel
                                    ...
                                },
                                'V200H01C': {
                                    # Allgemein
                                    'Frostgefahr':                     {'addr': '2510', 'len': 1, 'unit': 'IUBOOL', 'set': False},                                         # Frostgefahr
                                    'Aussentemperatur_TP':             {'addr': '5525', 'len': 2, 'unit': 'IU10',    'set': False},                                        # Aussentemperatur_tiefpass
                                    'Aussentemperatur_Dp':             {'addr': '5527', 'len': 2, 'unit': 'IU10',    'set': False},                                        # Aussentemperatur in Grad C (Gedaempft)
                                    'Anlagenleistung':                 {'addr': 'a3af', 'len': 2, 'unit': 'IS10',   'set': False},                                         # Anlagenleistung
                                    # Kessel
                                    'Kesseltemperatur_TP':             {'addr': '0810', 'len': 2, 'unit': 'IU10',    'set': False},                                        # Kesseltemperatur_tiefpass
                                    'Kesselsolltemperatur':            {'addr': '555A', 'len': 2, 'unit': 'IU10',    'set': False},                                        # Kesselsolltemperatur
                                    'Abgastemperatur':                 {'addr': '0816', 'len': 2, 'unit': 'IU10',    'set': False},                                        # Abgastemperatur
                                    # Fehler
                                    'Sammelstoerung':                  {'addr': '0a82', 'len': 1, 'unit': 'RT', 'set': False},                                             # Sammelstörung
                                    'Error0':                          {'addr': '7507', 'len': 9, 'unit': 'ES', 'set': False},                                             # Fehlerhistory Eintrag 1
                                    'Error1':                          {'addr': '7510', 'len': 9, 'unit': 'ES', 'set': False},                                             # Fehlerhistory Eintrag 2
                                    # Pumpen
                                    'Speicherladepumpe':               {'addr': '6513', 'len': 1, 'unit': 'IUBOOL', 'set': False},                                         # Speicherladepumpe für Warmwasser
                                    'Zirkulationspumpe':               {'addr': '6515', 'len': 1, 'unit': 'IUBOOL', 'set': False},                                         # Zirkulationspumpe
                                    'Interne_Pumpe':                   {'addr': '7660', 'len': 1, 'unit': 'IUBOOL', 'set': False},                                         # Interne Pumpe
                                    'Heizkreispumpe_HK1':              {'addr': '2906', 'len': 1, 'unit': 'IUBOOL', 'set': False},                                         # Heizkreispumpe A1
                                    'Heizkreispumpe_HK2':              {'addr': '3906', 'len': 1, 'unit': 'IUINT',  'set': False},                                         # Heizkreispumpe M2
                                    # Brenner
                                    'Brennerstarts':                   {'addr': '088a', 'len': 4, 'unit': 'ISNON',  'set': True, 'min_value': 0, 'max_value': 1193045},    # Brennerstarts
                                    'Brennerleistung':                 {'addr': 'a305', 'len': 2, 'unit': 'IS10',   'set': False},                                         # Brennerleistung
                                    'Brenner_Betriebsstunden':         {'addr': '08a7', 'len': 4, 'unit': 'IU3600', 'set': True, 'min_value': 0, 'max_value': 1193045},    # Brenner-Betriebsstunden
                                    #Solar
                                    'SolarPumpe':                      {'addr': '6552', 'len': 1, 'unit': 'IUBOOL', 'set': False},    
                                    'Kollektortemperatur':             {'addr': '6564', 'len': 2, 'unit': 'IS10',   'set': False},    
                                    'Speichertemperatur':              {'addr': '6566', 'len': 2, 'unit': 'IU10',   'set': False},    
                                    'Solar_Betriebsstunden':           {'addr': '6568', 'len': 4, 'unit': 'IU100', 'set': False},    
                                    'Solar_Waermemenge':               {'addr': '6560', 'len': 2, 'unit': 'IUINT', 'set': False},    
                                    'Solar_Ausbeute':                  {'addr': 'CF30', 'len': 4, 'unit': 'IUINT', 'set': False},    
                                    # Heizkreis 1
                                    'Betriebsart_HK1':                 {'addr': '2500', 'len': 1, 'unit': 'IUINT',  'set': True, 'min_value': 0, 'max_value': 3},          # Betriebsart (0=Abschaltbetrieb, 1=Red. Betrieb, 2=Normalbetrieb (Schaltuhr), 3=Normalbetrieb (Dauernd))
                                    'Heizart_HK1':                     {'addr': '2323', 'len': 1, 'unit': 'IUINT',  'set': True, 'min_value': 0, 'max_value': 4},          # Heizart     (0=Abschaltbetrieb, 1=Nur Warmwasser, 2=Heizen und Warmwasser, 3=Normalbetrieb (Dauernd))
                                    'Vorlauftemperatur_Soll_HK1':      {'addr': '2544', 'len': 2, 'unit': 'IU10',   'set': False},                                         # Vorlauftemperatur Soll 
                                    'Vorlauftemperatur_HK1':           {'addr': '2900', 'len': 2, 'unit': 'IU10',   'set': False},                                         # Vorlauftemperatur Ist
                                    # Heizkreis 2
                                    'Betriebsart_HK2':                 {'addr': '3500', 'len': 1, 'unit': 'IUINT',  'set': True, 'min_value': 0, 'max_value': 3},          # Betriebsart (0=Abschaltbetrieb, 1=Red. Betrieb, 2=Normalbetrieb (Schaltuhr), 3=Normalbetrieb (Dauernd))
                                    'Heizart_HK2':                     {'addr': '3323', 'len': 1, 'unit': 'IUINT',  'set': True, 'min_value': 0, 'max_value': 4},          # Heizart     (0=Abschaltbetrieb, 1=Nur Warmwasser, 2=Heizen und Warmwasser, 3=Normalbetrieb (Dauernd))
                                    'Vorlauftemperatur_Soll_HK2':      {'addr': '3544', 'len': 2, 'unit': 'IU10',   'set': False},                                         # Vorlauftemperatur Soll 
                                    'Vorlauftemperatur_HK2':           {'addr': '3900', 'len': 2, 'unit': 'IU10',   'set': False},                                         # Vorlauftemperatur Ist
                                    # Warmwasser
                                    'Warmwasser_Temperatur':           {'addr': '0812', 'len': 2, 'unit': 'IU10',   'set': False},                                         # Warmwassertemperatur in Grad C
                                    'Warmwasser_Solltemperatur':       {'addr': '6300', 'len': 1, 'unit': 'ISNON',  'set': True, 'min_value': 10, 'max_value': 95},        # Warmwasser-Solltemperatur
                                    'Warmwasser_Austrittstemperatur':  {'addr': '0814', 'len': 2, 'unit': 'IU10',   'set': False},                                         # Warmwasseraustrittstemperatur in Grad C
                                },
                                ...
                            }
                            
                            ...
                            
                            operatingmodes = {
                                'V200KW2': {
                                    ...
                                },
                                ...
                                'V200H01C': {
                                    '00': 'Abschaltbetrieb',
                                    '01': 'Warmwasser',
                                    '02': 'Heizen und Warmwasser',
                                    '03': 'Normal reduziert',
                                    '04': 'Normal dauernd'
                                }
                            }
                            
                            systemschemes = {
                                'V200KO1B': {
                                    ...
                                },
                                ...
                                'V200HO1C': {
                                    '01': 'WW',
                                    '02': 'HK + WW',
                                    '04': 'HK + WW',
                                    '05': 'HK + WW'
                                }
                            }
                            Anschließend habe ich eine item.yaml dafür erstellt

                            Code:
                            viessmann:
                                type: foo
                                viessmann_update:
                                    name: Update aller Items mit 'viess_read'
                                    type: bool
                                    visu_acl: rw
                                    viess_update: 1
                                    autotimer: 1 = 0
                                Allgemein:
                                    Frostgefahr:
                                        name: Frostgefahr
                                        type: bool
                                        viess_read: Frostgefahr
                                        viess_read_cycle: 300
                                        viess_init: true
                                        database: true
                                    Aussentemperatur_TP:
                                        name: Aussentemperatur_TP
                                        type: num
                                        viess_read: Aussentemperatur_TP
                                        viess_read_cycle: 300
                                        viess_init: true
                                        database: true
                                    Aussentemperatur_Dp:
                                        name: Aussentemperatur_Dp
                                        type: num
                                        viess_read: Aussentemperatur_Dp
                                        viess_read_cycle: 300
                                        viess_init: true
                                        database: true
                                    Anlagenleistung:
                                        name: Anlagenleistung
                                        type: num
                                        viess_read: Anlagenleistung
                                        viess_read_cycle: 60
                                        viess_init: true
                                        database: true
                                Kessel:
                                    Kesseltemperatur_TP:
                                        name: Kesseltemperatur_TP
                                        type: num
                                        viess_read: Kesseltemperatur_TP
                                        viess_read_cycle: 180
                                        viess_init: true
                                        database: init
                                    Kesselsolltemperatur:
                                        name: Kesselsolltemperatur
                                        type: num
                                        viess_read: Kesselsolltemperatur
                                        viess_read_cycle: 180
                                        viess_init: true
                                    Abgastemperatur:
                                        name: Abgastemperatur
                                        type: num
                                        viess_read: Abgastemperatur
                                        viess_read_cycle: 180
                                        viess_init: true
                                        database: init
                                Stoerungen:
                                    Sammelstoerung:
                                        name: Sammelstoerung
                                        type: num
                                        viess_read: Sammelstoerung
                                        viess_read_cycle: 3600
                                        viess_init: true
                                        database: 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
                                Brenner:
                                    Brennerstarts:
                                        name: Brennerstarts
                                        type: num
                                        viess_read: Brennerstarts
                                        viess_read_cycle: 300
                                        viess_init: true
                                        database: true
                                    Brenner_Betriebsstunden:
                                        name: Brenner_Betriebsstunden
                                        type: num
                                        viess_read: Brenner_Betriebsstunden
                                        viess_read_cycle: 300
                                        viess_init: true
                                        database: true
                                    Betrieb_2_Starts:
                                        name: Betriebsstunden / Brennertstarts
                                        type: num
                                        eval: round(sh...Brenner_Betriebsstunden() / sh...Brennerstarts(), 2)
                                        eval_trigger:
                                          - ..Brenner_Betriebsstunden
                                          - ..Brennerstarts
                                        database: true
                                    Brennerleistung:
                                        name: Brennerleistung
                                        type: num
                                        viess_read: Brennerleistung
                                        viess_read_cycle: 60
                                        viess_init: true
                                        database: true
                            Und dann natürlich noch die Plugins.yaml angepasst

                            Code:
                            viessmann:
                                plugin_name: viessmann
                                plugin_enabled: true
                                protocol: P300
                                plugin_name: viessmann
                                heating_type: V200H01C
                                serialport: /dev/ttyUSB_HEIZUNG
                            Starte ich das ganze erhalte ich folgende Fehlermeldungen. Habt ihr eine Idee, was ich vergessen habe?

                            Code:
                            2020-06-27  12:58:55 ERROR    lib.item            Item viessmann.Allgemein.Frostgefahr: problem creating: 'Viessmann' object has no attribute '_commandset'
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 683, in __init__
                                child = Item(smarthome, self, child_path, value)
                              File "/usr/local/smarthome/lib/item.py", line 748, in __init__
                                update = plugin.parse_item(self)
                              File "/usr/local/smarthome/plugins/viessmann/__init__.py", line 193, in parse_item
                                if commandname is None or commandname not in self._commandset:
                            AttributeError: 'Viessmann' object has no attribute '_commandset'
                            2020-06-27  12:58:55 ERROR    lib.item            Item viessmann.Allgemein.Aussentemperatur_TP: problem creating: 'Viessmann' object has no attribute '_commandset'
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 683, in __init__
                                child = Item(smarthome, self, child_path, value)
                              File "/usr/local/smarthome/lib/item.py", line 748, in __init__
                                update = plugin.parse_item(self)
                              File "/usr/local/smarthome/plugins/viessmann/__init__.py", line 193, in parse_item
                                if commandname is None or commandname not in self._commandset:
                            AttributeError: 'Viessmann' object has no attribute '_commandset'
                            2020-06-27  12:58:55 ERROR    lib.item            Item viessmann.Allgemein.Aussentemperatur_Dp: problem creating: 'Viessmann' object has no attribute '_commandset'
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 683, in __init__
                                child = Item(smarthome, self, child_path, value)
                              File "/usr/local/smarthome/lib/item.py", line 748, in __init__
                                update = plugin.parse_item(self)
                              File "/usr/local/smarthome/plugins/viessmann/__init__.py", line 193, in parse_item
                                if commandname is None or commandname not in self._commandset:
                            AttributeError: 'Viessmann' object has no attribute '_commandset'
                            2020-06-27  12:58:55 ERROR    lib.item            Item viessmann.Allgemein.Anlagenleistung: problem creating: 'Viessmann' object has no attribute '_commandset'
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 683, in __init__
                                child = Item(smarthome, self, child_path, value)
                              File "/usr/local/smarthome/lib/item.py", line 748, in __init__
                                update = plugin.parse_item(self)
                              File "/usr/local/smarthome/plugins/viessmann/__init__.py", line 193, in parse_item
                                if commandname is None or commandname not in self._commandset:
                            AttributeError: 'Viessmann' object has no attribute '_commandset'
                            2020-06-27  12:58:55 ERROR    lib.item            Item viessmann.Kessel.Kesseltemperatur_TP: problem creating: 'Viessmann' object has no attribute '_commandset'
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 683, in __init__
                                child = Item(smarthome, self, child_path, value)
                              File "/usr/local/smarthome/lib/item.py", line 748, in __init__
                                update = plugin.parse_item(self)
                              File "/usr/local/smarthome/plugins/viessmann/__init__.py", line 193, in parse_item
                                if commandname is None or commandname not in self._commandset:
                            AttributeError: 'Viessmann' object has no attribute '_commandset'
                            2020-06-27  12:58:55 ERROR    lib.item            Item viessmann.Kessel.Kesselsolltemperatur: problem creating: 'Viessmann' object has no attribute '_commandset'
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 683, in __init__
                                child = Item(smarthome, self, child_path, value)
                              File "/usr/local/smarthome/lib/item.py", line 748, in __init__
                                update = plugin.parse_item(self)
                              File "/usr/local/smarthome/plugins/viessmann/__init__.py", line 193, in parse_item
                                if commandname is None or commandname not in self._commandset:
                            AttributeError: 'Viessmann' object has no attribute '_commandset'
                            2020-06-27  12:58:55 ERROR    lib.item            Item viessmann.Kessel.Abgastemperatur: problem creating: 'Viessmann' object has no attribute '_commandset'
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 683, in __init__
                                child = Item(smarthome, self, child_path, value)
                              File "/usr/local/smarthome/lib/item.py", line 748, in __init__
                                update = plugin.parse_item(self)
                              File "/usr/local/smarthome/plugins/viessmann/__init__.py", line 193, in parse_item
                                if commandname is None or commandname not in self._commandset:
                            AttributeError: 'Viessmann' object has no attribute '_commandset'
                            2020-06-27  12:58:55 ERROR    lib.item            Item viessmann.Stoerungen.Sammelstoerung: problem creating: 'Viessmann' object has no attribute '_commandset'
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 683, in __init__
                                child = Item(smarthome, self, child_path, value)
                              File "/usr/local/smarthome/lib/item.py", line 748, in __init__
                                update = plugin.parse_item(self)
                              File "/usr/local/smarthome/plugins/viessmann/__init__.py", line 193, in parse_item
                                if commandname is None or commandname not in self._commandset:
                            AttributeError: 'Viessmann' object has no attribute '_commandset'
                            2020-06-27  12:58:55 ERROR    lib.item            Item viessmann.Stoerungen.Error_1: problem creating: 'Viessmann' object has no attribute '_commandset'
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 683, in __init__
                                child = Item(smarthome, self, child_path, value)
                              File "/usr/local/smarthome/lib/item.py", line 748, in __init__
                                update = plugin.parse_item(self)
                              File "/usr/local/smarthome/plugins/viessmann/__init__.py", line 193, in parse_item
                                if commandname is None or commandname not in self._commandset:
                            AttributeError: 'Viessmann' object has no attribute '_commandset'
                            2020-06-27  12:58:55 ERROR    lib.item            Item viessmann.Stoerungen.Error_2: problem creating: 'Viessmann' object has no attribute '_commandset'
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 683, in __init__
                                child = Item(smarthome, self, child_path, value)
                              File "/usr/local/smarthome/lib/item.py", line 748, in __init__
                                update = plugin.parse_item(self)
                              File "/usr/local/smarthome/plugins/viessmann/__init__.py", line 193, in parse_item
                                if commandname is None or commandname not in self._commandset:
                            AttributeError: 'Viessmann' object has no attribute '_commandset'
                            2020-06-27  12:58:55 ERROR    lib.item            Item viessmann.Brenner.Brennerstarts: problem creating: 'Viessmann' object has no attribute '_commandset'
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 683, in __init__
                                child = Item(smarthome, self, child_path, value)
                              File "/usr/local/smarthome/lib/item.py", line 748, in __init__
                                update = plugin.parse_item(self)
                              File "/usr/local/smarthome/plugins/viessmann/__init__.py", line 193, in parse_item
                                if commandname is None or commandname not in self._commandset:
                            AttributeError: 'Viessmann' object has no attribute '_commandset'
                            2020-06-27  12:58:55 ERROR    lib.item            Item viessmann.Brenner.Brenner_Betriebsstunden: problem creating: 'Viessmann' object has no attribute '_commandset'
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 683, in __init__
                                child = Item(smarthome, self, child_path, value)
                              File "/usr/local/smarthome/lib/item.py", line 748, in __init__
                                update = plugin.parse_item(self)
                              File "/usr/local/smarthome/plugins/viessmann/__init__.py", line 193, in parse_item
                                if commandname is None or commandname not in self._commandset:
                            AttributeError: 'Viessmann' object has no attribute '_commandset'
                            2020-06-27  12:58:55 ERROR    lib.item            Item viessmann.Brenner.Brennerleistung: problem creating: 'Viessmann' object has no attribute '_commandset'
                            Traceback (most recent call last):
                              File "/usr/local/smarthome/lib/item.py", line 683, in __init__
                                child = Item(smarthome, self, child_path, value)
                              File "/usr/local/smarthome/lib/item.py", line 748, in __init__
                                update = plugin.parse_item(self)
                              File "/usr/local/smarthome/plugins/viessmann/__init__.py", line 193, in parse_item
                                if commandname is None or commandname not in self._commandset:
                            AttributeError: 'Viessmann' object has no attribute '_commandset'
                            Er erkennt kein einiges Item laut commandset. Ist glaube ich was einfaches, aber ich sehe es einfach nicht …

                            Danke euch!
                            Zuletzt geändert von loeserman; 27.06.2020, 12:03.

                            Kommentar


                              Wie wäre es, wenn Du Deine Konfiguration in lesbarer Form postest? Oder hast Du die yaml Dateien wirklich ohne Einrückungen erstellt?

                              Siehe auch diesen Thread: Hilfe zu SmartHomeNG erhalten --> Python Code und Yaml Konfig richtig einfügen

                              Viele Grüße
                              Martin

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

                              Kommentar


                                Zitat von Msinn Beitrag anzeigen
                                Oder hast Du die yaml Dateien wirklich ohne Einrückungen erstellt?
                                Nein habe ich schon normal eingerückt. Daran düfte es nicht liegen. Allerdings überträgt der bei mir bei STRG-C und STRG-V keine Einrückungen mit in dieses Forum hier. Daher muss man die Leerzeichen alle händisch nachziehen. Das wollte ich mir sparen. Habe das oben mal gemacht. Hoffe es ist nun besser lesbar.

                                Danke für die Hilfe mit dem richtigen Code Import … das vereinfacht die Sache enorm.

                                Gäbe es Fehler bei der items.yaml, dann hätte eigentlich auch die Fehlermeldung anders aussehen müssen. Die besagt ja, dass das Item keinen korrespondierenden Eintrag im commandset findet. Das item aus der config hat er ja dann eigentlich lese können, oder?
                                Zuletzt geändert von loeserman; 27.06.2020, 12:05.

                                Kommentar

                                Lädt...
                                X