Ankündigung

Einklappen
Keine Ankündigung bisher.

Erweiterung Helios / Vallox Plugin

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

  • Tom Bombadil
    antwortet
    Hallo Marco,

    Wolfram hat das Widget kürzlich überarbeitet und just in der vergangenen Woche eine neue Fassung davon hier freigegeben. Ich bin selbst noch nicht zum Testen gekommen, aber vielleicht behebt das schon Deine Probleme. Ich kenne zwar die Technik hinter der Helios-Anbindung und hab nach dem Plugin auch die ersten Visualisierungsideen durch zusammenfrickeln umgesetzt. Aber Wolfram ist mir als 'Herr der smartVISU' bei der eleganten und vor allem richtigen Programmierung von Widets um Lichtjahre voraus, daher ist seine Fassung ziemlich sicher der bessere Weg.

    Noch 2 Infos am Rande:
    • Mein Widget ist nie 100% fertiggeworden. Ich hatte massive Probleme, den Gauge auf der Infoseite als 'dynamischen Gauge' für beliebige KWL's und Gebäude nach meinen Vorstellungen umzusetzen (die Skala sollte die DIN1946-Berechnungen für das konkrete Haus für Feuchteschutz, Reduziert, Nennlüftung und Intensivlüftung repräsentieren, der Gesamtgauge die tatsächliche Kapazität der KWL in Relation dazu (hier 0-300m³/h)). Nach 3 Anläufen in 3 Jahren und jeweils wochenlangem Herumprobieren hab ich dann irgendwann entnervt aufgegeben, daher ist der Info-Bereich als 'halb fertig' anzusehen.

      image.png
    • Ein-/Ausschalten dieser konkreten KWL-Serie per Modbus oder KNX ist etwas problematisch. Beim Einschalten kommen die Fernbedienungen nicht wieder mit hoch - und niemand hat bis heute herausgefunden, was sich die Programmierer dabei gedacht haben, und ob es für das Einschalten der FB's einen gesonderten Befehl bzw. ein gesondertes Register/Coil gibt (weder Helios noch Vallox haben bisher eine komplette Kommando-/Registerreferenz herausgerückt).
    /tom
    Zuletzt geändert von Tom Bombadil; 16.01.2024, 15:34.

    Einen Kommentar schreiben:


  • z1marco
    antwortet
    Hallo Tom,

    habe gestern Abend Zugriff hinbekommen, dank Deiner Recherche und Hinweise. Die erste Variante den Comport auf /tmp/helios zu legen klappt ebenfalls wegen Zugriffsverweigerung nicht. Mit der zweiten Variante hat es dann funktioniert.

    Lieben Dank dafür. Ich bekomme jetzt auch Daten und bin total happy über dieses tolle Plugin.

    Ein Problem mit der Einbindung in der Smartvisu habe ich noch.

    Ich stelle das ganze in einem Block dar und die Lüftungsanlage ist größer als der Block. Ist nicht ganz so tragisch aber ich bekomme auch nur das Symbol für die Zeitplanung angezeigt. Das Einstellungs und Info Symbol erscheint erst wenn ich die Anlage über das Bedienteil anmache. Ich kann die Lüftung also praktisch nicht über die Visu an- und ausschalten.

    Ich hab sonst keine Blocks auf der Seite und nutze folgende Einbindung des Widget. Bin in der Smartvisu auch nicht sonderlich fit und hoffe, dass ich keinen Anfängerfehler gemacht habe:

    Code:
    {% import "widget_uzsu.html" as uzsu %}
    {% import "helios.html" as helios %}
    {% extends "rooms.html" %}
    
    {% block content %}
        
        <div class="block">
        <div class="set-1" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
            <div data-role="collapsible" data-collapsed="false">
                <h3>Lüftungsanlage</h3>
                {{ helios.show_widget('EC300Pro', true, 'Kontrollierte Wohnraumlüftung') }}
           </div>
        </div>
    </div>
        
    {% endblock %}​

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Nachtrag: Das Problem scheint in neueren Debian/Ubuntu Versionen recht verbreitet zu sein, siehe z.B. hier und hier. Es hängt tatsächlich mit fehlenden Berechtigungen für /dev zusammen. Aus den Links lese ich 2 Möglichkeiten:
    • Entweder den virtuellen Port in einem anderen, dem smarthome User zugänglichen Verzeichnis anlegen lassen (also zB statt /dev/helios --> /tmp/helios).
    • Oder die Parameter ',group-late=dialout,mode=777' dem socat-Aufruf hinzufügen und den smarthome User in die Gruppe dialout aufnehmen: 'sudo usermod -a -G dialout smarthome​'. Danach ist in manchen Distributionen ein Logout oder sogar ein Neustart erforderlich.
    Viel Erfolg!

    /tom

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Kann es sein, dass das Verzeichnis /dev bzw. /dev/pts das Problem ist (der User 'smarthome' diese nicht durchsuchen kann)? Klingt zumindest fast so ...
    Wobei socat ja Symlinks anlegt: /dev/helios --> /dev/pts/0. An letzterem sollte es also eigentlich nicht liegen, eher also ein Problem mit /dev.

    /tom

    Einen Kommentar schreiben:


  • z1marco
    antwortet
    OK. Könnte schon was mit der Berechtigung zu tun haben. Wenn ich als User smarthome cat /dev/helios aufrufe, bekomme ich den Fehler keine Berechtigung.

    Mit sudo geht es dann.


    Das Device gehört root aber mit chmod 777 hätte ich jetzt auch gedacht sollte es funktionieren.

    Hier die Berechtigung von dev/helios

    Code:
    lrwxrwxrwx 1 root root 10 14. Jan 18:24 helios -> /dev/pts/0

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Uff, dann gehen mir ehrlich gesagt langsam die Ideen aus. Der Fehler 'Could not open' kommt nach meiner Erfahrung dann, wenn die Datei /dev/helios tatsächlich nicht vorhanden ist, oder wenn die Rechte der Datei selbst oder des Verzeichnisses /dev keinen Zugriff für den User, unter dem shNG ausgeführt wird, zulassen.

    /tom

    Einen Kommentar schreiben:


  • z1marco
    antwortet
    Hab ein chmod gemacht aber weiterhin die gleiche Fehlermeldung. Mist.

    Code:
    2024-01-14  17:58:55 ERROR    plugins.helios      Helios: Could not open /dev/helios.
    
    ​

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Mach mal ein chmod 777 /dev/helios, während der Dienst läuft. A und B reichen hier bei mir; ist sogar als NYM ausgeführt, weil ich damals grad nix anderes zur Hand hatte.

    /tom
    Zuletzt geändert von Tom Bombadil; 14.01.2024, 00:48.

    Einen Kommentar schreiben:


  • z1marco
    antwortet
    Danke der Nachfrage, konnte leider nichts mehr versuchen. So richtig funzt es noch nicht.

    Muss neben A und B auch GND am Interface angeschlossen werden?

    Beim starten von Smarthomeng bekomme ich die Fehlermeldung

    Helios: Could not open /dev/helios

    obwohl der Service wohl funktioniert

    Code:
     helios.service - Helios RS485 controller for smarthomeNG
         Loaded: loaded (/lib/systemd/system/helios.service; enabled; vendor preset: enabled)
         Active: active (running) since Sat 2024-01-13 23:07:20 CET; 13min ago
       Main PID: 10942 (socat)
          Tasks: 1 (limit: 3932)
         Memory: 1.0M
            CPU: 381ms
         CGroup: /system.slice/helios.service
                 └─10942 /usr/bin/socat -s -ly pty,link=/dev/helios,setuid=root,raw tcp:192.168.2.95:8234
    
    Jan 13 23:07:20 SmartHomeNG systemd[1]: Started Helios RS485 controller for smarthomeNG.
    
    ​
    Ein sudo cat /dev/helios zeigt komische Zeichen auf der Console also scheint da ja was rüberzokmmen.

    lsb sagt folgendes

    Code:
    No LSB modules are available.
    Distributor ID: Debian
    Description:    Debian GNU/Linux 11 (bullseye)
    Release:        11
    Codename:       bullseye
    
    ​

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Danke für die Rückmeldung!
    Läuft denn jetzt die Kommunikation?

    /tom

    p.s. Was sag lsb_release -a bei Dir?
    Zuletzt geändert von Tom Bombadil; 12.01.2024, 17:30.

    Einen Kommentar schreiben:


  • z1marco
    antwortet
    In der Datei helios.service darf
    Code:
    Type=simple​
    nicht am Ende stehen sondern direkt hinter der Rubrik [Service].

    Dann gibt es die Fehlermeldung nicht mehr.

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Ja, schau vom Windows-Rechner einfach mit VCom zu ...

    Den Fehler kenne ich nicht, evtl hast Du ein anderes/neueres Linux.
    Vielleich einfach mal die Type-Zeile auskommentieren?

    /tom

    Einen Kommentar schreiben:


  • z1marco
    antwortet
    Die Screenshots vom Adapter haben mir sehr geholfen. Danke dafür.

    Der Link wird automatisch erstellt.

    Der Service scheint nun zu laufen aber es gibt einen Fehler mit dem Type=simple:

    Code:
    helios.service - Helios RS485 controller for smarthomeNG
    Loaded: loaded (/lib/systemd/system/helios.service; enabled; vendor preset: enabled)
    Active: active (running) since Thu 2024-01-11 22:41:54 CET; 18min ago
    Main PID: 788 (socat)
    Tasks: 1 (limit: 3932)
    Memory: 768.0K
    CPU: 371ms
    CGroup: /system.slice/helios.service
    └─788 /usr/bin/socat -s -ly pty,link=/dev/helios,setuid=root,raw tcp:192.168.2.95:8234
    
    Jan 11 22:41:54 SmartHomeNG systemd[1]: Started Helios RS485 controller for smarthomeNG.
    Jan 11 22:49:27 SmartHomeNG systemd[1]: /lib/systemd/system/helios.service:16: Failed to parse service type, ignoring: simple​
    Jan 11 22:51:30 SmartHomeNG systemd[1]: /lib/systemd/system/helios.service:16: Failed to parse service type, ignoring: simple​​
    Gibt es eine Möglichkeit zu schauen ob auf dem Device etwas ankommt?

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Hier die socat-Einstellungen, die so seit Jahren in einer VM auf meinem NAS laufen (2 Modbus RTU Devices werden abgefragt - 1x die Helios (die Deiner Vallox entspricht), 1x Trovis Heizungsregler):

    image.png

    Die /lib/systemd/system/helios.service sieht wie folgt aus:
    Code:
    [Install]
    # WantedBy=multi-user.target
    WantedBy=default.target
    
    [Unit]
    Description=Helios RS485 controller for smarthomeNG
    After=network.target
    Before=smarthome.service
    
    [Service]
    PIDFile=/usr/local/smarthome/var/run/helios.pid
    ExecStart=/usr/bin/socat -s -ly pty,link=/dev/helios,setuid=root,raw tcp:192.168.178.5:8234
    User=root
    Restart=always
    RestartSec=10
    Type=simple​

    ls -l /dev/helios liefert:
    lrwxrwxrwx 1 root root 10 Jan 3 21:31 helios -> /dev/pts/0
    Vermutlich hab ich diesen smybolischen Link mal händisch auf 777 gesetzt, um Rechteprobleme auszuschließen.

    Und hier die zugehörigen Einstellungen für die beiden Adapter (oben helios, unten trovis):

    image.png

    image.png

    Damit müsste es eigentlich auch bei Dir zum Laufen kommen - viel Erfolg!

    /tom​​
    Zuletzt geändert von Tom Bombadil; 11.01.2024, 23:15.

    Einen Kommentar schreiben:


  • z1marco
    antwortet
    Super ich werde mich noch etwas mit der Materie beschäftigen. Ist neu für mich. Danke für die Hinweise und Deine Geduld.

    Windows Connect hat ja geklappt aber unter unix bekomme ich ein connection refused. Ich schließe trotzdem die Vallox heute Abend mal an und teste.

    Die Einstellungen des Adapters würde mich dann sehr interessieren, weil es da doch ein paar Möglichkeiten gibt und ich da keine Anhaltspunkte habe.

    /Marco

    Einen Kommentar schreiben:

Lädt...
X