Ankündigung

Einklappen
Keine Ankündigung bisher.

ComfoAir Steuerung über RS232

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

    Ja klar, an den Vorteil bzw. räumlichen Zwang hatte ich jetzt gar nicht gedacht
    Bei mir sind Heizungsraum (=Standort KWL) und Anschlussraum (=Standort WG) gleich nebenan, das geht noch direkt über seriell.
    Endlich umgezogen. Fertig? Noch lange nicht... ;-)

    Kommentar


      Mir ist gerade aufgefallen, das doch nicht alles reibungslos funktioniert. Das Setzen der Lüfterstüfen gibt leider nur eine Fehlermeldung. Zurückgemeldete Lüftungsstufe bleibt unverändert. Jemand eine Idee?

      PluginLog sagt folgendes (Stufe 1,2,3 nacheinander gesetzt)
      Code:
      2012-12-28 15:05:05.564,ComfoAir_kwl.pl,conf file [/etc/wiregate/plugin/generic/conf.d/ComfoAir_kwl.conf] returned result[1]
      2012-12-28 15:05:05.586,ComfoAir_kwl.pl,Schnittstelle: /dev/usbserial-1-4.1 erfolgreich geöffnet
      2012-12-28 15:05:05.597,ComfoAir_kwl.pl,Stufe 1 setzen
      2012-12-28 15:05:06.033,ComfoAir_kwl.pl,Checksumme fehlerhaft! Gelesen:  Berechnet: ad
      2012-12-28 15:05:09.885,ComfoAir_kwl.pl,conf file [/etc/wiregate/plugin/generic/conf.d/ComfoAir_kwl.conf] returned result[1]
      2012-12-28 15:05:09.894,ComfoAir_kwl.pl,Schnittstelle: /dev/usbserial-1-4.1 erfolgreich geöffnet
      2012-12-28 15:05:09.902,ComfoAir_kwl.pl,Stufe 2 setzen
      2012-12-28 15:05:10.398,ComfoAir_kwl.pl,Checksumme fehlerhaft! Gelesen:  Berechnet: ad
      2012-12-28 15:05:13.627,ComfoAir_kwl.pl,conf file [/etc/wiregate/plugin/generic/conf.d/ComfoAir_kwl.conf] returned result[1]
      2012-12-28 15:05:13.644,ComfoAir_kwl.pl,Schnittstelle: /dev/usbserial-1-4.1 erfolgreich geöffnet
      2012-12-28 15:05:13.652,ComfoAir_kwl.pl,Stufe 3 setzen
      2012-12-28 15:05:14.150,ComfoAir_kwl.pl,Checksumme fehlerhaft! Gelesen:  Berechnet: ad

      Edit:
      Stufe setzen geht doch, offenbar passt aber die zurückgemeldete Stufe nicht ganz.
      Endlich umgezogen. Fertig? Noch lange nicht... ;-)

      Kommentar


        Jetzt wird es kompliziert

        Sprechen wir jetzt von der offiziell von mir veröffentlichen Version oder der Entwiklerversion von Diego?

        In der Offiziellen Version sollte das nicht vorkommen. Du wärst der Erste, der dieses Problem hat...
        Gruss Patrik alias swiss

        Kommentar


          Lieber Patrik

          Ich vermute, es ist Deine Version, denn die Fehlermeldung "Checksumme fehlerhaft" gibt es in meiner Version nicht.

          Dir wünsche ich von Herzen "es guets Nöis".

          Beste Grüsse
          Diego

          Kommentar


            Hoi Diego

            Danke. "Dir au äs guäts Neus"

            Also muss ich mir gleich mal den Code durchsehen. Hoffe, dassich nicht gleichwieder ausrücken muss... Ich sehe mir dass aber auf jeden Fall an.
            Gruss Patrik alias swiss

            Kommentar


              Also ich bin nochmal den Code durchgegangen. Ich habe weiter vorne im Thread gelesen, dass du (Hauke) das Plugin mit einer ComfoAir 550 betreibst. Könnte sein, dass da etwas an den Parametern gefeilt werden müsste, weil sich die ComfoAir 550 vieleicht ein bischen anders verhält.

              Setze mal die Variable Debuglevel auf 3 und sende noch einmal ein paar Werte. Dann stelle bitte das Pluginlog hier ein. Vieleicht können wir so dem Fehler auf den Grund gehen
              Gruss Patrik alias swiss

              Kommentar


                Sorry, ich war vorhin etwas knapp dran, daher schiebe ich jetzt noch mal ein paar Informationen nach:
                1. Ja, richtig. ComfoAir550
                2. die Version von dir, Patrik, aus Post#90
                3. ich stell' mal debug auf 3 und berichte weiter.
                Endlich umgezogen. Fertig? Noch lange nicht... ;-)

                Kommentar


                  So, hier nun das Ergebnis:

                  Code:
                  2012-12-28 16:53:21.845,ComfoAir_kwl.pl, reading conf file [/etc/wiregate/plugin/generic/conf.d/ComfoAir_kwl.conf].
                  2012-12-28 16:53:21.850,ComfoAir_kwl.pl,conf file [/etc/wiregate/plugin/generic/conf.d/ComfoAir_kwl.conf] returned result[2]
                  2012-12-28 16:53:21.872,ComfoAir_kwl.pl,Schnittstelle: /dev/usbserial-1-4.1 erfolgreich geöffnet
                  2012-12-28 16:53:21.877,ComfoAir_kwl.pl,Stufe 1 setzen
                  2012-12-28 16:53:21.877,ComfoAir_kwl.pl,data: 00990102
                  2012-12-28 16:53:21.877,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 00990102AD
                  2012-12-28 16:53:21.878,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 329
                  2012-12-28 16:53:21.878,ComfoAir_kwl.pl,Checksumme vor der Kürzung: 149
                  
                  2012-12-28 16:53:21.878,ComfoAir_kwl.pl,Checksumme nach der Kürzung: 49
                  2012-12-28 16:53:21.878,ComfoAir_kwl.pl,Checksumme aus der Subroutine: 49
                  2012-12-28 16:53:21.879,ComfoAir_kwl.pl,transmit: 0x7 0xf0 0x0 0x99 0x1 0x2 0x49 0x7 0xf 
                  2012-12-28 16:53:21.887,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:21.888,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:21.888,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:21.888,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:21.889,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:21.889,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:21.889,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:21.889,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:21.890,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:21.890,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:21.890,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:21.899,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:21.900,ComfoAir_kwl.pl,reciv-direkt:     07f3
                  2012-12-28 16:53:21.900,ComfoAir_kwl.pl,reciv-direkt:
                  dann folgen ca. 500 zeilen mit
                  Code:
                  2012-12-28 16:53:25.411,ComfoAir_kwl.pl,reciv-direkt:
                  und am Ende
                  Code:
                  2012-12-28 16:53:25.411,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:25.412,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:25.412,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:25.412,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:25.412,ComfoAir_kwl.pl,reciv-direkt:     
                  2012-12-28 16:53:25.413,ComfoAir_kwl.pl,String vor Kuerzung Ende: 07f3
                  2012-12-28 16:53:25.413,ComfoAir_kwl.pl,String nach Kuerzung Ende: 
                  2012-12-28 16:53:25.413,ComfoAir_kwl.pl,String ohne 07f3: 
                  2012-12-28 16:53:25.413,ComfoAir_kwl.pl,Erste 4 Byte des Datenpakets: 
                  2012-12-28 16:53:25.413,ComfoAir_kwl.pl,Checksumme gelesen: 
                  2012-12-28 16:53:25.414,ComfoAir_kwl.pl,Datenpaket ohne Checksumme: 
                  2012-12-28 16:53:25.414,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: AD
                  2012-12-28 16:53:25.414,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 173
                  2012-12-28 16:53:25.414,ComfoAir_kwl.pl,Checksumme vor der Kürzung: ad
                  
                  2012-12-28 16:53:25.414,ComfoAir_kwl.pl,Checksumme nach der Kürzung: ad
                  2012-12-28 16:53:25.415,ComfoAir_kwl.pl,Checksumme fehlerhaft! Gelesen:  Berechnet: ad
                  2012-12-28 16:53:25.423,ComfoAir_kwl.pl,ENDE Aufruf durch GA
                  Endlich umgezogen. Fertig? Noch lange nicht... ;-)

                  Kommentar


                    Alles Klar... Du hast 0 Rückmeldung...

                    Die Frage ist, ob du RX und TX am RS232 ausgekreuzt hast? Sieht nämlich fast so aus als hätest du:

                    Senden >-< Senden
                    Empfangen <-> Empfangen

                    Richtig wäre:

                    Senden -> Empfangen
                    Empfangen <- Senden

                    So können weder Befehle gesendet noch empfangen werden.

                    Versuche es mal mit einem Nullmodemkabel dazwischen oder bastel dir einen SubD an die EASE-Schnittstelle
                    Gruss Patrik alias swiss

                    Kommentar


                      So einfach ist es leider nicht.

                      Soweit ich das bisher durchschaut habe kommt doch sogar ein ACK

                      Code:
                      2012-12-28 16:53:21.900,ComfoAir_kwl.pl,reciv-direkt:     07f3
                      Das Log vom zyklischen Aufruf sieht so aus:
                      Code:
                      2012-12-28 17:40:19.509,ComfoAir_kwl.pl, reading conf file [/etc/wiregate/plugin/generic/conf.d/ComfoAir_kwl.conf].
                      2012-12-28 17:40:19.517,ComfoAir_kwl.pl,conf file [/etc/wiregate/plugin/generic/conf.d/ComfoAir_kwl.conf] returned result[2]
                      2012-12-28 17:40:19.524,ComfoAir_kwl.pl,Schnittstelle: /dev/usbserial-1-4.1 erfolgreich geöffnet
                      2012-12-28 17:40:19.525,ComfoAir_kwl.pl,Temperatur abrufen
                      2012-12-28 17:40:19.525,ComfoAir_kwl.pl,data: 00D100
                      2012-12-28 17:40:19.525,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 00D100AD
                      2012-12-28 17:40:19.525,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 382
                      2012-12-28 17:40:19.526,ComfoAir_kwl.pl,Checksumme vor der Kürzung: 17e
                      
                      2012-12-28 17:40:19.526,ComfoAir_kwl.pl,Checksumme nach der Kürzung: 7e
                      2012-12-28 17:40:19.526,ComfoAir_kwl.pl,Checksumme aus der Subroutine: 7e
                      2012-12-28 17:40:19.527,ComfoAir_kwl.pl,transmit: 0x7 0xf0 0x0 0xd1 0x0 0x7e 0x7 0xf 
                      2012-12-28 17:40:19.529,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.529,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.529,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.531,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.531,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.531,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.532,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.533,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.533,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.533,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.534,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.535,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.535,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.535,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.537,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.537,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.537,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.538,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.539,ComfoAir_kwl.pl,reciv-direkt:     07
                      2012-12-28 17:40:19.539,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.541,ComfoAir_kwl.pl,reciv-direkt:     f3
                      2012-12-28 17:40:19.541,ComfoAir_kwl.pl,reciv-direkt:     07
                      2012-12-28 17:40:19.541,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.543,ComfoAir_kwl.pl,reciv-direkt:     f000
                      2012-12-28 17:40:19.545,ComfoAir_kwl.pl,reciv-direkt:     d2
                      2012-12-28 17:40:19.545,ComfoAir_kwl.pl,reciv-direkt:     09
                      2012-12-28 17:40:19.545,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.547,ComfoAir_kwl.pl,reciv-direkt:     54
                      2012-12-28 17:40:19.548,ComfoAir_kwl.pl,reciv-direkt:     37
                      2012-12-28 17:40:19.549,ComfoAir_kwl.pl,reciv-direkt:     444e
                      2012-12-28 17:40:19.549,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.551,ComfoAir_kwl.pl,reciv-direkt:     39
                      2012-12-28 17:40:19.551,ComfoAir_kwl.pl,reciv-direkt:     1f
                      2012-12-28 17:40:19.552,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.553,ComfoAir_kwl.pl,reciv-direkt:     28
                      2012-12-28 17:40:19.553,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.555,ComfoAir_kwl.pl,reciv-direkt:     28
                      2012-12-28 17:40:19.555,ComfoAir_kwl.pl,reciv-direkt:     28
                      2012-12-28 17:40:19.556,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.557,ComfoAir_kwl.pl,reciv-direkt:     75
                      2012-12-28 17:40:19.557,ComfoAir_kwl.pl,reciv-direkt:     07
                      2012-12-28 17:40:19.559,ComfoAir_kwl.pl,reciv-direkt:     0f
                      2012-12-28 17:40:19.559,ComfoAir_kwl.pl,ACK senden
                      2012-12-28 17:40:19.559,ComfoAir_kwl.pl,String ohne 07f3: 07f307f000d2095437444e391f28282875
                      2012-12-28 17:40:19.559,ComfoAir_kwl.pl,Erste 4 Byte des Datenpakets: 07f3
                      2012-12-28 17:40:19.560,ComfoAir_kwl.pl,reciv gekuerzt: 07f000d2095437444e391f28282875
                      2012-12-28 17:40:19.561,ComfoAir_kwl.pl,NEU. Erste 4 Byte des Datenpakets: 07f0
                      2012-12-28 17:40:19.561,ComfoAir_kwl.pl,reciv gekuerzt: 00d2095437444e391f28282875
                      2012-12-28 17:40:19.561,ComfoAir_kwl.pl,NEU. Erste 4 Byte des Datenpakets: 00d2
                      2012-12-28 17:40:19.561,ComfoAir_kwl.pl,Checksumme gelesen: 75
                      2012-12-28 17:40:19.561,ComfoAir_kwl.pl,Datenpaket ohne Checksumme: 00d2095437444e391f282828
                      2012-12-28 17:40:19.562,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 00d2095437444e391f282828AD
                      2012-12-28 17:40:19.563,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 885
                      2012-12-28 17:40:19.564,ComfoAir_kwl.pl,Checksumme vor der Kürzung: 375
                      
                      2012-12-28 17:40:19.564,ComfoAir_kwl.pl,Checksumme nach der Kürzung: 75
                      2012-12-28 17:40:19.565,ComfoAir_kwl.pl,Checksumme OK 
                      2012-12-28 17:40:19.605,ComfoAir_kwl.pl,AUL: 7.5°C, ZUL:14°C, ABL: 19°C, FOL: 8.5°C
                      2012-12-28 17:40:19.605,ComfoAir_kwl.pl,Ventilator Status abrufen
                      2012-12-28 17:40:19.605,ComfoAir_kwl.pl,data: 000B00
                      2012-12-28 17:40:19.605,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 000B00AD
                      2012-12-28 17:40:19.606,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 184
                      2012-12-28 17:40:19.606,ComfoAir_kwl.pl,Checksumme vor der Kürzung: b8
                      
                      2012-12-28 17:40:19.606,ComfoAir_kwl.pl,Checksumme nach der Kürzung: b8
                      2012-12-28 17:40:19.606,ComfoAir_kwl.pl,Checksumme aus der Subroutine: b8
                      2012-12-28 17:40:19.607,ComfoAir_kwl.pl,transmit: 0x7 0xf0 0x0 0xb 0x0 0xb8 0x7 0xf 
                      2012-12-28 17:40:19.609,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.609,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.612,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.613,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.613,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.613,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.615,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.618,ComfoAir_kwl.pl,reciv-direkt:     07
                      2012-12-28 17:40:19.619,ComfoAir_kwl.pl,reciv-direkt:     f3
                      2012-12-28 17:40:19.622,ComfoAir_kwl.pl,reciv-direkt:     07f000
                      2012-12-28 17:40:19.623,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.627,ComfoAir_kwl.pl,reciv-direkt:     0c062d2304
                      2012-12-28 17:40:19.628,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.629,ComfoAir_kwl.pl,reciv-direkt:     c8
                      2012-12-28 17:40:19.631,ComfoAir_kwl.pl,reciv-direkt:     06
                      2012-12-28 17:40:19.633,ComfoAir_kwl.pl,reciv-direkt:     3c1d
                      2012-12-28 17:40:19.635,ComfoAir_kwl.pl,reciv-direkt:     070f
                      2012-12-28 17:40:19.637,ComfoAir_kwl.pl,ACK senden
                      2012-12-28 17:40:19.637,ComfoAir_kwl.pl,String ohne 07f3: 07f307f0000c062d2304c8063c1d
                      2012-12-28 17:40:19.637,ComfoAir_kwl.pl,Erste 4 Byte des Datenpakets: 07f3
                      2012-12-28 17:40:19.637,ComfoAir_kwl.pl,reciv gekuerzt: 07f0000c062d2304c8063c1d
                      2012-12-28 17:40:19.637,ComfoAir_kwl.pl,NEU. Erste 4 Byte des Datenpakets: 07f0
                      2012-12-28 17:40:19.640,ComfoAir_kwl.pl,reciv gekuerzt: 000c062d2304c8063c1d
                      2012-12-28 17:40:19.641,ComfoAir_kwl.pl,NEU. Erste 4 Byte des Datenpakets: 000c
                      2012-12-28 17:40:19.641,ComfoAir_kwl.pl,Checksumme gelesen: 1d
                      2012-12-28 17:40:19.641,ComfoAir_kwl.pl,Datenpaket ohne Checksumme: 000c062d2304c8063c
                      2012-12-28 17:40:19.641,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 000c062d2304c8063cAD
                      2012-12-28 17:40:19.644,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 541
                      2012-12-28 17:40:19.645,ComfoAir_kwl.pl,Checksumme vor der Kürzung: 21d
                      
                      2012-12-28 17:40:19.645,ComfoAir_kwl.pl,Checksumme nach der Kürzung: 1d
                      2012-12-28 17:40:19.645,ComfoAir_kwl.pl,Checksumme OK 
                      2012-12-28 17:40:19.645,ComfoAir_kwl.pl,ZUL: 45% ABL: 35%
                      2012-12-28 17:40:19.676,ComfoAir_kwl.pl,Bypass Zustand abrufen
                      2012-12-28 17:40:19.676,ComfoAir_kwl.pl,data: 000D00
                      2012-12-28 17:40:19.676,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 000D00AD
                      2012-12-28 17:40:19.676,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 186
                      2012-12-28 17:40:19.676,ComfoAir_kwl.pl,Checksumme vor der Kürzung: ba
                      
                      2012-12-28 17:40:19.677,ComfoAir_kwl.pl,Checksumme nach der Kürzung: ba
                      2012-12-28 17:40:19.677,ComfoAir_kwl.pl,Checksumme aus der Subroutine: ba
                      2012-12-28 17:40:19.677,ComfoAir_kwl.pl,transmit: 0x7 0xf0 0x0 0xd 0x0 0xba 0x7 0xf 
                      2012-12-28 17:40:19.678,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.678,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.678,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.679,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.684,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.684,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.684,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.687,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.688,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.691,ComfoAir_kwl.pl,reciv-direkt:     07f307f0
                      2012-12-28 17:40:19.693,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.696,ComfoAir_kwl.pl,reciv-direkt:     000e04
                      2012-12-28 17:40:19.697,ComfoAir_kwl.pl,reciv-direkt:     00ff
                      2012-12-28 17:40:19.697,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.703,ComfoAir_kwl.pl,reciv-direkt:     0000
                      2012-12-28 17:40:19.704,ComfoAir_kwl.pl,reciv-direkt:     be070f
                      2012-12-28 17:40:19.705,ComfoAir_kwl.pl,ACK senden
                      2012-12-28 17:40:19.705,ComfoAir_kwl.pl,String ohne 07f3: 07f307f0000e0400ff0000be
                      2012-12-28 17:40:19.705,ComfoAir_kwl.pl,Erste 4 Byte des Datenpakets: 07f3
                      2012-12-28 17:40:19.705,ComfoAir_kwl.pl,reciv gekuerzt: 07f0000e0400ff0000be
                      2012-12-28 17:40:19.706,ComfoAir_kwl.pl,NEU. Erste 4 Byte des Datenpakets: 07f0
                      2012-12-28 17:40:19.707,ComfoAir_kwl.pl,reciv gekuerzt: 000e0400ff0000be
                      2012-12-28 17:40:19.707,ComfoAir_kwl.pl,NEU. Erste 4 Byte des Datenpakets: 000e
                      2012-12-28 17:40:19.707,ComfoAir_kwl.pl,Checksumme gelesen: be
                      2012-12-28 17:40:19.707,ComfoAir_kwl.pl,Datenpaket ohne Checksumme: 000e0400ff0000
                      2012-12-28 17:40:19.707,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 000e0400ff0000AD
                      2012-12-28 17:40:19.710,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 446
                      2012-12-28 17:40:19.711,ComfoAir_kwl.pl,Checksumme vor der Kürzung: 1be
                      
                      2012-12-28 17:40:19.714,ComfoAir_kwl.pl,Checksumme nach der Kürzung: be
                      2012-12-28 17:40:19.715,ComfoAir_kwl.pl,Checksumme OK 
                      2012-12-28 17:40:19.715,ComfoAir_kwl.pl,Bypass: 0%
                      2012-12-28 17:40:19.723,ComfoAir_kwl.pl,Betriebsstunden abrufen
                      2012-12-28 17:40:19.723,ComfoAir_kwl.pl,data: 00DD00
                      2012-12-28 17:40:19.724,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 00DD00AD
                      2012-12-28 17:40:19.725,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 394
                      2012-12-28 17:40:19.725,ComfoAir_kwl.pl,Checksumme vor der Kürzung: 18a
                      
                      2012-12-28 17:40:19.725,ComfoAir_kwl.pl,Checksumme nach der Kürzung: 8a
                      2012-12-28 17:40:19.725,ComfoAir_kwl.pl,Checksumme aus der Subroutine: 8a
                      2012-12-28 17:40:19.727,ComfoAir_kwl.pl,transmit: 0x7 0xf0 0x0 0xdd 0x0 0x8a 0x7 0xf 
                      2012-12-28 17:40:19.730,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.731,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.733,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.733,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.733,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.737,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.738,ComfoAir_kwl.pl,reciv-direkt:     07
                      2012-12-28 17:40:19.740,ComfoAir_kwl.pl,reciv-direkt:     f3
                      2012-12-28 17:40:19.742,ComfoAir_kwl.pl,reciv-direkt:     07f000
                      2012-12-28 17:40:19.742,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.745,ComfoAir_kwl.pl,reciv-direkt:     de1400
                      2012-12-28 17:40:19.745,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.745,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.749,ComfoAir_kwl.pl,reciv-direkt:     037b0009
                      2012-12-28 17:40:19.749,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.751,ComfoAir_kwl.pl,reciv-direkt:     5e00
                      2012-12-28 17:40:19.751,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.756,ComfoAir_kwl.pl,reciv-direkt:     06aa0000
                      2012-12-28 17:40:19.757,ComfoAir_kwl.pl,reciv-direkt:     0000
                      2012-12-28 17:40:19.758,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.759,ComfoAir_kwl.pl,reciv-direkt:     02
                      2012-12-28 17:40:19.763,ComfoAir_kwl.pl,reciv-direkt:     300707c5
                      2012-12-28 17:40:19.763,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.763,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.767,ComfoAir_kwl.pl,reciv-direkt:     0000093b
                      2012-12-28 17:40:19.767,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.770,ComfoAir_kwl.pl,reciv-direkt:     070f
                      2012-12-28 17:40:19.771,ComfoAir_kwl.pl,ACK senden
                      2012-12-28 17:40:19.773,ComfoAir_kwl.pl,String ohne 07f3: 07f307f000de1400037b00095e0006aa0000000002300707c50000093b
                      2012-12-28 17:40:19.773,ComfoAir_kwl.pl,Erste 4 Byte des Datenpakets: 07f3
                      2012-12-28 17:40:19.773,ComfoAir_kwl.pl,reciv gekuerzt: 07f000de1400037b00095e0006aa0000000002300707c50000093b
                      2012-12-28 17:40:19.775,ComfoAir_kwl.pl,NEU. Erste 4 Byte des Datenpakets: 07f0
                      2012-12-28 17:40:19.775,ComfoAir_kwl.pl,reciv gekuerzt: 00de1400037b00095e0006aa0000000002300707c50000093b
                      2012-12-28 17:40:19.777,ComfoAir_kwl.pl,NEU. Erste 4 Byte des Datenpakets: 00de
                      2012-12-28 17:40:19.777,ComfoAir_kwl.pl,Checksumme gelesen: 3b
                      2012-12-28 17:40:19.779,ComfoAir_kwl.pl,Datenpaket ohne Checksumme: 00de1400037b00095e0006aa0000000002300707c5000009
                      2012-12-28 17:40:19.779,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 00de1400037b00095e0006aa0000000002300707c5000009AD
                      2012-12-28 17:40:19.787,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 1083
                      2012-12-28 17:40:19.787,ComfoAir_kwl.pl,Checksumme vor der Kürzung: 43b
                      
                      2012-12-28 17:40:19.788,ComfoAir_kwl.pl,Checksumme nach der Kürzung: 3b
                      2012-12-28 17:40:19.788,ComfoAir_kwl.pl,Checksumme OK 
                      2012-12-28 17:40:19.788,ComfoAir_kwl.pl,Betriebsstunden: 1799h
                      2012-12-28 17:40:19.796,ComfoAir_kwl.pl,Binäreingänge abrufen
                      2012-12-28 17:40:19.796,ComfoAir_kwl.pl,data: 000300
                      2012-12-28 17:40:19.797,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 000300AD
                      2012-12-28 17:40:19.797,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 176
                      2012-12-28 17:40:19.797,ComfoAir_kwl.pl,Checksumme vor der Kürzung: b0
                      
                      2012-12-28 17:40:19.797,ComfoAir_kwl.pl,Checksumme nach der Kürzung: b0
                      2012-12-28 17:40:19.797,ComfoAir_kwl.pl,Checksumme aus der Subroutine: b0
                      2012-12-28 17:40:19.798,ComfoAir_kwl.pl,transmit: 0x7 0xf0 0x0 0x3 0x0 0xb0 0x7 0xf 
                      2012-12-28 17:40:19.801,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.802,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.802,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.807,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.808,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.808,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.813,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.813,ComfoAir_kwl.pl,reciv-direkt:     07f307f0
                      2012-12-28 17:40:19.819,ComfoAir_kwl.pl,reciv-direkt:     0004020000
                      2012-12-28 17:40:19.820,ComfoAir_kwl.pl,reciv-direkt:     b3
                      2012-12-28 17:40:19.821,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.824,ComfoAir_kwl.pl,reciv-direkt:     070f
                      2012-12-28 17:40:19.824,ComfoAir_kwl.pl,ACK senden
                      2012-12-28 17:40:19.824,ComfoAir_kwl.pl,String ohne 07f3: 07f307f00004020000b3
                      2012-12-28 17:40:19.824,ComfoAir_kwl.pl,Erste 4 Byte des Datenpakets: 07f3
                      2012-12-28 17:40:19.826,ComfoAir_kwl.pl,reciv gekuerzt: 07f00004020000b3
                      2012-12-28 17:40:19.826,ComfoAir_kwl.pl,NEU. Erste 4 Byte des Datenpakets: 07f0
                      2012-12-28 17:40:19.826,ComfoAir_kwl.pl,reciv gekuerzt: 0004020000b3
                      2012-12-28 17:40:19.829,ComfoAir_kwl.pl,NEU. Erste 4 Byte des Datenpakets: 0004
                      2012-12-28 17:40:19.830,ComfoAir_kwl.pl,Checksumme gelesen: b3
                      2012-12-28 17:40:19.830,ComfoAir_kwl.pl,Datenpaket ohne Checksumme: 0004020000
                      2012-12-28 17:40:19.830,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 0004020000AD
                      2012-12-28 17:40:19.830,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 179
                      2012-12-28 17:40:19.832,ComfoAir_kwl.pl,Checksumme vor der Kürzung: b3
                      
                      2012-12-28 17:40:19.832,ComfoAir_kwl.pl,Checksumme nach der Kürzung: b3
                      2012-12-28 17:40:19.832,ComfoAir_kwl.pl,Checksumme OK 
                      2012-12-28 17:40:19.832,ComfoAir_kwl.pl,Zustand Badezimmerschalter: 0
                      2012-12-28 17:40:19.842,ComfoAir_kwl.pl,Ventilationsstufe abrufen
                      2012-12-28 17:40:19.842,ComfoAir_kwl.pl,data: 00CD00
                      2012-12-28 17:40:19.842,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 00CD00AD
                      2012-12-28 17:40:19.842,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 378
                      2012-12-28 17:40:19.842,ComfoAir_kwl.pl,Checksumme vor der Kürzung: 17a
                      
                      2012-12-28 17:40:19.843,ComfoAir_kwl.pl,Checksumme nach der Kürzung: 7a
                      2012-12-28 17:40:19.843,ComfoAir_kwl.pl,Checksumme aus der Subroutine: 7a
                      2012-12-28 17:40:19.845,ComfoAir_kwl.pl,transmit: 0x7 0xf0 0x0 0xcd 0x0 0x7a 0x7 0xf 
                      2012-12-28 17:40:19.847,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.849,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.849,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.849,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.851,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.853,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.853,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.857,ComfoAir_kwl.pl,reciv-direkt:     07f3
                      2012-12-28 17:40:19.857,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.863,ComfoAir_kwl.pl,reciv-direkt:     07f000ce0e
                      2012-12-28 17:40:19.869,ComfoAir_kwl.pl,reciv-direkt:     0f23320f2332
                      2012-12-28 17:40:19.870,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.873,ComfoAir_kwl.pl,reciv-direkt:     232d02
                      2012-12-28 17:40:19.873,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.878,ComfoAir_kwl.pl,reciv-direkt:     01464600
                      2012-12-28 17:40:19.887,ComfoAir_kwl.pl,reciv-direkt:     0030070f
                      2012-12-28 17:40:19.887,ComfoAir_kwl.pl,ACK senden
                      2012-12-28 17:40:19.888,ComfoAir_kwl.pl,String ohne 07f3: 07f307f000ce0e0f23320f2332232d02014646000030
                      2012-12-28 17:40:19.888,ComfoAir_kwl.pl,Erste 4 Byte des Datenpakets: 07f3
                      2012-12-28 17:40:19.888,ComfoAir_kwl.pl,reciv gekuerzt: 07f000ce0e0f23320f2332232d02014646000030
                      2012-12-28 17:40:19.888,ComfoAir_kwl.pl,NEU. Erste 4 Byte des Datenpakets: 07f0
                      2012-12-28 17:40:19.888,ComfoAir_kwl.pl,reciv gekuerzt: 00ce0e0f23320f2332232d02014646000030
                      2012-12-28 17:40:19.889,ComfoAir_kwl.pl,NEU. Erste 4 Byte des Datenpakets: 00ce
                      2012-12-28 17:40:19.889,ComfoAir_kwl.pl,Checksumme gelesen: 30
                      2012-12-28 17:40:19.889,ComfoAir_kwl.pl,Datenpaket ohne Checksumme: 00ce0e0f23320f2332232d020146460000
                      2012-12-28 17:40:19.889,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 00ce0e0f23320f2332232d020146460000AD
                      2012-12-28 17:40:19.890,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 816
                      2012-12-28 17:40:19.890,ComfoAir_kwl.pl,Checksumme vor der Kürzung: 330
                      
                      2012-12-28 17:40:19.890,ComfoAir_kwl.pl,Checksumme nach der Kürzung: 30
                      2012-12-28 17:40:19.890,ComfoAir_kwl.pl,Checksumme OK 
                      2012-12-28 17:40:19.890,ComfoAir_kwl.pl,AKT_STUFE: 2
                      2012-12-28 17:40:19.902,ComfoAir_kwl.pl,Störungen abrufen
                      2012-12-28 17:40:19.902,ComfoAir_kwl.pl,data: 00D900
                      2012-12-28 17:40:19.902,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 00D900AD
                      2012-12-28 17:40:19.902,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 390
                      2012-12-28 17:40:19.903,ComfoAir_kwl.pl,Checksumme vor der Kürzung: 186
                      
                      2012-12-28 17:40:19.903,ComfoAir_kwl.pl,Checksumme nach der Kürzung: 86
                      2012-12-28 17:40:19.904,ComfoAir_kwl.pl,Checksumme aus der Subroutine: 86
                      2012-12-28 17:40:19.904,ComfoAir_kwl.pl,transmit: 0x7 0xf0 0x0 0xd9 0x0 0x86 0x7 0xf 
                      2012-12-28 17:40:19.907,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.908,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.911,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.912,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.913,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.916,ComfoAir_kwl.pl,reciv-direkt:     07f3
                      2012-12-28 17:40:19.916,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.920,ComfoAir_kwl.pl,reciv-direkt:     07f0
                      2012-12-28 17:40:19.922,ComfoAir_kwl.pl,reciv-direkt:     00da11
                      2012-12-28 17:40:19.924,ComfoAir_kwl.pl,reciv-direkt:     00
                      2012-12-28 17:40:19.927,ComfoAir_kwl.pl,reciv-direkt:     00000000
                      2012-12-28 17:40:19.928,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.933,ComfoAir_kwl.pl,reciv-direkt:     0000000000
                      2012-12-28 17:40:19.935,ComfoAir_kwl.pl,reciv-direkt:     000000
                      2012-12-28 17:40:19.936,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.939,ComfoAir_kwl.pl,reciv-direkt:     000000
                      2012-12-28 17:40:19.939,ComfoAir_kwl.pl,reciv-direkt:     
                      2012-12-28 17:40:19.945,ComfoAir_kwl.pl,reciv-direkt:     0098070f
                      2012-12-28 17:40:19.945,ComfoAir_kwl.pl,ACK senden
                      2012-12-28 17:40:19.945,ComfoAir_kwl.pl,String ohne 07f3: 07f307f000da11000000000000000000000000000000000098
                      2012-12-28 17:40:19.946,ComfoAir_kwl.pl,Erste 4 Byte des Datenpakets: 07f3
                      2012-12-28 17:40:19.946,ComfoAir_kwl.pl,reciv gekuerzt: 07f000da11000000000000000000000000000000000098
                      2012-12-28 17:40:19.946,ComfoAir_kwl.pl,NEU. Erste 4 Byte des Datenpakets: 07f0
                      2012-12-28 17:40:19.946,ComfoAir_kwl.pl,reciv gekuerzt: 00da11000000000000000000000000000000000098
                      2012-12-28 17:40:19.946,ComfoAir_kwl.pl,NEU. Erste 4 Byte des Datenpakets: 00da
                      2012-12-28 17:40:19.947,ComfoAir_kwl.pl,Checksumme gelesen: 98
                      2012-12-28 17:40:19.951,ComfoAir_kwl.pl,Datenpaket ohne Checksumme: 00da110000000000000000000000000000000000
                      2012-12-28 17:40:19.951,ComfoAir_kwl.pl,String für die Berechnung der Checksumme: 00da110000000000000000000000000000000000AD
                      2012-12-28 17:40:19.952,ComfoAir_kwl.pl,Checksumme vor der Umwandlung: 408
                      2012-12-28 17:40:19.952,ComfoAir_kwl.pl,Checksumme vor der Kürzung: 198
                      
                      2012-12-28 17:40:19.952,ComfoAir_kwl.pl,Checksumme nach der Kürzung: 98
                      2012-12-28 17:40:19.952,ComfoAir_kwl.pl,Checksumme OK 
                      2012-12-28 17:40:19.953,ComfoAir_kwl.pl,Aktueller Fehlercode: keiner
                      2012-12-28 17:40:19.975,ComfoAir_kwl.pl,ENDE Zyklische Abfrage
                      Geht alles super. Auch reagiert das Gerät auf Triggern der Lüfterstufen (das hört man mehr als deutlich). Seltsamerweise habe ich als Lüfterstatus bisher nur "2" gesehen.

                      Ich zerlege gerade die Antwort auf Abgrage Lüfterstufe. Da scheint tatsächlich "2" zu kommen, obwohl die aktuellen %-Werte zu Stufe 1 passen (Zuluft ist 10% höher wegen EWT).

                      Ich verstehe das Plugin noch nicht vollständig. Wird der Teil in dem die Antwort ausgewertet wird auch beim Aufruf durch GA ausgeführt? Ich habe gerade den Eindruck, dass das ACK empfangen wird als vollständige Antwort interpretiert wird. Da ist natürlich keine Checksumme drin... Außerdem bleibt das Plugin auch nach dem ACK noch auf Empfang, weil auf ein Ende gewartet wird.

                      Soweit ich das erkennen kann ist der einzige Punkt, im dem sich die 550 nicht an das Protokoll der 350 hält, das immer Stufe 2 gesendet wird.
                      Endlich umgezogen. Fertig? Noch lange nicht... ;-)

                      Kommentar


                        Also die zurückgelesene Lüfterstufe passt auch. Ich habe übersehen das "2" Stufe 1 ist. Das muss ich wohl im Mapping korrigieren.
                        Unbenannt.png
                        Wenn ich Stufe2 triggere, bekomme ich auch "3" (-> Stufe2) zurückgemeldet. Das geht also auch.

                        Bleibt die Frage, warum nach dem Senden versucht wird aus dem ACK eine Antwort zu lesen. Soweit ich das durchschaut habe ist der ganze Auswerte-Teil in der sub command_senden enthalten. Habe ich die richtige Version?
                        Code:
                        # Version 1.6 28.11.2012 BETA
                        Endlich umgezogen. Fertig? Noch lange nicht... ;-)

                        Kommentar


                          Ich glaube das ist ein genereller Fehler der noch nicht aufgefallen ist. Die Abfrage und das Ändern von Werten werden im Plugin gleich behandelt. Nur im Falle von Wert ändern kommt lediglich ein ACK anstatt einer verwertbaren Antwort zurück. Folge ist die Fehlermeldung wegen der Checksumme.
                          Ich habe mir jetzt wie folgt geholfen (ist wahrscheinlich nicht ganz ideal, scheint aber erstmal wie gewünscht zu funktionieren):
                          Code:
                          sub command_nur_senden{
                              my $data = $_[0];
                              if($debug>=2){plugin_log($plugname,'data: ' . $data);} 
                              $checksum = checksum_berechnen($data);
                              if($debug>=2){plugin_log($plugname,'Checksumme aus der Subroutine: '.$checksum);}
                              my $command = pack("H*","07F0" . $data . $checksum . "070F");
                              my $commandhex = $command;
                           
                              $commandhex =~ s/(.)/sprintf("0x%x ",ord($1))/eg;
                              if($debug>=2){plugin_log($plugname,'transmit: ' . $commandhex);} #Zeigt im Pluginlog das fertige Datenpaket, dass uebertragen wird
                                       if ($Kom_Art eq "S"){    
                                                       $seriel->write($command); #Befehl an die ComfoAir senden
                                       } elsif ($Kom_Art eq "M"){    
                                                       $plugin_info{$plugname.'_debug'} = $command;
                                                       syswrite($socket[$socknum], $command);
                                       }
                              $reciv = '';
                           
                              $|=1;
                              my $exit=0;
                              while($exit < $Zaehler) 
                              {
                                  if ($Kom_Art eq "S"){
                                       ($cin, $sin) = $seriel->read(45);
                                  }elsif ($Kom_Art eq "M"){
                                                           $sin ='';
                                                           if ($fh) { # Antwort auslesen
                                                                          recv($fh,$sin,80,0);
                                                           }
                                                           $cin = length($sin);
                                  }
                                  if($cin > 0){
                                      $sin = unpack "H*", $sin;
                                      $reciv .= $sin;
                                      $exit=0;
                                  }else{
                                      $exit++
                                  }
                              if ($reciv =~ /07f3/i) {
                            last;
                                  }
                              }#Ende While   
                          } #ENDE Sub command_nur_senden
                          die wird verwendet wenn ein Wert geschrieben werden soll. Ausstieg nach Timeout oder wenn ACK empfangen.

                          Der Teil Wert schreiben sieht dann folgendermaßen aus:
                          Code:
                              if ($msg{'dst'} eq $ga_stufeabwesend && knx_read($msg{'dst'},0,1) == 1) {
                                  $daten = "00990101";
                                  plugin_log($plugname,'Stufe abwesend setzen');
                                  $return_value2 = command_senden($daten);
                            #Status Ventilationsstufe zurücklesen
                            if($ga_aktstufe){ #Nur wenn die GA vergeben ist, die Ventilationsstufe abfragen
                             $daten = "00CD00";
                             if($debug>=1){plugin_log($plugname,'Ventilationsstufe abrufen');}
                             $return_value2 = command_senden($daten);
                            }
                            if($reciv =~ /00CE0E/i){ #Wenn Status Ventilatorenstufe empfangen wurden
                                      my $akt_stufe = substr($reciv,22,2);
                                      plugin_log($plugname,'AKT_STUFE: ' . hex($akt_stufe));
                                      knx_write($ga_aktstufe,hex($akt_stufe),5.005);                                                                                
                                  }
                          Das ACK abwarten und Wert zurücklesen ist entsprechen mehrfach in jeden elsif-Abschnitt eingefügt. Der Vorteil ist auch, das man sofort eine Rückmeldung über den geschriebenen Wert erhält.

                          Beim zyklischen Aufruf wird weiterhin die sub command_senden aufgerufen, die ist unverändert.

                          Es geht bestimmt auch eleganter....
                          Endlich umgezogen. Fertig? Noch lange nicht... ;-)

                          Kommentar


                            Wenn es so bei dir geht... gut Ich sehe mir das die Tage mal noch genauer an. Ist warscheinlich bei der Umstellung auf Subroutinen geschehen. Aber das Problem ist ja lösbar und zum Glück eher ein Schönheitsfehler als ein Beinbruch.

                            Trotzdem Danke für den Bugreport -> Wird bearbeitet
                            Gruss Patrik alias swiss

                            Kommentar


                              Hallo zusammen,

                              ich will meine Anlage auch an mein WG anschließen, aber die Frage ist, wie geht das genau? Oben auf der Platine ist eine Buchse, was für den direkten Anschluß des USB-Seriell-Adapters sprechen würde (ohne Null-Modemkabel). Klappt aber leider nicht. Wenn ich das tue, sind die empfangenen Daten identisch zu den gesendeten:
                              Code:
                              2012-12-31 18:23:45.526,ComfoAir,transmit: 0x7 0xf0 0x0 0xd1 0x0 0x7e 0x7 0xf
                              2012-12-31 18:23:45.528,ComfoAir,reciv-direkt:     07
                              2012-12-31 18:23:45.529,ComfoAir,reciv-direkt:     f0
                              2012-12-31 18:23:45.530,ComfoAir,reciv-direkt:     00
                              2012-12-31 18:23:45.531,ComfoAir,reciv-direkt:     d1
                              2012-12-31 18:23:45.532,ComfoAir,reciv-direkt:     00
                              2012-12-31 18:23:45.533,ComfoAir,reciv-direkt:     7e
                              2012-12-31 18:23:45.535,ComfoAir,reciv-direkt:     07
                              2012-12-31 18:23:45.536,ComfoAir,reciv-direkt:     0f
                              In der Protokollbeschreibung steht, daß man die RJ-45 Buchse nehmen soll. Also habe ich mir dafür ein Kabel gebastelt. Damit bekomme ich sinnlose Werte zurück...
                              Code:
                              2012-12-31 17:59:58.574,ComfoAir,transmit: 0x7 0xf0 0x0 0xd1 0x0 0x7e 0x7 0xf
                              2012-12-31 17:59:58.576,ComfoAir,reciv-direkt:     18
                              2012-12-31 17:59:58.578,ComfoAir,reciv-direkt:     80
                              2012-12-31 17:59:58.579,ComfoAir,reciv-direkt:     fc
                              2012-12-31 17:59:58.581,ComfoAir,reciv-direkt:     ff
                              2012-12-31 17:59:58.582,ComfoAir,reciv-direkt:     f8
                              2012-12-31 17:59:58.583,ComfoAir,reciv-direkt:     fc
                              Es fängt immer mit "18 80" an. Ich habe es auch am Desktop mit hterm probiert und die Sequenz zur Abfrage des Gerätetyps aus der Protokollbeschreibung probiert: 07 F0 00 69 00 16 07 0F (ja, habe ich wirklich als HEX und nicht als ASCII geschickt :-) )
                              Antwort ist entweder "18 80 FF 1F F8 FC" oder "18 80 FF 9F F8 FC".

                              Ich meine alle Möglichkeiten ausprobiert zu haben (auch drehen von RXD/TXD im Stecker). Kann mir bitte einer sagen, wie es korrekt verbunden werden muß?

                              PS: Die CC EASE ist natürlich abgeklemmt. Was dabei allerdings auffällig ist: TXD vom CC EASE hat zur SUB-D Buchse und der RJ-45 Buchse Durchgang. RXD nicht.... Als wenn RXD in keiner der beiden Buchsen liege würde...
                              Ich glaube ich bastel mir gleich in letzter Verzweiflung eine SUB-D-Buchse an ein Kabel und schließe das anstelle der CC EASE an....

                              Vielen Dank im Voraus.
                              Gruß, Carsten

                              Kommentar


                                Zitat von Northman Beitrag anzeigen
                                SUB-D-Buchse an ein Kabel und schließe das anstelle der CC EASE an....
                                Genau so hab ich es auch gemacht. Das sollte definitiv funktionieren.
                                Endlich umgezogen. Fertig? Noch lange nicht... ;-)

                                Kommentar

                                Lädt...
                                X