Ankündigung

Einklappen
Keine Ankündigung bisher.

Viessmann Plugin Neuentwicklung Python Hilfe

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

    #91
    Zitat von Morg Beitrag anzeigen
    Ob das ein "PC" oder ein Rpi ist, ist dabei egal ich hab nen RPi 4, das ändert aber nichts an der Physik
    Ist mir schon klar. Wollte es nur zur Sicherheit erwähnt haben.

    Zitat von Morg Beitrag anzeigen
    zumal du auch kein USB 3 brauchst. (Kann das der RPi 3 überhaupt schon?)
    Die USB3 Kabel sind besser geschirmt. Deshalb habe ich eines genommen.

    Zitat von Morg Beitrag anzeigen
    wenn der Viessmann-Kopf das große bananenförmige Teil ist - sitzt der fest, könnte der schief sitzen/hängen?
    Hab mal 2 Fotos gemacht. Da kann eigentlich nichts wackeln.
    IMG_20200614_125859_1.jpg

    Ich beobachte das mal.
    Wenn es wieder auftritt, nehme ich mal einen andere RPI. (Hab 2 eine Produktinstanz und eine Testinstanz).

    DANKE Dir!
    Angehängte Dateien

    Kommentar


      #92
      Zitat von Morg Beitrag anzeigen
      Haben wir noch mehr Leute hier, die das Plugin schon verwenden oder vielleicht verwenden wollen?
      psilo hatte noch Interesse. Kann aber nicht sagen, ob er das Plugin schon mal getestet hat
      loeserman hatte das erste Plugin entwickelt. Vielleicht kann er auch mal das neue Plugin unterstützen. Ich hatte ihn schon mal angeschrieben.

      Kommentar


        #93
        psilo hatte noch Interesse. Kann aber nicht sagen, ob er das Plugin schon mal getestet hat
        Gib mir a) Zeit b) den Elan einen Tag bei meinem Vater im Keller zu verbringen.

        -> wird erstmal nix bei mir!

        Kommentar


          #94
          Das erste Foto kann ich nicht sehen. Der Kopf vom zweiten Foto ist nicht der, den ich im Hinterkopf hatte; da gäbe es das Problem aber nicht. Von daher wohl woanders suchen...

          Ich habe den da -> https://github.com/openv/openv/wiki/Bauanleitung-USB, mit dem FTDI-Chip.

          IMG_3273.jpeg
          Angehängte Dateien

          Kommentar


            #95
            Ich hab das Plugin auch im Einsatz.
            Logge im Moment aber nur Temperaturen.
            Verwende den Original-Lesekopf bisher ohne Auffälligkeiten

            Kommentar


              #96
              Stoepf, wenn es dir möglich ist, wäre es super, wenn du mal mit "maximalem" (DEBUG) Logging die Heizung aus- und nach einer Weile (5+ Minuten) wieder einschalten könntest. Insbesondere das Verhalten von shng nach dem Wiedereinschalten ist für uns von Interesse, weil es zumindest bei sisamiwe Probleme gibt.

              Mit einer alten Version des Plugins wäre das auch interessant; mit der neuen für die Fehlersuche natürlich hilfreicher https://github.com/Morg42/viessmann



              Kommentar


                #97
                Hab ein Log mit der neusten Version gemacht.
                Schick dir einen Link zu Datei per PN

                Kommentar


                  #98
                  Morg

                  Hab schon wieder eine Abbruch.
                  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?

                  EDIT:

                  Kann über über die Konsole irgendwie rausfinden, ob und wer die serielle Schnittstelle nutzt belegt?
                  Zuletzt geändert von Sisamiwe; 14.06.2020, 16:57.

                  Kommentar


                    #99
                    Danke für das Log. Ich kann nicht behaupten, dass es das Problem löst, aber es hilft auf jeden Fall.

                    Das gesamte Log hänge ich jetzt hier nicht an, aber ein paar Auszüge, damit auch Michael sehen kann, was da passiert..

                    Der Anfang ist normal, nach Heizung aus liest er nichts:
                    Code:
                    2020-06-14 17:04:22 DEBUG plugins.viessmann Got a new read job: Command Kesseltemperatur
                    2020-06-14 17:04:22 DEBUG plugins.viessmann Command config: {'addr': '0802', 'set': False, 'unit': 'IU10', 'len': 2}
                    2020-06-14 17:04:22 DEBUG plugins.viessmann Preparing command Kesseltemperatur with packet to be sent as hexstring: 4105000108020212 and as bytes: bytearray(b'A\x05\x00\x01\x08\x02\x02\x12')
                    2020-06-14 17:04:22 DEBUG plugins.viessmann Successfully sent packet: 4105000108020212
                    2020-06-14 17:04:22 DEBUG plugins.viessmann Trying to receive 11 bytes of the response.
                    2020-06-14 17:04:23 DEBUG plugins.viessmann Received 0 bytes chunk of response as hexstring and as bytes b''
                    2020-06-14 17:04:23 ERROR plugins.viessmann Received 0 bytes chunk - ignoring response_packet! chunk was: b''
                    Anmerkung: Das ist soweit unkritisch - da könnte ich aber noch eine Erkennung einbauen, dass er nach bspw. fünfmaligem "read 0 bytes" die Verbindung zurücksetzt. Allerdings würde er dann beim Versuch der Initialisierung auch "nichts" lesen, insofern wäre das egal. Den Status "Verbindung ist weg" würde er nur mit entsprechenden Fehlermeldungen im Log quittieren. Wie wir das umsetzen wollen, müssten wir dann mal überlegen. Letztlich ist es egal, er macht ja trotzdem weiter und hängt sich nicht auf.

                    Sobald die Heizung wieder an ist, bekommt er Daten - und zwar haufenweise 0x05:
                    Code:
                    2020-06-14 17:08:21 INFO plugins.viessmann Triggering cyclic read command: Heizkreispumpe_A1M1
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Got a new read job: Command Heizkreispumpe_A1M1
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Command config: {'addr': '2906', 'set': False, 'unit': 'IUBOOL', 'len': 1}
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Preparing command Heizkreispumpe_A1M1 with packet to be sent as hexstring: 4105000129060136 and as bytes: bytearray(b'A\x05\x00\x01)\x06\x016')
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Successfully sent packet: 4105000129060136
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Trying to receive 10 bytes of the response.
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Received 10 bytes chunk of response as hexstring 00050505050505050505 and as bytes b'\x00\x05\x05\x05\x05\x05\x05\x05\x05\x05'
                    2020-06-14 17:08:21 ERROR plugins.viessmann Received invalid chunk, not starting with ACK! response was: b'\x00\x05\x05\x05\x05\x05\x05\x05\x05\x05'
                    2020-06-14 17:08:21 INFO plugins.viessmann Triggering cyclic read command: Kesselsolltemperatur
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Got a new read job: Command Kesselsolltemperatur
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Command config: {'addr': '555A', 'set': False, 'unit': 'IU10', 'len': 2}
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Preparing command Kesselsolltemperatur with packet to be sent as hexstring: 41050001555a02b7 and as bytes: bytearray(b'A\x05\x00\x01UZ\x02\xb7')
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Successfully sent packet: 41050001555a02b7
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Trying to receive 11 bytes of the response.
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Received 11 bytes chunk of response as hexstring 0505050505050505050505 and as bytes b'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05'
                    2020-06-14 17:08:21 ERROR plugins.viessmann Received invalid chunk, not starting with ACK! response was: b'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05'
                    2020-06-14 17:08:21 INFO plugins.viessmann Triggering cyclic read command: Kesseltemperatur
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Got a new read job: Command Kesseltemperatur
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Command config: {'addr': '0802', 'set': False, 'unit': 'IU10', 'len': 2}
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Preparing command Kesseltemperatur with packet to be sent as hexstring: 4105000108020212 and as bytes: bytearray(b'A\x05\x00\x01\x08\x02\x02\x12')
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Successfully sent packet: 4105000108020212
                    2020-06-14 17:08:21 DEBUG plugins.viessmann Trying to receive 11 bytes of the response.
                    2020-06-14 17:08:23 DEBUG plugins.viessmann Received 10 bytes chunk of response as hexstring 05050505050505050505 and as bytes b'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05'
                    2020-06-14 17:08:23 ERROR plugins.viessmann Received invalid chunk, not starting with ACK! response was: b'\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05'
                    ...
                    Die ganzen 0x05 verwirft er korrekterweise - aber weil er so viele bekommt, erkennt er nicht, dass das eigentlich die "send sync" Sequenz ist.

                    Beim sechsten Kommando bekommt er nur eine 5 und triggert die Initialisierung neu. Dann passiert dasselbe wie bei Michael:
                    Code:
                    2020-06-14 17:11:21 WARNING plugins.viessmann Communication no longer initialized, trying to reestablish.
                    2020-06-14 17:11:21 INFO plugins.viessmann Init Communication....
                    2020-06-14 17:11:21 DEBUG plugins.viessmann send_bytes: Send sync command b'\x16\x00\x00'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann read_bytes: Read b'\x05'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann send_bytes: Send sync command b'\x16\x00\x00'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann read_bytes: Read b'\x05'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann send_bytes: Send sync command b'\x16\x00\x00'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann read_bytes: Read b'\x05'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann send_bytes: Send sync command b'\x16\x00\x00'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann read_bytes: Read b'\x05'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann send_bytes: Send sync command b'\x16\x00\x00'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann read_bytes: Read b'\x05'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann send_bytes: Send sync command b'\x16\x00\x00'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann read_bytes: Read b'\x05'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann send_bytes: Send sync command b'\x16\x00\x00'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann read_bytes: Read b'\x05'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann send_bytes: Send sync command b'\x16\x00\x00'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann read_bytes: Read b'\x05'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann send_bytes: Send sync command b'\x16\x00\x00'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann read_bytes: Read b'\x05'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann send_bytes: Send sync command b'\x16\x00\x00'
                    2020-06-14 17:11:21 DEBUG plugins.viessmann read_bytes: Read b'\x05'
                    2020-06-14 17:11:21 INFO plugins.viessmann Communication initialized: False
                    2020-06-14 17:11:21 ERROR plugins.viessmann send_command failed with error: Interface not initialized!.
                    Ich weiß nicht, wieso die Heizung den Sync nicht erkennt - vielleicht ist das auch einfach so.

                    (Nebenfrage: von wann sind eure Heizungssteuerungen?)

                    Bei stoepf läuft dieses Schema 7x durch, danach kommt auf das Sync ein 0x06 und die Verbindung steht wieder. Aaaber...
                    Code:
                    2020-06-14 17:11:22 DEBUG plugins.viessmann Preparing command Abgastemperatur with packet to be sent as hexstring: 4105000108160226 and as bytes: bytearray(b'A\x05\x00\x01\x08\x16\x02&')
                    2020-06-14 17:11:22 WARNING plugins.viessmann Communication no longer initialized, trying to reestablish.
                    2020-06-14 17:11:22 INFO plugins.viessmann Init Communication....
                    2020-06-14 17:11:22 DEBUG plugins.viessmann send_bytes: Send sync command b'\x16\x00\x00'
                    2020-06-14 17:11:22 DEBUG plugins.viessmann read_bytes: Read b'\x05'
                    2020-06-14 17:11:22 DEBUG plugins.viessmann send_bytes: Send sync command b'\x16\x00\x00'
                    2020-06-14 17:11:22 DEBUG plugins.viessmann read_bytes: Read b'\x06'
                    2020-06-14 17:11:22 INFO plugins.viessmann Communication initialized: True
                    2020-06-14 17:11:22 DEBUG plugins.viessmann Successfully sent packet: 4105000108160226
                    2020-06-14 17:11:22 DEBUG plugins.viessmann Trying to receive 11 bytes of the response.
                    2020-06-14 17:11:23 DEBUG plugins.viessmann Received 3 bytes chunk of response as hexstring 060606 and as bytes b'\x06\x06\x06'
                    2020-06-14 17:11:23 ERROR plugins.viessmann bytes to calculate checksum from not starting with start byte
                    2020-06-14 17:11:23 ERROR plugins.viessmann Calculated checksum 0 does not match received checksum of 6! Ignoring reponse.
                    2020-06-14 17:11:23 INFO plugins.viessmann Triggering cyclic read command: Relais_K12
                    2020-06-14 17:11:23 DEBUG plugins.viessmann Got a new read job: Command Relais_K12
                    2020-06-14 17:11:23 DEBUG plugins.viessmann Command config: {'addr': '0842', 'set': False, 'unit': 'IUBOOL', 'len': 1}
                    2020-06-14 17:11:23 DEBUG plugins.viessmann 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-14 17:11:23 DEBUG plugins.viessmann Successfully sent packet: 4105000108420151
                    2020-06-14 17:11:23 DEBUG plugins.viessmann Trying to receive 10 bytes of the response.
                    2020-06-14 17:11:24 DEBUG plugins.viessmann Received 1 bytes chunk of response as hexstring 05 and as bytes b'\x05'
                    2020-06-14 17:11:24 ERROR plugins.viessmann Received invalid chunk, connection not initialized. Forcing re-initialize...
                    Er kriegt nicht nur einmal 0x06, sondern viermal, und dann fliegt er wieder raus. Aber danach:

                    Code:
                    2020-06-14 17:11:24 DEBUG plugins.viessmann Preparing command Brennerstarts with packet to be sent as hexstring: 41050001088a049c and as bytes: bytearray(b'A\x05\x00\x01\x08\x8a\x04\x9c')
                    2020-06-14 17:11:24 WARNING plugins.viessmann Communication no longer initialized, trying to reestablish.
                    2020-06-14 17:11:24 INFO plugins.viessmann Init Communication....
                    2020-06-14 17:11:25 DEBUG plugins.viessmann send_bytes: Send reset command b'\x04'
                    2020-06-14 17:11:25 DEBUG plugins.viessmann read_bytes: Read b'\x05'
                    2020-06-14 17:11:25 DEBUG plugins.viessmann send_bytes: Send sync command b'\x16\x00\x00'
                    2020-06-14 17:11:25 DEBUG plugins.viessmann read_bytes: Read b'\x06'
                    2020-06-14 17:11:25 INFO plugins.viessmann Communication initialized: True
                    2020-06-14 17:11:25 DEBUG plugins.viessmann Successfully sent packet: 41050001088a049c
                    2020-06-14 17:11:26 DEBUG plugins.viessmann Trying to receive 13 bytes of the response.
                    2020-06-14 17:11:26 DEBUG plugins.viessmann Received 13 bytes chunk of response as hexstring 0641090101088a04670e000016 and as bytes b'\x06A\t\x01\x01\x08\x8a\x04g\x0e\x00\x00\x16'
                    2020-06-14 17:11:26 DEBUG plugins.viessmann Response decoded to: commandcode: 088a, responsedatacode: 1, valuebytecount: 4
                    2020-06-14 17:11:26 DEBUG plugins.viessmann Rawdatabytes formatted: 670e0000 and unformatted: bytearray(b'g\x0e\x00\x00')
                    2020-06-14 17:11:26 DEBUG plugins.viessmann Corresponding Item: viessmann.brenner.starts; Corresponding commandname: Brennerstarts
                    2020-06-14 17:11:26 DEBUG plugins.viessmann Unit defined to ISNON with config {'signed': True, 'unit_de': 'INT signed non', 'type': 'integer', 'read_value_transform': 'non'}.
                    2020-06-14 17:11:26 DEBUG plugins.viessmann Matched command Brennerstarts and read transformed value 3687 (integer raw value was 3687) and byte length 4.
                    Ein sauberer Init und dann gehts wieder.

                    Bei Michael ist das - soweit ich deine Logs gesehen habe - noch nicht passiert, oder?

                    Was mich wundert: erst beim letzten Mal (wo es dann auch klappt) schickt er ein Reset, bzw. loggt, dass er eins schickt. Da muss ich nochmal drüber schauen, wieso das vorher nicht passiert ist. Vielleicht würde das ja was ändern...

                    In Michaels Log von gestern sendet er den Reset nach dem IO-Error und dem Neuaufbau der Verbindung; daraufhin geht es auch - erstmal. Danach fliegt er wieder raus.



                    Ich erkenne in dem "Init klappt" bzw. "Init klappt nicht" noch kein System, das irritiert mich etwas. Wenn jemand eine Idee hat, nehme ich die gerne.

                    Stoepf, auf jeden Fall erstmal vielen Dank für die Mühe! Falls dir demnächst noch was auffällt - Aussetzer, Fehler im Log oder so - dann gib uns bitte Bescheid.

                    Kommentar


                      Zitat von Sisamiwe Beitrag anzeigen
                      loeserman hatte das erste Plugin entwickelt. Vielleicht kann er auch mal das neue Plugin unterstützen. Ich hatte ihn schon mal angeschrieben.
                      Stimmt, da war noch etwas. Okay ich versuche das mal bei mir einzubinden. Wo finde ich denn die letzte Version?
                      Zuletzt geändert von loeserman; 14.06.2020, 19:31.

                      Kommentar


                        https://github.com/Morg42/viessmann

                        Kommentar


                          Meine Heizung wurde 2015 eingebaut.

                          Beim Neustart hatte ich immer einen Fehler mit folgendem Item.
                          Da hab ich noch ein if/else ergänzt, damit mein Log "sauber" ist.
                          Code:
                                  betriebsart_str:
                                      type: str
                                      eval: "'Neustart' if value == '' else ['Standby', 'Warmwasser (Schaltzeiten)', 'Heizen und Warmwasser (Schaltzeiten)', 'reduziert Heizen (dauernd)', 'normal Heizen (dauernd)'][int(value)]"
                                      eval_trigger: ..
                          Ich hab bei mir auch noch ein paar Datenpunkte für die Solarthermie ergänzt.
                          Code:
                                  #Solar
                                  'Nachladeunterdrueckung':                     {'addr': '6551', 'len': 1, 'unit': 'IUBOOL', 'set': False},    
                                  '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},    
                                  'Solarsteuerung':                             {'addr': '7754', 'len': 2, 'unit': 'IUINT',   'set': False},
                          und eine neue Einheit:
                          Code:
                                  'IU100':   {'unit_de': 'INT unsigned 100',  'type': 'integer',  'signed': False, 'read_value_transform': '100'},        # vito unit:
                          Falls mir sonst noch was auffällt, meld ich mich natürlich.

                          Gruß
                          Stefan

                          Kommentar


                            Wenn du das ergänzt hast, kannst du auch gern nen PR aufmachen, dann muss ich das nicht alles extra eingeben

                            Kommentar


                              Done

                              Kommentar


                                Ich versuche gerade, das _init_communication() nochmal zu durchschauen...

                                Initialisierung der Kommunikation (alle Werte in Hex)
                                • Vitotronic sendet periodisch (ca. 2s) 0x05
                                • Senden von 0x04 (EOT) um einen definierten Ausgangszustand zu erhalten.
                                • Erneutes 0x05 der Vitotronic abwarten
                                • Darauf sofort Antwort geben mit der Synchronisierungssequenz 0x16 0x00 0x00 (diese Synchronisierungssequenz kann vom verbundenen Programm periodisch gesendet werden, um ein Timeout der Kommunikation zu verhindern).
                                • Vitotronic antwortet mit 0x06
                                • Das periodische Senden von 0x05 hört damit auf
                                Also im Prinzip jederzeit ein out: RESET 0x04 senden, dann auf in: NO_INIT 0x05 mit out: SYNC 0x16 00 00 antworten und mit in: ACK 0x06 Bestätigung der Initialisierung erhalten.

                                In _init_communication(): (gekürzt)
                                Code:
                                # send RESET
                                self._send_bytes(self._int2bytes(self._controlset['Reset_Command'], 1))
                                readbyte = self._read_bytes(1)
                                
                                for i in range(0, 10):
                                
                                    # nach out:SYNC in:ACK:
                                    if initstringsent and self._lastbyte == self._int2bytes(self._controlset['Acknowledge'], 1):
                                        # fertig...
                                        break
                                    # das verstehe ich nicht - kein SYNC gesendet, aber trotzdem auf ACK mit SYNC reagieren?
                                    if self._lastbyte == self._int2bytes(self._controlset['Acknowledge'], 1) or self._lastbyte == self._int2bytes(self._controlset['Not_initiated'], 1):
                                        self._send_bytes(self._int2bytes(self._controlset['Sync_Command'], 3))
                                        initstringsent = True
                                    # Fehler, RESET
                                    elif self._lastbyte == self._int2bytes(self._controlset['Init_Error'], 1):
                                        self._send_bytes(self._int2bytes(self._controlset['Reset_Command'], 1))
                                        initstringsent = False
                                    # ansonsten: RESET
                                    else:
                                        self._send_bytes(self._int2bytes(self._controlset['Reset_Command'], 1))
                                        initstringsent = False
                                Wenn ich noch nicht SYNC gesendet habe und ein ACK 0x06 empfange, dann ist doch die Statuserkennung der Initialisierung total im Eimer - die Anlage glaubt, sie wäre fertig (0x06), aber wir senden dann ein SYNC.

                                Ich bin nicht überzeugt, dass das der Fehler ist, aber logisch scheint mir das nicht. Hier dürfte er doch nur auf NO_INIT 0x05 reagieren und dann SYNC senden, oder?

                                Ich hab das mal angepasst (Reaktion an der Stelle nur auf NO_INIT, nicht auf ACK; außerdem das Logging etwas erweitert). An der Logik für reconnect habe ich jetzt nichts gefunden, was man tun sollte. Eine Erkennung von mehreren "leeren" Reads könnten wir später noch testen.

                                Ich pushe gleich noch die letzte Version. Dann könnt ihr ja nochmal testen...

                                Ich habs hier getestet - bekomme auch anfangs die 10x 0x05, dann merkt er es, -> 0x04, 0x05 -> 0x16 00 00, 0x06 und alles läuft wieder. Völlig problemlos. (Allerdings hatte ich vorher auch noch keine Probleme...)

                                Kommentar

                                Lädt...
                                X