Ankündigung

Einklappen
Keine Ankündigung bisher.

Trovis 557x Heizungsregler Plugin

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

  • Tom Bombadil
    antwortet
    Zitat von TheStig Beitrag anzeigen
    Also soweit ich es überblicke, liefern bei mir sämtliche BinaerausgBA# keinerlei Daten.
    Die bei Dir eingestellte Anlage 2.1 bedient definitiv Binärausgänge, siehe hier.

    Zitat von TheStig Beitrag anzeigen
    Im shngadmin stehen die Werte immer auf 0 und das Update steht immer auf durch "Init" oder "Database:Init".
    Schau mal unter <shNG>/var/log - vielleicht wird das Plugin wegen Fehlern in der .yaml gar nicht erst gestartet (Wolframs Kommentar hat mich drauf gebracht).
    Alte Logdateien kannst Du übrigens jederzeit gefahrlos löschen, die werden ggf. neu angelegt.

    /tom
    Zuletzt geändert von Tom Bombadil; 07.09.2021, 10:22.

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Zitat von Msinn Beitrag anzeigen
    Tom Bombadil Schau Dir mal den gepinnten Beitrag von bmx an. Dort ist beschrieben, wie Dir peim Paste die Einrückungen behältst.
    Danke Martin - absolut verstanden. Ich hab gestern 3x die 50 Zeilen oben auf das Zeichen genau einrücken müssen, das nervt gewaltig.

    Verschwindende Einrückungen beim Editieren sind insbesondere bei längerem Python-Code sehr (!) lästig, weil Python nun mal auf das Einrücken angewiesen ist - aber nicht mein einziges Problem. Ich verwende gern farbige Hervorhebungen (z.B. roter Text von wichtigen Quellcodezeilen). Das geht aber irgendwie nicht mehr bei CODE, nur noch bei QUOTE. Beim Editieren sind die Farben und Einrückungen noch da, aber nach dem Abschicken des Posts bzw. spätestens nach dem nächsten Editieren steht dann eine COLOR-Anweisung als Text im Quellcode und 'zersemmelt' alles.

    Ich bin mir sicher, dass ich in der Vergangenheit auch Quellcode farbig markieren konnte - mittlerweile hat sich aber das Verhalten des Editors bzw. der späteren Darstellung so verändert, dass selbst früher funktionierende Sachen nicht mehr richtig dargestellt werden (bin mir sicher, dass die entsprechenden Stellen in dem Link früher rot dargestellt wurden). Und mir fehlt mittlerweile der Antrieb, ständig rumprobieren zu müssen, in welcher Konstellation das gewünschte Ergebnis gerade machbar ist.

    Aber das alles gehört hier nicht her, ist vermutlich eher was für Alfred AScherff ...

    /tom
    Zuletzt geändert von Tom Bombadil; 07.09.2021, 09:59.

    Einen Kommentar schreiben:


  • TheStig
    antwortet
    Also soweit ich es überblicke, liefern bei mir sämtliche BinaerausgBA# keinerlei Daten. Weder die Umwälzpumpe aus dem RK1 noch irgendwas aus dem WW-Bereich noch die Zirkulationspumpe...
    Im shngadmin stehen die Werte immer auf 0 und das Update steht immer auf durch "Init" oder "Database:Init". Auch wenn ich im Handbetrieb die Pumpen manuell aktiviere.

    Aber im Prinzip ist das ja auch nicht so wichtig. Es ist ja nur die Visualisierung. Hast du, lieber Tom, noch einen Tipp, wie ich das Schwingen in den Griff bekomme? Hier mal ein etwas zeitlich besser einzuschätzender Verlauf (der Wasserspeicher fasst 150 Liter):
    2021-09-07 11_07_42-Heizungssteuerung.png
    Angehängte Dateien
    Zuletzt geändert von TheStig; 07.09.2021, 10:09.

    Einen Kommentar schreiben:


  • TheStig
    antwortet
    Danke Wolfram! Schaue ich mir an!!!

    Einen Kommentar schreiben:


  • wvhn
    antwortet
    Leerzeichen in den Item-Namen sind nicht erlaubt. Siehe Doku:
    Für den Itemnamen sollten nur die Zeichen A-Z und a-z verwendet werden. Ein Unterstrich oder eine Ziffer 0-9 darf _innerhalb_ des Itemnamens vorkommen.
    Gruß
    Wolfram

    Einen Kommentar schreiben:


  • TheStig
    antwortet
    So sieht es jetzt bei mir aus. Ich tippe ja auf die BinaerausgBA12. Aber es wird gar nicht als Item im Shngadmin angezeigt. Angezeigt werden nur die folgenden 9 Items:
    2021-09-07 09_15_09-Shngadmin.png

    Hier der Code der Trovis.yaml.
    Code:
    TheStig:
    
        rk1_3pkt:
            desc: Stellsignal Ventil 1 (0-100%)
            type: num
            trovis557x_var: StellsignalRk1
            liste: []
            visu_acl: ro
            database: 'init'
    
        # rk2_3pkt:
            # desc: Stellsignal Ventil 2 (0-100%)
            # type: num
            # trovis557x_var: StellsignalRk2
            # liste: []
            # visu_acl: ro
            # database: 'init'
    
        umwaelzpumpe1:
            desc: Umwälzpumpe UP1 läuft
            type: num
            trovis557x_var: BinaerausgBA1
            liste: []
            visu_acl: ro
            database: 'init'
    
        umwaelzpumpe2:
            desc: Umwälzpumpe UP2 läuft
            type: num
            trovis557x_var: BinaerausgBA2
            liste: []
            visu_acl: ro
            database: 'init'
            
        umwaelzpumpe3:
            desc: Umwälzpumpe UP3 läuft
            type: num
            trovis557x_var: BinaerausgBA3
            liste: []
            visu_acl: ro
            database: 'init'        
    
        betriebsart_rk3:
            desc: Betriebsart
            type: num
            trovis557x_var: BetriebsArtTW
            liste: []
            visu_acl: ro
            database: 'init'
    
        ladepumpe:
            desc: Speicherladepumpe SLP läuft
            type: num
            trovis557x_var: BinaerausgBA4
            liste: []
            visu_acl: ro
            database: 'init'
    
        zirkulationspumpe:
            desc: Zirkulationspumpe ZP läuft
            type: num
            trovis557x_var: BinaerausgBA5
            liste: []
            visu_acl: ro
            database: 'init'
            
        Rk13-Pkt Zu-Signal:
            desc: Rk13-Pkt Zu-Signal
            type: num
            trovis557x_var: BinaerausgBA6
            liste: []
            visu_acl: ro
            database: 'init'
            
        Rk13-Pkt Auf-Signal:
            desc: Rk13-Pkt Auf-Signal
            type: num
            trovis557x_var: BinaerausgBA7
            liste: []
            visu_acl: ro
            database: 'init'
            
        Rk23-Pkt Zu-Signal:
            desc: Rk23-Pkt Zu-Signal
            type: num
            trovis557x_var: BinaerausgBA8
            liste: []
            visu_acl: ro
            database: 'init'
            
        Rk23-Pkt Auf-Signal:
            desc: Rk23-Pkt Auf-Signal
            type: num
            trovis557x_var: BinaerausgBA9
            liste: []
            visu_acl: ro
            database: 'init'
    
        Unbekannt1:
            desc: Unbekannt1
            type: num
            trovis557x_var: BinaerausgBA10
            liste: []
            visu_acl: ro
            database: 'init'
    
        Unbekannt2:
            desc: Unbekannt2
            type: num
            trovis557x_var: BinaerausgBA11
            liste: []
            visu_acl: ro
            database: 'init'
    
        Pumpenmanagement UP1Ein/Aus:
            desc: Pumpenmanagement UP1Ein/Aus
            type: num
            trovis557x_var: BinaerausgBA12
            liste: []
            visu_acl: ro
            database: 'init'
    
        Pumpenmanagement Drehzahl UP1:
            desc: Pumpenmanagement Drehzahl UP1
            type: num
            trovis557x_var: BinaerausgBA13
            liste: []
            visu_acl: ro
            database: 'init'
    Ich habe zudem die _coils.py bearbeitet. Keine Ahnung, ob das so ok ist...aber die BA10 und BA11 tauchen ja im Shngadmin auf. Warum der Rest nicht?
    Code:
    'BinaerausgBA3': { 'ID': 58, 'Lesen': 0, 'Art': 'ro', 'Typ': 'Liste_AE', 'Buswert': 0, 'Wert': 0, 'Einheit': '', 'Name': 'Umwaelzpumpe Rk3 (UP2, Netzseite, CL98)' },
    'BinaerausgBA10': { 'ID': 65, 'Lesen': 0, 'Art': 'ro', 'Typ': '???', 'Buswert': 0, 'Wert': 0, 'Einheit': '', 'Name': 'Unbekannt1' },
    'BinaerausgBA11': { 'ID': 66, 'Lesen': 0, 'Art': 'ro', 'Typ': '???', 'Buswert': 0, 'Wert': 0, 'Einheit': '', 'Name': 'Unbekannt2' },

    Einen Kommentar schreiben:


  • TheStig
    antwortet
    Danke dir Tom. Habe heute ein wenig Zeit zum basteln. Werde mich da mal versuchen.

    Zitat von Tom Bombadil Beitrag anzeigen
    Beispiel (zzgl. weiterer interessanter Items mit ihren Trovis-ID's - mir ist übrigens aufgefallen, dass z.B. Binärausgang BA3 in meinem Beispiel fehlt, wäre vielleicht ein Ansatz zum Prüfen):
    Da fehlt aber jeweils das
    Code:
    database: 'init'
    , oder?

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Tom Bombadil Schau Dir mal den gepinnten Beitrag von bmx an. Dort ist beschrieben, wie Dir peim Paste die Einrückungen behältst.

    https://knx-user-forum.de/forum/supp...-einf%C3%BCgen

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Zitat von TheStig Beitrag anzeigen
    Das habe ich noch nicht verstanden
    Beispiel (zzgl. weiterer interessanter Items mit ihren Trovis-ID's - mir ist übrigens aufgefallen, dass z.B. Binärausgang BA3 in meinem Beispiel fehlt, wäre vielleicht ein Ansatz zum Prüfen):

    # TheStig.yaml

    TheStig:

    rk1_3pkt:
    desc: Stellsignal Ventil 1 (0-100%)
    type: num
    trovis557x_var: StellsignalRk1
    liste: []
    visu_acl: ro

    rk2_3pkt:
    desc: Stellsignal Ventil 2 (0-100%)
    type: num
    trovis557x_var: StellsignalRk2
    liste: []
    visu_acl: ro

    umwaelzpumpe1:
    desc: Umwälzpumpe UP1 läuft
    type: num
    trovis557x_var: BinaerausgBA1
    liste: []
    visu_acl: ro

    umwaelzpumpe2:
    desc: Umwälzpumpe UP2 läuft
    type: num
    trovis557x_var: BinaerausgBA2
    liste: []
    visu_acl: ro

    betriebsart_rk3:
    desc: Betriebsart
    type: num
    trovis557x_var: BetriebsArtTW
    liste: []
    visu_acl: ro

    ladepumpe:
    desc: Speicherladepumpe SLP läuft
    type: num
    trovis557x_var: BinaerausgBA4
    liste: []
    visu_acl: ro

    zirkulationspumpe:
    desc: Zirkulationspumpe ZP läuft
    type: num
    trovis557x_var: BinaerausgBA5
    liste: []
    visu_acl: ro

    /tom

    Edit: Dieser f******* Editor hier im Forum macht mich mit seinem automatischen Löschen von Einrückungen bei copy/paste bzw. beim Editieren eines Beitrags auch nach Jahren noch fertig ...

    Edit2: BA3 ist vermutlich Zeile 44 in der _coils.py (ID58). Wird in der derzeitigen yaml-Datei nicht definiert. Weiterhin sind vermutlich ID 65+66 BA10 und BA11.
    Zuletzt geändert von Tom Bombadil; 06.09.2021, 17:25.

    Einen Kommentar schreiben:


  • TheStig
    antwortet
    - Das [TR] [/TR] war ein Copy/Paste Fehler von mir
    - mit WebIF hatte ich auch das shNG-Admin-Tool gemeint. Alternativ habe ich ein Tool zum Administrieren einer SQLite-DB, das geht auch ganz schön, weil man Daten/Tabellen filtern kann. So kann ich das einfach mal einen Tag laufen lassen und dann nach den Werten filtern

    Zitat von Tom Bombadil Beitrag anzeigen
    Nimm die Items, die in der trovis.yaml sowieso schon drin sind, und verschieb die in der Dateikopie untereinander auf die gleiche Einrückungsebene. Ggf. kannst Du dort auch nach dem gleichen Schema weitere Items hinzufügen, falls Du der Meinung bist, dass Coils oder Register fehlen.
    - Das habe ich noch nicht verstanden. Die Items aus der Original trovis.yaml sind doch schon ordentlich eingerückt. Das einzige, was mir einfällt, wäre bei dem ein oder anderen dann halt noch das database: 'init' hinzuzufügen. Aber darüber hinaus ist mir nicht klar, was du damit meinst.

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Nein - die smartVISU ist hierfür unbrauchbar bzw. zu umständlich (oder woher kommt das [TR] [/TR]?). Was Du willst, ist die Admin-Oberfläche von shNG für eine minütlich automatisch aktualisierte "Echtzeitansicht" (oder eben Trovis View - aber das ist ebenfalls umständlich, weil der Live-Betrieb nicht immer sauber funktioniert und man dann das Datenauslesen manuell triggern muss, was wiederum ewig dauert).

    Nimm die Items, die in der trovis.yaml sowieso schon drin sind, und verschieb die in der Dateikopie untereinander auf die gleiche Einrückungsebene. Ggf. kannst Du dort auch nach dem gleichen Schema weitere Items hinzufügen, falls Du der Meinung bist, dass Coils oder Register fehlen.

    Die originale trovis.yaml muss natürlich raus aus dem Verzeichnis, sonst wird sie beim Start ebenfalls eingelesen (was Du in diesem Fall nicht willst).

    Danach hast Du eine schnell überprüfbare Baumansicht im shNG-Admin-Interface (ich nenn das Ding immer WebIF, keine Ahnung warum).

    /tom

    Einen Kommentar schreiben:


  • TheStig
    antwortet
    Danke weiterhin. Bald bin ich auch still und teste. Nur noch einmal:

    Zitat von Tom Bombadil Beitrag anzeigen
    alle Items, die wie 'Pumpe', 'Ventil', 'Stellsignal Rkx', '2-Punkt' oder '3-Punkt' klingen, auf einen Baumlevel schieben.
    Nur, dass ich es richtig verstehe: Die Items, die du hier meinst, hole ich aus der _coils.py. Also z.B. Coil #67 (https://github.com/Tom-Bom-badil/sam.../_coils.py#L62) würde ich dann einfügen in die trovis.yaml als

    Code:
     
      Pumpe UP1:
           desc: Pumpe UP1 läuft
           type: num
           trovis557x_var: BinaerausgBA12
           liste: []
           visu_acl: ro
           database: 'init'
    Und dann im WebIF oder im SQLite-Tool nachschauen, ob sich die Werte ändern. Korrekt?

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Zitat von TheStig Beitrag anzeigen
    Aber wie komme ich denn jetzt zu dem richtigen Coil?
    Genau diese Frage hatte mich damals zu meinem "Helferaufruf" veranlasst, aber da kam leider nicht viel. Sind halt tausende Coils und Register. Aber bin ja auch so fertiggeworden ...

    Zitat von TheStig Beitrag anzeigen
    1. Wie soll ich das manuell aktivieren? Einfach auf dauerhaften Speicherladebetrieb stellen (0-24 Uhr)?
    Ja, das nennt man 'Handbetrieb'. Da kannst Du dann Pumpen usw über das Stellrad am den Regler fahren.

    Zitat von TheStig Beitrag anzeigen
    Wie kann ich beobachten, was sich ändert? Trovis View?
    Und wieder: Ja. Leider wirst Du um Ausprobieren nicht herumkommen.

    Fixe Idee: Eine Kopie der trovis.yaml erstellen, das Original aus dem Items-Verzeichnis verschieben und in der Kopie alle Items, die wie 'Pumpe', 'Ventil', 'Stellsignal Rkx', '2-Punkt' oder '3-Punkt' klingen, auf einen Baumlevel schieben. Alle anderen, nicht benötigten Items rauslöschen. Danach shNG Neustart. Dann Handbetrieb ein-/ausschalten und im Web-IF (Item-Baum) von shNG nachsehen, welche Werte sich ändern (Achtung - Ausleseintervall ist alle 60s). Wenn fertig, orginale trovis.yaml wiederherstellen. So würde ich rangehen.

    Alternativ könnte man noch meinen Coil-/Register-Sniffer aus dem tools-Verzeichnis verwenden, aber das ist vermutlich Kanonen auf Spatzen und liefert wohl auch zu viele Ergebnisse auf einmal ....


    /tom

    Einen Kommentar schreiben:


  • TheStig
    antwortet
    Ok, soweit im Grundsatz verstanden (denke ich ;-) )

    D.h. bei mir scheint Coil #59 nicht der richtige Wert für meine Speicherladepumpe zu sein. D.h. aktuell bleibt der Wert von Coil #59 in der DB immer bei 0, damit kann smartVisu dann logischerweise nichts anzeigen.

    Aber wie komme ich denn jetzt zu dem richtigen Coil? Da fehlt mir noch völlig die Idee. Du hast ja oben geschrieben:
    ​​​​​​
    Zitat von Tom Bombadil Beitrag anzeigen
    • Vielleicht kannst Du die Wassererwärmung ja einfach mal im Handbetrieb simulieren und beobachten, welche Pumpe bzw. welcher Anschluss sich ändert, wenn Du die Erwärmung (de-)aktivierst. Oder mal die Reglereinstellungen durchsehen, ob da ein Hinweis zu finden ist.
    1. Wie soll ich das manuell aktivieren? Einfach auf dauerhaften Speicherladebetrieb stellen (0-24 Uhr)?
    2. Wie kann ich beobachten, was sich ändert? Trovis View? Was meinst du mit Regler durchsehen?

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Zitat von TheStig Beitrag anzeigen
    Wo finde ich den den Link zwischen 'heizung.rk3.ladepumpe' in der Heizung.html und der BinaerausgBA4 in der trovis.yaml?
    Gar nicht. Die Visu weiss nicht, was "BinaerausgBA4" ist - das weiss nur das shNG-Plugin. Die Visu kennt nur "fertige Items" und kann deren Inhalte abfragen.

    Etwas tiefgehender erklärt:

    Auf der einen Seite hast Du den Regler. Dessen Einstellungen und Messwerte stehen wie üblich bei Modbus in "Holding Registers" (Registern --> Zahlen/Werte) und "Coils" (für Binärwerte --> an/aus, 1/0, true/false). Jedes Register/Coil hat eine eindeutige Nummer - z.B. repräsentiert Coil #59 den Status der Speicherladepumpe SLP.

    Wenn shNG das Plugin startet, werden die Dateien _register.py und _coils.py eingelesen (neben einigen anderen). Dabei werden den festen Speicherplatznummern ("ID-Nummern") im Regler "sprechende" Namen zugewiesen (immer am Anfang der Zeile). Diese Namen können jetzt bei der Definition von Items verwendet werden.

    Aus
    Code:
    'BinaerausgBA4': { 'ID':    59, 'Lesen': 0, 'Art': 'rw', 'Typ': 'Liste_AE', 'Buswert': 0, 'Wert': 0, 'Einheit': '', 'Name': 'Speicherladepumpe TW (SLP, CL99)' }
    ergibt sich, dass Coil #59 unter dem Namen "BinaerausgBA4" ansprechbar ist. Somit kann ich jetzt z.B. folgendes Item definieren:
    Code:
    ladepumpe:
        desc: Speicherladepumpe SLP läuft
        type: num
        trovis557x_var: BinaerausgBA4
        liste: []
        visu_acl: ro
        database: 'init'
    Sobald shNG das Item 'xx.yy.ladepumpe' definiert hat, ist es auch durch die Visu abrufbar. Ob trovis557x_var 'Horst', 'Brunhilde' oder 'BinaerausgBA4' heisst, ist also eine reine Definitionssache - der Name muss nur eindeutig sein, und auf Seiten des Reglers wird darüber eine Speicherplatznummer angesprochen, deren Inhalt unter dem Item 'ladepumpe' verfügbar ist.

    Das ganze Plugin ist übrigens eher ein "generisches, offenes Modbus Plugin". Erst die Definitionen in _coils.py und _registers.py machen es zu einem konkreten Trovis-Plugin. Es ist von vorn herein so angelegt, dass ich diese Dateien auch komplett abändern kann - dann kann ich auch völlig andere Geräte über Modbus anflanschen (KWL, PV-Anlage etc etc etc) ...

    /tom
    Zuletzt geändert von Tom Bombadil; 06.09.2021, 14:53.

    Einen Kommentar schreiben:

Lädt...
X