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

  • johnson
    antwortet
    Hallo,

    ja, kann ich bestätigen Master schickt 0x20 und 0xF0 in regelmässigen Abständen an Bedienteil.
    Ja, Master schickt alle 5sek alle Pages.
    Evtl. schickt er F0 nicht an LED-Bedienteil da diese Werte nicht angezeigt werden können.

    20 und 40 werde ich mal beobachten und mit deinen Erkenntnissen vergleichen.


    Ja, es werden nur Daten auf Anfrage gesendet.
    Beim TFT geht das wie folgt: Es wird nicht mehr die Std-Antwort (0101 02 02 02 10 ED) geschickt sondern (0101 02 02 82 10 6D).
    Die 8 signalisiert eine Änderung. Danch schickt der Master die Aufforderung (0102 02 03 00 10 ED) jetzt schickt das TFT die Konfiguration Typ=04.

    Hab ich auch schon beim Lüfterslave gesehen als z.B die Außluft zu kalt war, dann schickte der nicht mehr die Std-Antort. Dann fragte der Master die Konfig ab, die hat dann der Lüfterslave geschickt. Nur so werden Daten vom Slave zum Master übertragen.

    Sonst sind Statusmeldungen in der Rückmeldung z.B Lüfterslave zu Master
    0101 03 02 04 06 15 E9, 101=Adr, 03=Länge, 02=Typ,04=oberes Nibble ist 8 bei Änderung siehe oben im Text, unteres Nibble ist Senderadresse, 06=??, 15= das sind einzelne Bits die Anzeigen ob Lüfter laufen, ob Drehzahl erreicht ist, und ich glaube ob Bypass offen oder nicht.

    Einen Kommentar schreiben:


  • pavol
    antwortet
    hallo,

    anbei das "arduino-in-the-middle" Konzept für Funktion "Änderung von Lüfter-stufe"


    1. Relay-mode (arduino verbringt die meiste Zeit in diesem modus):
    ============

    Was geschieht an beiden Leitungen?

    Bus-Master-Arduino("BMA") - arduino spielt die Rolle von Bedienteil auf der Adresse 0x02, alle andere Komponente hängen auf diesem bus (außer echten Bedienteil)

    arduino relays folgende nachrichten an BACP bus
    02-00-01 - query on control panel
    02-02-03-XX-10 - request - get changed data
    02-11-04-XX-YYYYY... - data to control panel


    arduino relays broadcast nachricht an BACP bus
    00-0A-00-00-SS-MI-HH-XX-DD-MM-YY-XX-XX - broadcast

    Bus-Arduino-Control-Panel("BACP") - arduino spielt die Rolle von Master auf der Adresse 0x01, auf diesem bus hängt sonst nur Bedienteil(TFT/LED)

    arduino relays alle empfangene nachrichten(vom BT) zurück an BMA bus, es gibt keine weitere Aufgaben



    2. Fan-speed-change-mode(Bedarf von extern, die Lüfter-stufe zu ändern):
    =====================

    In diesem Fall soll arduino (auf dem BMA bus) folgend reagieren
    Anfrage 02-00-01 nicht auf BACP weiterleiten, sondern gleich mit 01-02-02-82-10 TFT / 01-02-02-92-10 LED beantworten
    Request 02-02-03-XX-XX nicht auf BACP weiterleiten, sondern gleich mit daten aus Page 00 (TFT) oder 20 (LED) beantworten
    Nach dieser Aktion kehrt arduino zurück ins "Relaymode"

    Um die korrekte Daten aus Page 00/20 an master zu schicken zu können, soll sich arduino in "relaymode" Daten aus entsprechender Page merken!(TFT: 16 bytes aus Page 00 merken, anhand von gewünschter Lüfterstufe ist das 9.byte zu ädern, LED: 16 bytes aus Page 20 merken, zu ändern ist 13.byte)

    @johnson: ich nehme an, dein program funktioniert irgendwie ähnlich

    LG Pavol


    Einen Kommentar schreiben:


  • pavol
    antwortet
    hallo johnson,

    mir freut dass du so weit gekommen bist. ich nehme an du hast inzwischen auch das "terrmierungsproblem" gelöst. Ich nutze die MAX485 so wie die sind, habe keine Anpassungen vorgenommen.

    Ich habe versucht die Temperaturen herauszulesen, für mich sieht es aber so aus, dass Slave (0x04) diese aber überhaupt nicht an bus schickt. Ich habe ein logger sketch für mega board geschrieben, welches die daten nachrichten 0x04 an miniSD karte loggt. Mehrere Stunde lang geloggt, nix. nicht mal einzige bit ändert sich. Es gibt ein paar Zählerwerte aber die korrelieren mit der Uhrzeit.

    Schade, die Temperaturwerte wären interessant zu sehen.

    Was ich noch beobachtet habe:
    * Kein einzige Nachricht(mit Daten) von Slave an Master!!
    * Master schickt dem Bedienteil nur Register 0x20 und 0xF0
    * Master bombardiert den Slave alle 5 Sekunden mit Daten für alle Register
    *LED Bedienteil signalisiert Änderung von Lüfterstufe über Page 0x20 - Data12 - Werte 1 bis 7 , 0 = aus

    Zusammenfassung von Zähler(Werte, die sich ändern):
    * Master an Bedienteil
    Page 0x20 - Wert in Data9 erhöht sich jede 3 Minuten um 1, bei Änderung 0xFF -> 0x00 , erhöht sich Data10 um 1 (in Excel steht Frostschutz aktiv?)
    Page 0xF0 - wie im Excel beschrieben - keine Abweichungen
    * Master an Slave
    Page 0x40 - Data8 - Wert ändert sich zufällig zwischen 1 und 2, ich kann kein Muster erkennen.

    Megaboard stoßt bei diesem Sketch (logging auf miniSD-Karte) auf ihre performance Grenzen , ich habe nicht geschafft wirklich alle Messages zu loggen, es fehlen dann einfach viele pakete, aber es kann auch auf meinem "nicht-performanten" program liegen, oder an dem fakt dass ich "software-serial" nutze.

    LG Pavol

    Einen Kommentar schreiben:


  • coderchris
    antwortet
    Klingt vielversprechend! Dein Arduino ist quasi Man-in-the-Middle und kann (beliebig) in die Steuerung der Novus eingreifen. Klingt schon fast nach einem Produkt, das man gerne kaufen möchte :-)

    Einen Kommentar schreiben:


  • johnson
    antwortet
    Hallo,
    kurzes Update. Es ist mir gelungen eine Nachricht zu manipulieren, so dass ich von Lüfterstufe 1 auf Stufe 2 schalten konnte.
    Ich werde jetzt versuchen eine Soft-Serial zu implementieren um hierdurch Steuerbefehle zu empfangen und dadurch Aktionen auf dem Bus zu steuern..

    Einen Kommentar schreiben:


  • johnson
    antwortet
    Hallo,

    habe heute erfolgreich einen Repeater/ Atmel in the middle ans laufen gebracht.
    Jetzt muss noch eine Fake-Nachricht eingebracht werden, werde dies zuerst hardcoded testen.
    Falls das funzt kann man mit RS232 Daten einspielen.
    Kann mir einer erklären welche Daten das Plug-In schickt, bin mit smarthome-py nicht so vertraut.

    Einen Kommentar schreiben:


  • coderchris
    antwortet
    Ich fände es sehr unpraktisch, wenn eine solche Diskussuon zerrissen wird. Die Novus ist nun mal nicht mit handelsfertigen Lösungen zu steuern. Ein Arduino wäre nur Mittel zum Zweck... so wie alle anderen Lösungen die hier im Thread in den letzten Jahren besprochen wurden (serielle Kabel. V.24 Adapter, serial/ip server, ...).

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Last Call: Arduino Diskussion im DYI Forum fortführen.

    Einen Kommentar schreiben:


  • johnson
    antwortet
    Hallo Pavol,

    wenn ich es richtig verstanden habe kannst du mit dem Arduino einen Master simulieren.
    Meine Frage ist wie weit bist du mit deinem Master vom Bedienteil entfernt und wie ist dein MAX485 am Bus verbunden.
    Hast du einen Abschlusswiderstand, Pull-Up und Pull-down für A und B dran?

    Ich wollte heute auch mal einen Master simulieren aber bei mir reagiert das Bedienteil nicht.
    Ich vermute, dass ich hier evtl Terminierungsprobleme habe. Ich habe meinen Master im Keller und mein Bedienteil ist ca. 15m entfernt.
    Ich habe einen 120Ohm Abschluss dran und jeweils 2.2kOhm Pull-Up und Pull-down an A und B.



    Einen Kommentar schreiben:


  • Rasetech
    antwortet
    Danke für die rasche Antwort.

    Einen Kommentar schreiben:


  • MatthiasS
    antwortet
    Mein Comfoair-Baustein für den HS läuft 1:1. auf Wernig.

    Einen Kommentar schreiben:


  • Rasetech
    antwortet
    Weiß jemand ob die hier beschriebenen Plugins auch für die Wernig G90-380 Luxe funktionieren?

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo,

    ich denke es ist sinnvoller die Diskussion zum Thema Arduino im DIY-Bereich fortzuführen. Ich sehe den Bezug zu dem Plugin nicht.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • pavol
    antwortet
    Hallo Johnson,

    ah, deine Idee habe ich übersehen, ich habe diesen Thread ab Seite 6 schon ein paar mal durchgelesenen, aber wahrscheinlich nicht gut genau :-)

    Ich habe auch schon ein Simulator des Master für Arduino geschrieben, ich hänge das sketch anbei, mit ihn kann man über serial commands in hex notation an tft bedienteil schicken, und es funktioniert

    Mega board habe ich über amazon gekauft (sainsmart mega2560 avr ATmega2560), max485 module und ein aukru ethernet shield auch.

    den zweiten max485 shield habe vorgestern am aliexpress bestellt

    LG Pavol
    Angehängte Dateien
    Zuletzt geändert von pavol; 29.01.2016, 20:56.

    Einen Kommentar schreiben:


  • johnson
    antwortet
    Hallo Pavol,

    das mit dem Arduino in the middle ist auch meine Idee siehe Post 88, ich hatte es hier als Repeater genannt.
    Den mega2560 hab ich mir erstmal nicht gekauft aber selber was gelötet.
    Ein ATMEAGA162 weil ich den schon hatte und zwei MAX485, die hatte ich auch noch von meinem Sniffer-Projekt. Bin aber leider aus Zeitmangel nicht dazu gekommen die Software zu schreiben. Ich will nur versuchen die Daten vom Master zum TFT zu schicken und wieder zurück.
    Wenn das funzt könnte man eine gefakte Nachricht einschleusen, so meine Idee.

    Kannst du mir deine Bezugsadressen für deine Bauteile posten. Evtl können wir dann gemeinsam an dem Code arbeiten.
    Zuletzt geändert von johnson; 28.01.2016, 18:05.

    Einen Kommentar schreiben:

Lädt...
X