Ankündigung

Einklappen
Keine Ankündigung bisher.

Erweiterung Helios / Vallox Plugin

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

  • WaSchy
    antwortet
    Servus Tom und danke für die Rückmeldung ... war ja klar, dass es nie einfach und schon gar nicht "Straight Forward" sein kann ... ich hoffe ich finde jetzt genug Zeit das Projekt abzuschließen.

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Die Rohdaten an sich sehen eigentlich ganz gut aus. Adresse 10 ist vermutlich die BCU, FD vermutlich die KWL - letzteres sieht stark nach Nutzdaten aus.

    Das Plugin ist ja für die x00 Pro - Modelle geschrieben. Wenn ich mich richtig erinnere, hat die x70 eine andere Modbus-Implementierung mit anderen Registern und/oder Adressen (?) als den in diesem Plugin verwendeten.

    Dazu gab es hier mal einen Thread - ist aber lange her, Details weiß ich leider keine mehr.

    /tom

    Einen Kommentar schreiben:


  • WaSchy
    antwortet
    Hallo in die Runde - bin mir nicht sicher ob ich glück oder Pech haben, dass ich "so spät" versuche via rs485 meine Helios KWL 370 pro in HomeAutomation einzubinden.
    Was habe ich schon erreicht? RJ12 Kabel => A ist Pin 2, B ist Pin 3, G ist Pin 6 ... und mit 19200 8N1 bekomme ich auch Daten ... allerdings nicht ganz die erwarteten!

    Code:
    11:50:02.032    info    javascript.0 (216) Start javascript script.js.common.waveShare:_RS485_MQTT_Konverter
    11:50:02.049    info    javascript.0 (216) script.js.common.waveShare:_RS485_MQTT_Konverter: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
    11:50:08.430    info    FD FD 17 13 06 02 17 0B 33 FD FD 00 00 00 00 0E 00 FD 00 1E 00 02 03 00 00 3C FD
    11:50:08.508    info    10 00 00 11
    11:50:08.538    info    10 01 03 35 FD FD FD 10 05 02 35 55 FD
    11:50:08.609    info    11 00 00 12
    11:50:08.710    info    12 00 00 13
    11:50:08.809    info    13 00 00 14
    11:50:08.929    info    FD FD 17 13 06 02 17 0B 33 01 01 00 00 00 00 0E 00 FD 00 1E 00 02 03 00 00 3C FD
    11:50:09.029    info    10 00 00 11 10 01 03 35 FD FD FD 10 05 02 35 55 FD
    11:50:09.108    info    11 00 00 12
    11:50:09.208    info    12 00 00 13
    11:50:09.309    info    13 00 00 14
    11:50:09.429    info    FD FD 17 13 06 02 17 0B 33 02 01 00 00 00 00 0E 00 FD 00 1E 00 02 03 00 00 3C FD
    11:50:09.508    info    10 00 00 11
    11:50:09.542    info    10 01 03 35 FD FD FD 10 05 02 35 55 FD
    11:50:09.609    info    11 00 00 12
    11:50:09.709    info    12 00 00 13
    11:50:09.809    info    13 00 00 14
    11:50:09.929    info    FD FD 17 13 06 02 17 0B 33 02 01 00 00 00 00 0E 00 FD 00 1E 00 02 03 00 00 3C FD
    11:50:10.009    info    10 00 00 11
    11:50:10.049    info    10 01 03 35 FD FD FD 10 05 02 35 55 FD
    11:50:10.109    info    11 00 00 12
    11:50:10.209    info    12 00 00 13
    11:50:10.309    info    13 00 00 14
    11:50:10.429    info    FD FD 17 13 06 02 17 0B 33 02 01 00 00 00 00 0E 00 FD 00 1E 00 02 03 00 00 3C FD
    11:50:10.508    info    10 00 00 11
    11:50:10.549    info    10 01 03 35 FD FD FD 10 05 02 35 55 FD
    11:50:10.608    info    11 00 00 12
    11:50:10.710    info    12 00 00 13
    11:50:10.808    info    13 00 00 14
    11:50:10.930    info    FD FD 17 13 06 02 17 0B 33 02 01 00 00 00 00 0E 00 FD 00 1E 00 02 03 00 00 3C FD
    11:50:11.029    info    10 00 00 11 10 01 03 35 FD FD FD 10 05 02 35 55 FD
    11:50:11.109    info    11 00 00 12
    11:50:11.209    info    12 00 00 13
    11:50:11.309    info    13 00 00 14
    11:50:11.429    info    FD FD 17 13 06 02 17 0B 33 02 01 00 00 00 00 0E 00 FD 00 1E 00 02 03 00 00 3C FD
    11:50:11.509    info    10 00 00 11
    11:50:11.539    info    10 01 03 35 FD FD FD 10 05 02 35 55 FD
    11:50:11.609    info    11 00 00 12
    11:50:11.709    info    12 00 00 13
    11:50:11.809    info    13 00 00 14
    11:50:11.929    info    FD FD 17 13 06 02 17 0B 33 02 01 00 00 00 00 0E 00 FD 00 1E 00 02 03 00 00 3C FD
    11:50:12.048    info    10 00 00 11
    11:50:12.050    info    10 01 03 35 FD FD FD 10 05 02 35 55 FD
    11:50:12.108    info    11 00 00 12
    11:50:12.209    info    12 00 00 13
    11:50:12.309    info    13 00 00 14
    11:50:12.429    info    FD FD 17 13 06 02 17 0B 33 02 01 00 00 00 00 0E 00 FD 00 1E 00 02 03 00 00 3C FD
    11:50:12.510    info    10 00 00 11
    11:50:12.549    info    10 01 03 35 FD FD FD 10 05 02 35 55 FD
    11:50:12.609    info    11 00 00 12
    11:50:12.709    info    12 00 00 13
    11:50:12.809    info    13 00 00 14
    11:50:12.929    info    FD FD 17 13 06 02 17 0B 33 02 01 00 00 00 00 0E 00 FD 00 1E 00 02 03 00 00 3C FD
    11:50:13.029    info    10 00 00 11 10 01 03 35 FD FD FD 10 05 02 35 55 FD
    11:50:13.109    info    11 00 00 12
    11:50:13.209    info    12 00 00 13
    11:50:13.309    info    13 00 00 14
    11:50:13.429    info    FD FD 17 13 06 02 17 0B 33 02 01 00 00 00 00 0E 00 FD 00 1E 00 02 03 00 00 3C FD
    11:50:13.509    info    10 00 00 11
    11:50:13.578    info    10 01 03 35 FD FD FD 10 05 02 35 55 FD
    11:50:13.609    info    11 00 00 12
    11:50:13.709    info    12 00 00 13
    11:50:13.809    info    13 00 00 14
    11:50:13.909    info    41 00 00 42
    11:50:14.009    info    42 00 00 43
    11:50:14.109    info    44 00 00 45
    11:50:14.209    info    48 00 00 49
    11:50:14.329    info    FD FD 17 13 06 02 17 0B 33 02 01 00 00 00 00 0E 00 FD 00 1E 00 02 03 00 00 3C FD
    11:50:14.408    info    10 00 00 11
    11:50:14.458    info    10 01 03 35 FD FD FD 10 05 02 35 55 FD
    11:50:14.508    info    11 00 00 12
    11:50:14.609    info    12 00 00 13
    11:50:14.709    info    13 00 00 14
    11:50:14.833    info    FD FD 17 13 06 02 17 0B 33 02 01 00 00 00 00 0E 00 FD 00 1E 00 02 03 00 00 3C FD
    11:50:14.909    info    10 00 00 11
    11:50:14.939    info    10 01 03 35 FD FD FD 10 05 02 35 55 FD
    11:50:15.008    info    11 00 00 12
    11:50:15.111    info    12 00 00 13
    11:50:15.209    info    13 00 00 14
    11:50:15.329    info    FD FD 17 13 06 02 17 0B 33 02 01 00 00 00 00 0E 00 FD 00 1E 00 02 03 00 00 3C FD
    11:50:15.429    info    javascript.0 (216) Stop script script.js.common.waveShare:_RS485_MQTT_Konverter​
    Die Datagramme 11 00 00 12 usw. sehen ja beispielsweise gut aus, aber warum bekomme ich nur FD anstatt FF .. bin etwas ratlos.

    Kann mir da bitte jemand von den erfahrenen Usern hilfreich unter die Arme greifen?

    Anschluss ist ein 6/6 Dose zum parallelen Abgreifen der Pins und Konverter (https://www.waveshare.com/rs485-to-wifi-eth.htm)

    signal-2023-02-19-120643_002.jpg
    Zuletzt geändert von WaSchy; 19.02.2023, 12:39.

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    @Oliver: Hier war's. Die dort genannte Vallox-KWL ist elektronisch baugleich mit den pre-2014 Helios.

    In den Items musst Du -wie schon geschrieben und dort im Thread auch gezeigt- die Items im Abschnitt rs485 mit KNX-Attributen bestücken und (um es richtig zu machen) jeweils die Zeile mit dem Attribut helios_var auskommentieren. Dann kommen die Werte über KNX und nicht per seriell/Modbus rein.

    Viel Erfolg!

    /tom

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Ich erinnere mich, dass das hier vor einigen Jahren mal jemand gemacht hat, finde aber leider den Thread nicht mehr.
    Gehen sollte es, man muss dann halt die ganzen RS485-Items mit KNX-Attributen bestücken ...

    /tom

    Einen Kommentar schreiben:


  • jonny7792
    antwortet
    Hallo Tom Bombadil

    erstmal danke für deinen Einsatz für das Helios Plugin.


    Ich habe hier eine KWL 500 ET L im Einsatz inkl. dem KNX Modul - Wäre es möglich/denkbar das Widget mit den entsprechenden Items/GA zu verbinden sodass man direkt über das KNX Gateway die Daten abgreifen kann?



    Danke und gruss

    Einen Kommentar schreiben:


  • ballaballa1556
    antwortet
    Super, danke, der Service läuft schon! :-)

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Danke für die Beschreibung.

    Auch bei mir läuft die Helios seit ca. 1,5 Jahren über LAN statt USB. Das hat es u.a. einfacher gemacht, die Hauptinstanz von shNG auf ein NAS umzuziehen.

    Das Verfahren nutze ich auch für meinen Heizungsregler. In diesem Projekt sind die von Dir genannten Einstellungen auch mit Screenshots dokumentiert. Auch ist dort ein Beispielscript für den automatischen Start von socat aufgeführt (zwar als 'ttytrovis', aber mein zweiter, parallel betriebener Port 'ttyhelios' wird genauso gestartet).

    Somit ist die Schnittstelle nach dem Systemstart automatisch verfügbar und kann mit service ttyhelios start/stop/restart auch manuell gesteuert werden (Restart ist komischerweise bei socat manchmal notwendig, keine Ahnung warum).

    /tom

    Einen Kommentar schreiben:


  • ballaballa1556
    antwortet
    Hallo zusammen,

    es hat nur knapp ein Jahr gedauert, bis ich mich dem Thema endlich wieder widmen kann, aber nach ca. 6 Stunden des Rumprobierens habe ich ein paar gute Zwischenergebnissse:

    Ich konnte mit dem Shield für den Raspberry Pi ja Werte auslesen, aber keine Werte schreiben. Die KWL steht auf dem Dachboden, der RasPi im Keller und die Verdrahtung dazwischen war etwas hemdsärmelig durch zwei Verteilerkästen aufgebaut. Ich hatte die Vermutung, dass das der Grund für die Probleme war. Darum habe ich mir schon vor langer Zeit den RS485 zu TCP/IP Ethernet-Server-Konverter "USR-TCP232-304" geholt, da auf dem Dachboden eh ein Accesspoint mit LAN-Kabel liegt. Nun habe ich den Konverter endlich angeschlossen und siehe da: Mit den korrekten Einstellungen kann ich nun mit dem Skript endlich auch Werte schreiben. Im Folgenden mal eine kurze Zusammenfassung dessen, was ich dafür tun musste:
    • Der Konverter ließ sich über die Web-Oberfläche nicht konfigurieren, darum musste ich eine vom Hersteller bereitgestellte Software dafür verwenden, um folgende Einstellungen zu ändern:
      • Von Static-IP auf DHCP umgestellt
      • Den "Module Work Mode" von "TCP Client" auf "TCP Server" umgestellt
      • Die Baudrate auf 9600 eingestellt
      • Einen "Local Port" eingetragen (Ich habe 10110 verwendet, man kann aber auch einen anderen nehmen)
      • Die Werte für "Parity/Data/Stop" standen bereits korrekt auf "NONE/8/1"
    • Auf dem RasPi socat installiert
    • Mit dem folgenden Befehl einen lokalen Port erzeugt, der im Python-Skript verwendet werden kann:
      sudo socat PTY,link=/dev/ttyKWL0,user=pi,group=tty,mode=666 TCP:192.168.69.65:10110 &
      (In diesem Beitrag hatte champ412 Probleme mit den Rechten des erzeugten Ports erwähnt. Die hatte ich auch erst. Durch die Angabe von "user", "group" und "mode" kann man das aber vermeiden.)
    Das wars im Grunde schon. Jetzt muss ich das Ganze noch so ändern, dass der Port bei einem Neustart des RasPis automatisch erzeugt wird und dann das Skript in meine PHP-Programmierung einbinden, die ich von der Android-App aus aufrufe. Das wird auch nochmal ein ordentliches Stück Arbeit, aber zumindest weiß ich jetzt, dass es funktionieren wird...

    Viele Grüße und vielen Dank für die Hilfe

    Andreas
    Zuletzt geändert von ballaballa1556; 30.09.2019, 01:05.

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Hallo Andreas,

    ja, ich nutze immer noch das originale Script ...

    /tom

    Einen Kommentar schreiben:


  • ballaballa1556
    antwortet
    Hallo Tom,

    grundsätzlich ist das __init__.py Skript aber doch immer noch die Grundlage für die Steuerung Deiner KWL, richtig? Oder was nutzt Du jetzt?

    Es gibt eine Portierung nach Java. Einen PHP-Port habe ich noch nicht gesehen. Da meine gesamte Schnittstelle in PHP programmiert ist, hilft mir Java erstmal nicht. Und von so einem Problem wie ich jetzt habe (lesen ja, schreiben nein) hat meines Wissens nach bisher auch noch niemand berichtet. Solche Fehler sind halt immer besonders blöd. Allerdings könnte ich mal versuchen, ob sich die KWL mit der Java-Portierung steuern lässt. Falls ja, wüsste ich zumindest schon mal, dass es nicht an der Anlage liegt...

    Andreas

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Das Script wurde schon mal nach php (oder war's Java?) portiert, einfach mal die Sufu bemühen. Das dürfte Dir einiges an Arbeit sparen.

    Ansonsten ist es im Moment schwer, mich in individuelle Modifikationen eines etliche Jahre alten Scriptes reinzudenken, dafür bräuchte ich mal ein paar ruhige Minuten echter 'Freizeit' (die ich derzeit mal wieder nicht habe).

    Zum LAN-Adapter: Habe vor ca. 2 Monaten diesen Adapter in Betrieb genommen. Hierzu habe ich auf der Debian-Maschine, auf dem shNG läuft, zusätzlich von Hand einen socat-Daemon eingerichtet. Einziges Problem: Beide (socat-Daemon und shNG-Daemon) werden beim reboot gestartet, aber irgendwie bekomme ich keine automatische Verbindung zwischen den beiden. Erst nach einem manuellen "service smarthome stop" + "service smarthome start" wird die Verbindung sofort und problemlos aufgebaut (ist natürlich für Stromausfall & Co nicht sonderlich schön, sowas von Hand starten zu müssen). Ursache leider noch unbekannt ...

    /tom

    Einen Kommentar schreiben:


  • ballaballa1556
    antwortet
    Hallo Tom,

    ich benutze das Skript aus der Kommandozeile heraus. Meine Hausautomation basiert ja auf einer WAGO-SPS, die ich per Modbus von einem RasPi aus anspreche. Auf dem läuft ein Webserver mit entsprechender Schnittstelle, die ich von einer Android-App aus anspreche. Ist alles komplett selbst programmiert. So kann ich auch vom Ende der Welt aus im Keller das Licht an- und ausknipsen... ;-) Und die Steuerung der KWL würde ich gerne in die App integrieren. Darum brauche ich eine Programmierung, die ich von PHP aus ansteuern kann. Ich hab mich noch nicht entschieden, ob ich - falls die Steuerung meiner Anlage irgendwann tatsächlich funktioniert - einfach Dein Skript von PHP aus aufrufe oder ob ich es nach PHP portiere. Darum kümmere ich mich, wenn es soweit ist. Es gibt auch für die SPS eine RS485-Schnittstelle, aber die ist teuer und dann müsste ich die Programmierung in der SPS machen. Und da brauche ich die Anbindung nicht, weil ich die KWL nicht über die SPS steuern will, sondern über die App. Darum die Anbindung direkt vom Webserver des RasPi aus. Ist ein Glied in der Steuerkette weniger...

    Beim Start des originalen Skripts kamen mehrere Fehlermeldungen. Um es zum Laufen zu bringen, habe ich folgende Änderungen gemacht:
    • Das Sonderzeichen aus dem Namen 'René' entfernt ;-)
    • Die folgenden Zeilen eingefügt:
      Code:
      logging.basicConfig(level=logging.DEBUG)
      logger = logging.getLogger('test')
    • Den Parameter "SmartPlugin" aus Konstruktor entfernt:
      Code:
       class HeliosBase():
    • Überall '/dev/ttyUSB0' gegen '/dev/ttyAMA0' ersetzt
    • Im 'getLogger'-Befehl '__name__' gegen 'test' ersetzt

    Darüber hinaus habe ich noch die Bedingung entfernt, dass beim Lesen eines Telegramms die Zieladresse der Adresse des Senders entsprechen muss, da die KWL bei mir ja immer an die Adresse "Sendeadresse - 1" antwortet, wenn die Anfrage vom Shield kommt. Besonders aufwendig war es also nicht.

    Später habe ich dann noch den Timeout in _readTelegram auf 3 Sekunden erhöht und den 'self._port.timeout' auf 0.007 gesetzt. Du hattest im Kommentar "Lets go with 7ms!" geschrieben, tatsächlich aber 70 ms verwendet. Ich bin nicht sicher, was das genau für Auswirkungen hat, aber Deine Berechnung ist ja korrekt (bis auf "1 Parity bit", oder?), darum habe ich das geändert. Und dann habe ich noch zwei Funktionen hinzugefügt, mit denen ich für eine vorgegebene Zeit einfach auf dem Bus lauschen kann und eine Ausgabe bekomme, wenn das empfangene Telegram mit 0x01 beginnt und die Checksumme des gesamten Telegramms passt. Das Folgende habe ich z. B. mitgeschnitten, als ich die Anlage vom Bedienteil aus abgeschaltete habe:
    Code:
    DEBUG:test:Telegram received '0x01 0x21 0x11 0x00 0xA3 0xD6'
    DEBUG:test:Telegram received '0x01 0x11 0x21 0xA3 0x09 0xDF'
    DEBUG:test:Telegram received '0x01 0x21 0x20 0xA3 0x08 0xED'
    DEBUG:test:Telegram received '0x01 0x21 0x10 0xA3 0x08 0xDD'
    DEBUG:test:Telegram received '0x01 0x21 0x11 0xA3 0x08 0xDE'
    DEBUG:test:Telegram received '0x01 0x21 0x11 0xA3 0x08 0xDE'
    DEBUG:test:Telegram received '0x01 0x21 0x11 0x00 0x29 0x5C'
    DEBUG:test:Telegram received '0x01 0x11 0x21 0x29 0x01 0x5D'
    DEBUG:test:Telegram received '0x01 0x21 0x11 0x00 0x35 0x68'
    DEBUG:test:Telegram received '0x01 0x21 0x11 0x00 0x35 0x68'
    DEBUG:test:Telegram received '0x01 0x11 0x21 0x35 0x9E 0x06'
    DEBUG:test:Telegram received '0x01 0x21 0x11 0x00 0xA3 0xD6'
    DEBUG:test:Telegram received '0x01 0x21 0x11 0x00 0xA3 0xD6'
    DEBUG:test:Telegram received '0x01 0x11 0x21 0xA3 0x08 0xDE'
    DEBUG:test:Telegram received '0x01 0x21 0x11 0x00 0x71 0xA4'
    DEBUG:test:Telegram received '0x01 0x21 0x11 0x00 0x71 0xA4'
    DEBUG:test:Telegram received '0x01 0x11 0x21 0x71 0x00 0xA4'
    DEBUG:test:Telegram received '0x01 0x22 0x11 0x00 0xA3 0xD7'
    DEBUG:test:Telegram received '0x01 0x11 0x22 0xA3 0x08 0xDF'
    DEBUG:test:Telegram received '0x01 0x22 0x11 0x00 0x29 0x5D'
    DEBUG:test:Telegram received '0x01 0x22 0x11 0x00 0x29 0x5D'
    DEBUG:test:Telegram received '0x01 0x11 0x22 0x29 0x01 0x5E'
    DEBUG:test:Telegram received '0x01 0x22 0x11 0x00 0x35 0x69'
    DEBUG:test:Telegram received '0x01 0x22 0x11 0x00 0x35 0x69'
    DEBUG:test:Telegram received '0x01 0x11 0x22 0x35 0x9E 0x07'
    DEBUG:test:Telegram received '0x01 0x22 0x11 0x00 0xA3 0xD7'
    DEBUG:test:Telegram received '0x01 0x22 0x11 0x00 0xA3 0xD7'
    DEBUG:test:Telegram received '0x01 0x11 0x22 0xA3 0x08 0xDF'
    DEBUG:test:Telegram received '0x01 0x22 0x11 0x00 0x71 0xA5'
    DEBUG:test:Telegram received '0x01 0x22 0x11 0x00 0x71 0xA5'
    DEBUG:test:Telegram received '0x01 0x11 0x22 0x71 0x00 0xA5'
    Wie gesagt, abfragen lässt sich die Anlage, nur setzen kann ich keine Werte. Irgendeine Idee, woran das liegen kann?

    Beim Befehl 'cat /dev/ttyAMA0' bekomme ich übrigens keine Ausgabe. Ist das normal oder muss da immer was kommen? Wie gesagt, grundsätzlich antwortet die Anlage ja auf meine Lese-Anfragen, auch wenn ich oft erst beim 2. oder 3. Versuch etwas zurückbekomme. Aber ich glaube, das liegt an meiner Verdrahtung (KWL auf dem Dachboden, RasPi mit Shield im Keller). Darum würde ich auf Dauer auf den hier im Thread erwähnten Ethernet-Adapter umsteigen. Aber nur, wenn ich es schaffe, die Anlage auch darüber zu steuern statt sie nur abzufragen...

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Hallo Andreas,
    zuerst einmal vielen Dank für die Bestätigung des Einschaltverhaltens. Nun ist also auch offiziell, was immer vermutet wurde.

    Zum Script: Nutzt Du das Skript im Rahmen von smarthomeNG oder solo? Letzteres dürfte seit der Umstellung auf SmartPlugin recht tricky bzw. kaum noch möglich sein (ist eine Weile her, dass ich das getestet habe - müsste zu Hause nachsehen, was da genau damals los war, irgendwie kamen mir diverse Fehler um die Ohren geschossen).

    /tom

    Einen Kommentar schreiben:


  • ballaballa1556
    antwortet
    Hallo zusammen,

    ich habe eine Vallox ValloPlus 510 SE, die ich gerne an meine Hausautomation anbinden würde. Ich habe einen Raspberry Pi mit einem RS485-shield, an die ich die KWL angeschlossen habe (siehe auch hier). Mit Hilfe der __init__.py aus Toms Projekt funktioniert die Kommunikation auch grundsätzlich. Hier ein Beispiel:
    Code:
    python __init__.py -r fanspeed
    Verwendeter Port: /dev/ttyAMA0
    DEBUG:test:Helios: Connecting...
    DEBUG:test:Helios: Reading value: fanspeed
    DEBUG:test:Helios: Sending telegram '0x01 0x23 0x11 0x00 0x29 0x5E'
    DEBUG:test:Telegram received '0x01 0x11 0x22 0x29 0x03 0x60'
    DEBUG:test:Value for fanspeed (0x29) received: 0x03|00000011|3 --> converted = 2
    fanspeed = 2
    DEBUG:test:HeliosBase: Disconnecting...
    Allerdings bin ich nicht in der Lage, Werte zu setzen. Setze ich z. B. folgenden Befehl ab:
    Code:
    python __init__.py -w fanspeed -v 3
    Verwendeter Port: /dev/ttyAMA0
    DEBUG:test:Helios: Connecting...
    DEBUG:test:Helios: Sending telegram '0x01 0x23 0x20 0x29 0x07 0x74'
    DEBUG:test:Helios: Sending telegram '0x01 0x23 0x10 0x29 0x07 0x64'
    DEBUG:test:Helios: Sending telegram '0x01 0x23 0x11 0x29 0x07 0x65'
    DEBUG:test:Helios: Sending telegram '0x65'
    DEBUG:test:HeliosBase: Disconnecting...
    und frage anschließend die Schnittstelle ab, bekomme ich dasselbe Ergebnis wie oben. Ich war bisher nicht in der Lage, irgendeine Einstellung der KWL auf diesem Weg zu ändern. Um auf dem Bus zu horchen, habe ich die __init__.py um eine Funktion erweitert, die eine vorgegebene Zeit lang alle Telegramme ausgibt, die mit 0x01 beginnen und an 5. Stelle eine zum Telegramm passende Checksumme haben. Dann habe ich die Lüfterstufe über das Bedienteil geändert. Die mitgeschnittenen Telegramme entsprechen exakt denen, die im Beispiel oben verschickt werden. Trotzdem ändert sich die Lüfterstufe nicht, wenn ich das ganze vom RasPi aus sende. Interessant an dem ersten Beispiel ist, dass ich als Sender '0x23' eingestellt habe, die Anlage aber mit '0x22' antwortet (Bei Absenderadresse 0x22 antwortet die Anlage mit 0x21). Könnte es sein, dass sich das shield erstemal irgendwie bei der Anlage anmelden muss? Es funktioniert übrigens auch nicht, wenn das Bedienteil mit der Adresse 0x22 aus ist und ich dann die Adresse des shields auf 0x22 setze...

    Hat irgendjemand die gleiche Anlage wie ich und ist in der Lage, Werte zu setzen? Falls ja, wie? Oder hatte jemand mit einer anderen Anlage das gleiche Problem und es gelöst? Die Werte der Anlage auszulesen ist zwar ganz nett, aber ich wäre gerne in der Lage, die Anlage z. B. 2 Tage vor Rückkehr aus dem Urlaub auf 8 zu drehen... :-) Ich hoffe, Ihr seid noch aktiv, obwohl der letzte Kommentar fast 1 Jahr alt ist. Ich bin für jeden Hinweis dankbar!

    Ich habe übrigens 2 Bedienteile. Hier kam schon mal die Frage auf, was passiert, wenn man nacheinander die beiden Bedienteile einschaltet. Ich hatte deswegen mal bei Vallox nachgefragt und die folgenden Abläufe beschrieben, wie sie tatsächlich sind:
    • Die Anlage und beide Bedienteile sind aus.
    • Bedienteil A wird eingeschaltet.
    • Bedienteil B bleibt komplett aus (LED und Display).
    • An Bedienteil A kann die Anlage nun beliebig eingestellt werden (z. B. auf Stufe 4), ohne dass Bedienteil B dadurch aktiviert wird.
    • Bedienteil B wird eingeschaltet. Dadurch wird die Anlage automatisch auf Stufe 1 zurückgestellt. Bedienteil A übernimmt die Stufe 1 im Display.
    • Wird nun an einem der beiden Bedienteile die Stufe verändert, übernimmt das andere Bedienteil die eingestellte Stufe.
    • Wird die Anlage an einem der Bedienteile ausgeschaltet, schaltet sich das andere Bedienteil ebenfalls aus und der Ablauf beginnt von vorn.
    • Die Anlage und beide Bedienteile sind aus.
    • Bedienteil A wird eingeschaltet.
    • Die Anlage wird mit Bedienteil A z. B. auf Stufe 3 gestellt.
    • Die Anlage wird an Bedienteil A abgeschaltet.
    • Bedienteil B wird eingeschaltet.
    • Die Anlage startet auf der zuvor mit Bedienteil A eingestellten Stufe.

    Als Antwort habe ich Folgendes erhalten: "Ihre Beschreibung entspricht dem was auch wir im Test bei uns auch festgestellt haben, somit liegt bei Ihnen kein Fehler vor." Ich habe dann nochmal nachgehakt und geschrieben, dass das Verhalten der beiden Bedienteile im Zusammenspiel ja so nicht korrekt sei und was sie gedenken, dagegen zu tun. Daraufhin erhielt ich folgende Antwort: "dieses Verhalten lässt sich leider nicht ändern, es ist Systembedingt". Falls immer noch Informationsbedarf besteht, ich probiere gerne alles nach Wunsch aus. Einfach schreiben, was ich ausprobieren soll...

    Vielen Dank im Voraus und viele Grüße

    Andreas

    Einen Kommentar schreiben:

Lädt...
X