Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Plugin ComfoAir (KWL Wohnraumlüftung Zehnder, Paul, Wernig)

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

  • franzmm
    antwortet
    Hallo zusammen,

    da sich hier erfreulicherweise wieder etwas tut, wollte ich anregen, dass sich vielleicht jemand, der sich das zutraut, einen Fehler im Plugin behebt.
    Ich hatte vor einiger Zeit, das mal soweit gedebuggt, dass ich mir relativ sicher bin, dass es zu einem Fehler kommt, wenn das ACK (2 bytes) nicht an einem Stück ankommt, sondern zerstückelt ist (und vermutlich auch wenn die 2 bytes kommen und der Rest in einem nachfolgenden Telegram).
    Siehe hierzu Post #135, dort ist der Quellcode und das Problem beschrieben, leider habe ich kaum Erfahrung in Python um das zu beheben, vielleicht wäre es ein Ansatz, mindesten die ersten 2 oder besser 3 bytes zu empfangen und dann erst mit der Auswertung zu beginnen ....
    vielleicht findet sich jemand, der in Python fit genug ist

    Gruß

    Franz

    Einen Kommentar schreiben:


  • lucipher
    antwortet
    Hi Udo,

    es stimmt schon dass smarthome.py so noch funktioniert. Ich möchte aber dazu noch z-wave einbinden. Das funktioniert unter symcon schon auf anhieb. Dazu kommt der Stillstand bei SmartVisu.

    Edomi hab ich auch in diversen Versionsständen getestet. Interessantes Projekt, aber ich habe gern auf dem laufenden Server alle Rechte. Dazu muss auch hier für zwave Entwicklung geleistet werden.

    Weiterer Pluspunkt ist ebenfalls die Modus Integration für meine Sps.

    Passt für mich eben mehr.

    Gruß
    Sascha

    Einen Kommentar schreiben:


  • umatz
    antwortet
    Zitat von lucipher Beitrag anzeigen
    Hi Udo,

    hab nun mal Zeit gefunden den Code noch einmal zu öffnen.
    Hallo Sascha,

    vielen Dank für Deine Hinweise. Ich habe die Änderungen in den Plugin-Code übernommen, mal schauen ob es nun noch Fehlermeldungen zur Checksumme gibt.

    Stelle derzeit meinen Visu auf Symcon um, da smarthome.py für derzeit keine Option mehr ist. Callidomus ist ebenfalls für mich kein Weg. Daher zurück auf null und weiter mit einem komerziellen Produkt.
    Warum eigentlich? smarthome.py und die smartvisu funktionieren doch genauso wie vorher und es haben sich dankenswerterweise ein paar Leute gefunden, die smarthomeNG weiterentwickeln.

    Hast Du Dir als Alternative mal Edomi hier aus dem Forum angesehen? Habe es mir in eine VM installiert und spiele ein bisschen damit herum.

    Greetinx,
    Udo
    Zuletzt geändert von umatz; 19.06.2016, 20:14. Grund: Typo korrigiert.

    Einen Kommentar schreiben:


  • lucipher
    antwortet
    Hi Udo,

    hab nun mal Zeit gefunden den Code noch einmal zu öffnen. Stelle derzeit meinen Visu auf Symcon um, da smarthome.py für derzeit keine Option mehr ist. Callidomus ist ebenfalls für mich kein Weg. Daher zurück auf null und weiter mit einem komerziellen Produkt.

    Zu smarthome.py (__init__.py des Plugins comfoair)
    Ich habe lediglich das Auslesen der Checksumme etwas vorgezogen. Dann vergleiche ich auf den Specialcharacter "07" und verändere den Ausschnitt der Databytes.

    Anbei noch ein Screenshot über den diff und das Codebeispiel. Hoffe das hilft. Bei mir hat er daraufhin keine Fehler mehr auf Checksumme gebracht.

    Bildschirmfoto vom 2016-06-19 15-08-56.png

    PHP-Code:
     # Get Received Checksum
            
    receivedchecksum response[len(response) - len(self._packetend) - 1]

            
    # Remove begin and checksum to get the data
            
    if receivedchecksum != self._controlset['SpecialCharacter']:
                
    rawdatabytes response[5:-3]
            else:
                
    rawdatabytes response[5:-4
    Gruß

    Sascha
    Zuletzt geändert von lucipher; 19.06.2016, 14:20.

    Einen Kommentar schreiben:


  • lucipher
    antwortet
    Hi,

    ich poste heute Abend mal die Änderung.

    Gruß

    Sascha

    Einen Kommentar schreiben:


  • umatz
    antwortet
    Zitat von lucipher Beitrag anzeigen
    Hi,

    die Daten werden im Plugin nicht korrekt extrahiert wenn die Prüfsumme eine 07 ist.

    Code:
    2015-12-23 19:10:50 ERROR ComfoAir-cyclic ComfoAir: Ignored command: 07:f0:00:0c:06:3e:3e:03:da:03:ec:07:07:07:0f
    2015-12-23 19:10:50 ERROR ComfoAir-cyclic ComfoAir: Corresponding read command: 00:0b:00, decoded data: 3e:3e:03:da:03:ec:07 (raw: 3e:3e:03:da:03:ec:07)
    2015-12-23 19:10:50 ERROR ComfoAir-cyclic ComfoAir: Calculated checksum of 14 does not match received checksum of 7! Ignoring reponse.
    Die Datenlänge sind 6 Bytes und es werden 7 extrahiert.

    Code:
    # Remove begin and checksum to get the data
    rawdatabytes = response[5:-3]
    Das kann man aber über eine Selektion abfangen. Muss ich mal umschreiben. Aber nicht in den Weihnachtstagen. Sonst gibts von der Frau mecker.


    Gruß
    Hallo,

    bei mir taucht dieser Fehler auch immer wieder im Log auf. Hast Du eine Idee, wie man das Problem mit der Prüfsummenvalidierung bei Prüfsummenwert 07 fixen kann?

    Greetinx,
    Udo

    Einen Kommentar schreiben:


  • pavol
    antwortet
    Hallo an alle,

    ich habe nichts dagegen, ein neues Thread in DIY Bereich für Thema "Anbindung KWL Paul Novus 300 / Focus 200" anzulegen. Ich kann es machen. Wäre es möglich die Kommentare in das neue Thread zu übernehmen? Zb ab nummer #78?

    Einen Kommentar schreiben:


  • Boomer55
    antwortet
    Hallo zusammen.

    Kann mir mal einer erklären, was die letzen Einträge mit der eigentlichen Überschrift zum Thema (ausser dass ihr offensichtlich eine der genannten KWL habt und fleissig daran rumbastelt) zu tun haben? Habe eine Comfoair und verwende erfolgreich das dazu passende Smarthome-Plugin. Jedoch sehe ich hier die letzte Zeit keinerlei Bezug mehr zu diesem oder SmarthomeNG. Ehrlich gesagt wenn ich als Anfänger in dieses Thema einsteigen möchte, wäre ich bei diesem Thread schon lange raus, würde den Raspberry in die Ecke schmeissen und die Comfoair manuell bedienen. Glücklicherweise stand bei mir die Implementierung an, bevor dieser Thread gekapert wurde. Ich finde daher auch (wie Marcus schon vor längerem geschrieben hat), dass diese Diskussion ins DIY-Forum gehört. Mit der aktuellen Diskussion ist niemandem der sich mit SmarthomeNG und dem dazugehörenden Comfoair-Plugin beschäftigen möchte geholfen. Falls ihr jedoch an der Weiterentwicklung des dazugehörenden Plugins arbeitet, wäre es sicherlich interessant wenn es dazu mal wieder was zu lesen gäbe.

    Beste Grüße,
    Markus

    Einen Kommentar schreiben:


  • johnson
    antwortet
    Ist so eine Idee von mir mit dem ESP8266, hab auch noch nie mit dem Ding gespielt nur sehr viel gelesen.
    Jetzt hab ich eine konkrete Idee wo ich das einsetzen kann und will mal spielen.
    Wenn das funzt könnt man vom jedem Tablet oder Smartphone die Lüfterstufe ändern auch sollte es dann möglich sein es in eine VISU einzubinden.
    Ich will den ESP nehmen da ich keine LAN-Dose in der Nähe vom Lüftungsgerät hab.

    Einen Kommentar schreiben:


  • pavol
    antwortet
    Hi, gleich nach dem start-up.

    master: 102 0 1 FD
    cp: 1 2 2 92 10 7D
    master: 2 2 3 20 10 CD
    cp: 1 11 4 20 1 1 5A 0 7F 0 0 1 0 6F 1 0 1 1 1 0 81

    anbei auch ganze log in excel (siehe Reiter rawdata, ab Zeile 70) , ich habe zu jedem command auch aktuelles milliswert gespeichert

    Super, so du bist schon "fast fertig" Mit SoftwareSerial habe ich nur zugehört und "master" für den Bedienteil gespielt. Mit HW-Serial sollte es einfacher sein. Mit dem WIFI Module habe ich noch nicht gespielt :-)

    und anbei auch noch ein Foto von meiner Bastler-ecke :-) Das war noch das Vorhaben "arduino-in-the-middle-attack". Davon bin schon weggekomen die, Idee mit dem Relais finde ich einfacher und ich kann dann mega auch für andere zwecke nutzen und nicht nur Vollzeit bytes von a nach b zu schieben

    LG





    Angehängte Dateien
    Zuletzt geändert von pavol; 23.03.2016, 23:23. Grund: Ich habe das log datei vergessen.

    Einen Kommentar schreiben:


  • johnson
    antwortet
    Hallo,

    Wann wird Data 14 in Page 20 auf 1 gesetzt? Nachdem der Master deine Antworten akzeptiert hat?

    Ich hab Probleme mit meiner Softserial, die funzt nicht zuverlässig.
    Diese reagiert momentan (wenn sie funzt) auf die Eingaben "1", "2" und "3" dann wird die entsprechende Lüfterstufe gesetzt und "ok" zurückgemeldet. Mit "?" wird die aktuelle Lüfetrstufe zurückgemeldet.
    Ich hab mir jetzt auch ein Mega2560 (4 Hardware UARTs, da die Softserial nicht zuverlässig funzt) und einen ESP8266 bestellt.
    Mit dem ESP8266 will ich einen kleinen Webserver laufen lassen und per Web-Interface die Daten darstellen und die Anlage steuern.
    Muss aber noch ein wenig warten da ich erst letzte Woche in China bestellt hab, mal schauen wann die Teile eintreffen.

    Einen Kommentar schreiben:


  • pavol
    antwortet
    hi, master akzeptiert jetzt meine Antworten, ich kann die Lüfterstufe von arduino regulieren. Ich simuliere den Bedienteil. Ich habe noch herausgefunden , wie sich LED Bedienteil dem Master identifiziert. Er setzt Data14 in Page 20 auf 1.

    Ich habe eine neue Idee, wie ist es noch einfacher umzusetzen wäre. Lassen wir den master und Bedienteil direkt reden , und schalten wir von Bedienteil auf controller nur für den kurzen Moment, wenn ein Parameter zu ändern ist. Mit einem relay dem Bedienteil den bes "wegnehmen" , Änderung an master schicken und dann zurück auf Bedienteil schalten.

    Einen Kommentar schreiben:


  • pavol
    antwortet
    Hallo Johnson, ich arbeite mit pooling und nicht direkt mit Interrupts, Ich habe mit dem arduino viel zeit am we verbraucht, aber bin nicht viel weit gekommen. Irgendwie schaffe ich nicht rechtzeitig dem Master zu beantworten. Ich nutze eine angepasste HardwareSerial Klasse, diese unterstützt auch 9N1. Laut meiner Auswertung sind es cca. 19ms zwischen 2 Abfragen von Master,(0x102 02 01 0xFD), Das LED Bedienteil schafft antworten in 8ms , mir gelingt es in 11ms. Es ist nicht so großes Unterschied, oder mir ist irgendwo andres ein Fehler unterlaufen. Ich sehe mir es heute abend wieder an

    LG Pavol

    Einen Kommentar schreiben:


  • johnson
    antwortet
    Hallo Pavol,
    deine Idee gefällt mir auch gut.
    Hast du eine Idee wie man den BACP Bus verwenden könnte um über diesen die Steuerungsbefehle zu realisieren, so könnte man sich die dritte UART oder was auch immer sparen. Evtl. müsste man mal prüfen wie langsam man die Kommunikation laufen lassen kann damit das TFT nicht aussteigt und in den Pausen die Kommunikation zur Haussteuerung durchführt.
    Ich arbeite nicht mit Arduino weil ich nicht wusste wie man hier mit der Hardware-USART das 9. Bit und MPCM realisieren kann.
    Es wäre gut wenn wir uns auf eine Entwicklungsplattform einigen könnten so können wir alle hier uns gut ergänzen. Ich habe kein Problem mit Arduino nur müssten wir klären wie wir die 9 Bit-USART dort klar bekommen. Auch könnten dies dann andere auch einfach nutzen da es die Arduinos überall zu kaufen gibt.

    Einen Kommentar schreiben:


  • johnson
    antwortet
    Hallo

    mein Programm besteht hauptsächlich aus 2 UART-Empfangs-ISR.
    Sobald Bytes vom Master kommen springt er in die Rx0-ISR und schickt sofort in der ISR die Bytes an das TFT bis alle durch sind, gilt für Adresse 0x102 und für 0x100, ich habe MPCM aktiviert.
    Wenn alle Bytes durch sind wird auf Empfang zum TFT geschalten. Wenn dort Bytes kommen springt er in dieRx1-ISR und schickt in der ISR gleich die Bytes an den Master, so läuft das System ganz normal, lässt sich mit dem TFT ganz normal bedienen.
    Wenn ich umschalten will modifiziere ich einfach in der Nachricht 0101 02 02 02 10 ED das ober Nibble zu 8 und setze die neue Checksum (6D)ein. Dann kommt automatisch diese Nachricht 0102 02 03 00 10 ED vom Master welche ich wieder 1:1 zum TFT durchreiche.
    Das TFT Anwortet dann auf diese Nachricht (was für ein Glück) mit z.B 0101 11 04 00 02 1C 29 16 05 02 01 10 01 01 00 00 00 00 00 00 DD hier muss nur das Byte der Lüfterstufe geändert werden und die Checksum neu ausrechnet werden, da diese Nachricht nicht statisch ist weil hier die Uhrzeit drin ist. Dann läuft das System mit der neuen Stufe.

    Dann läuft das System ganz normal als 1:1 Repeater weiter, gibt auch sonst nichts zu tun.

    Einen Kommentar schreiben:

Lädt...
X