Ankündigung

Einklappen
Keine Ankündigung bisher.

Trovis 557x Heizungsregler Plugin

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

    Prima, also geht es hier weiter (falls es jemanden interessieren sollte, wie die ganze Sache ausgeht).
    Hier dürfen also wieder Fragen zum Trovis-Plugin gestellt werden.
    /tom

    Kommentar


      Hey Tom,

      muss ich mir um die folgenden Fehlermeldungen im Log eigentlich Gedanken machen?
      Code:
      2021-09-25 06:35:51 WARNING lib.item.items Plugins 'smartvisu' and 'trovis557x' define the same item-attribute 'visu_acl'
      2021-09-25 06:35:51 WARNING lib.metadata plugin 'trovis557x' metadata version not compliant to plugin version schemas x.x.x or x.x.x.x
      2021-09-25 06:35:51 ERROR lib.metadata plugin 'trovis557x' version differs between Python code (0.1.a) and metadata (1.0)
      2021-09-25 06:35:54 WARNING lib.metadata Item 'heizung.rk3.heizkurve.minsoll', attribute 'werte': Attribute is undefined and has value '[20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0]' (defined in trovis.yaml)
      2021-09-25 06:35:54 WARNING lib.metadata Item 'heizung.rk3.heizkurve.solltemperatur', attribute 'werte': Attribute is undefined and has value '[20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0]' (defined in trovis.yaml)
      2021-09-25 06:35:54 WARNING lib.metadata Item 'heizung.rk3.heizkurve.maxsoll', attribute 'werte': Attribute is undefined and has value '[20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0]' (defined in trovis.yaml)

      Kommentar


        Nein, die Meldungen kannst Du ignorieren. 2 davon verschwinden, wenn Du später mal ein 'reguläres' Update von shNG/plugins fährst, und um die restlichen Meldungen mit 'Attribute' muss ich mich mal kümmern - die kommen erst seit einer (etwas ärgerlichen) Änderung im Kern von shNG in beiden meiner Plugins, wo eigene Item-Attribute definiert werden. Muss mir aber noch überlegen, wie.

        Bei mir sieht das beim Start sogar noch etwas heftiger aus (neben diversen anderen Startmeldungen) - hab mich mittlerweile dran gewöhnt:
        Code:
        2021-09-10 17:50:37 WARNING lib.item.items Plugins 'trovis557x' and 'smartvisu' define the same item-attribute 'visu_acl'
        2021-09-10 17:50:43 WARNING lib.metadata Item 'ventilation.rs485._device_error', attribute 'e0': Attribute is undefined and has value '0:Kein Fehler:Kein Fehlertext:Keine Fehlerbehebung' (defined in helios.yaml)
        2021-09-10 17:50:43 WARNING lib.metadata Item 'ventilation.rs485._device_error', attribute 'e1': Attribute is undefined and has value '1:?:?:?' (defined in helios.yaml)
        2021-09-10 17:50:43 WARNING lib.metadata Item 'ventilation.rs485._device_error', attribute 'e2': Attribute is undefined and has value '2:?:?:?' (defined in helios.yaml)
        2021-09-10 17:50:43 WARNING lib.metadata Item 'ventilation.rs485._device_error', attribute 'e3': Attribute is undefined and has value '3:?:?:?' (defined in helios.yaml)
        2021-09-10 17:50:43 WARNING lib.metadata Item 'ventilation.rs485._device_error', attribute 'e4': Attribute is undefined and has value '4:?:?:?' (defined in helios.yaml)
        2021-09-10 17:50:43 WARNING lib.metadata Item 'ventilation.rs485._device_error', attribute 'e5': Attribute is undefined and has value '5:Zuluftsensor defekt:Fühler lose, Kurzschluss <br/>oder Temperatur >90°C gemessen:Gerätestecker ziehen (ausschalten), kurz warten und wieder einstecken' (defined in helios.yaml)
        2021-09-10 17:50:43 WARNING lib.metadata Item 'ventilation.rs485._device_error', attribute 'e6': Attribute is undefined and has value '6:CO2-Alarm:CO2-Wert >5.000 ppm seit mehr als 3 Minuten:Ursache ermitteln oder ggf. Sensor überprüfen lassen.' (defined in helios.yaml)
        2021-09-10 17:50:43 WARNING lib.metadata Item 'ventilation.rs485._device_error', attribute 'e7': Attribute is undefined and has value '7:Außenluftsensor defekt:Fühler lose, Kurzschluss oder Temperatur >90°C gemessen:Gerätestecker ziehen (ausschalten), kurz warten und wieder einstecken' (defined in helios.yaml)
        2021-09-10 17:50:43 WARNING lib.metadata Item 'ventilation.rs485._device_error', attribute 'e8': Attribute is undefined and has value '8:Abluftsensor defekt:Fühler lose, Kurzschluss oder Temperatur >90°C gemessen:Gerätestecker ziehen (ausschalten), kurz warten und wieder einstecken' (defined in helios.yaml)
        2021-09-10 17:50:43 WARNING lib.metadata Item 'ventilation.rs485._device_error', attribute 'e9': Attribute is undefined and has value '9:Frostwarnung:Außenluft <0°C und Zuluft <8°C - Frostgefahr am Wärmetauscher:Der Alarm verschwindet automatisch bei normalisierten Temperaturen' (defined in helios.yaml)
        2021-09-10 17:50:43 WARNING lib.metadata Item 'ventilation.rs485._device_error', attribute 'e10': Attribute is undefined and has value '10:Fortluftsensor defekt:Fühler lose, Kurzschluss oder Temperatur >90°C gemessen:Gerätestecker ziehen (ausschalten), kurz warten und wieder einstecken' (defined in helios.yaml)
        2021-09-10 17:50:43 WARNING lib.metadata Item 'ventilation.alarms', attribute 'filter_warning': Attribute is undefined and has value 'None' (defined in helios.yaml)
        2021-09-10 17:50:44 WARNING lib.metadata Item 'heizung.rk3.heizkurve.minsoll', attribute 'werte': Attribute is undefined and has value '[20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0]' (defined in trovis.yaml)
        2021-09-10 17:50:44 WARNING lib.metadata Item 'heizung.rk3.heizkurve.solltemperatur', attribute 'werte': Attribute is undefined and has value '[20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0]' (defined in trovis.yaml)
        2021-09-10 17:50:44 WARNING lib.metadata Item 'heizung.rk3.heizkurve.maxsoll', attribute 'werte': Attribute is undefined and has value '[20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0]' (defined in trovis.yaml)
        Wie schon geschrieben - einfach ignorieren ...

        /tom
        Zuletzt geändert von Tom Bombadil; 25.09.2021, 09:19.

        Kommentar


          Zitat von Tom Bombadil Beitrag anzeigen
          die kommen erst seit einer (etwas ärgerlichen)
          Wieso ist es ärgerlich, wenn darauf hingewiesen wird, dass es mögliche Namenskonflikte bzw. fehlende Definiitionen von Attributen gibt?
          Viele Grüße
          Martin

          There is no cloud. It's only someone else's computer.

          Kommentar


            Zitat von Msinn Beitrag anzeigen
            Wieso ist es ärgerlich, wenn darauf hingewiesen wird, dass es mögliche Namenskonflikte bzw. fehlende Definiitionen von Attributen gibt?
            Weil man so nicht eben mal schnell eigene Attribute 'zur Laufzeit' (also per Item-Definition) einführen kann, ohne dass man zusätzlich am Plugin bzw. an den config-Dateien rumfummeln muss. Das schränkt die von mir gewünschte Flexibilität ein (meine Meinung). Aber die Diskussion hatten wir schon ...

            /tom

            Kommentar


              Hey Tom, kann es sein, dass es in der Konvertierung von ausgelesen Daten noch Bugs gibt?

              2021-09-28 15_44_09-Shngadmin.png

              Der Sollwert des Vorlaufs bei ausgeschalteter Heizung (AT >18 Grad) liegt bei 3276 Grad...wenn RK1 aktiv ist, sind die Werte dagegen plausibel...wird da eine 0 falsch interpretiert irgendwie?

              Kommentar


                Ich sag jetzt mal den Satz, von dem meine Programmierer genau wissen, dass sie mich damit 'instant' von 0 auf 100 und durch die Decke bringen können. Deshalb hat auch jeder von ihnen in meinem Beisein diesen Satz höchstens 1x gebracht:

                Bei mir geht das!

                vl_soll.png

                (Endlich kann ich *diesen* Satz auch mal selbst sagen)

                Kann aber durchaus ein Bug sein - ist der Heizkreis an oder aus? Bei 'AUS' hatte der bei mir glaube ich denselben Wert, da irrelevant bzw. ungültiger Wert (es gibt keine Zahl, um das auszudrücken).

                So kommt der zustande: Übertragener Buswert 32.767 (=höchstmögliche Zahl der 7 Bit-Übertragung, hex=xFFFFFFF), Typ 'Temperatur' mit einer Nachkommastelle, daher finaler/umgerechneter Wert 3.276,7 °C.

                /tom
                Zuletzt geändert von Tom Bombadil; 28.09.2021, 15:14.

                Kommentar


                  Bei mir gehts ja auch...manchmal ;-)

                  Heizkreis ist aus; bei an alles ok. Genau sowas was du geschrieben hast, dachte ich mir... gibts da eine Möglichkeit, das aufzufangen? Also wenn Buswert 32.767, dann Temp = 0

                  Kommentar


                    Rein technisch schon, könnte da eine 'Sonderlocke' in die Behandlung der Temperaturwerte für diese Register einbauen. Würde ich aber ungern machen, da '0' ja auch ein gültiger Wert ist und man dann beide nicht mehr unterscheiden kann (z.B. in einer SQL-Abfrage über langfristige Mittelwerte etc - so wie es jetzt ist, läßt sich <>3276.7 wunderbar herausfiltern).

                    Du kannst das aber selbst definieren, z.B. mit einem eval oder einem on_update (geht beides - ein "Zielitem" wird aktualisiert, wenn ein "Quellitem" sich ändert).

                    Muster für heizung.rk1.heizkurve.sollwert.angepasst - das kannst Du dann statt heizung.rk1.heizkurve.sollwert verwenden:

                    Code:
                    heizung:
                    
                        rk1:
                    
                            heizkurve:
                    
                                vorlauf_soll:
                                    desc: Vorlauf Sollwert
                                    type: num
                                    trovis557x_var: VorlSollwRk1
                                    liste: []
                                    visu_acl: ro
                    
                                    angepasst:
                                        desc: Angepasster Vorlauf Sollwert
                                        type: num
                                        visu_acl: ro
                                        eval: 0 if sh..()==3276.7 else value
                                        eval_trigger: ..
                    (aus dem Kopf aufgeschrieben, da unterwegs - daher ungetestet und kann noch Fehler enthalten)

                    /tom
                    Zuletzt geändert von Tom Bombadil; 28.09.2021, 16:28.

                    Kommentar


                      Ich frag mich gerade, wie sich das dB-Plugin und die Visu verhalten würden, wenn man statt '0 if sh..()==3276.7 else value' den Ausdruck 'null if sh..()==3276.7 else value' verwenden würde - zu lange her, dass ich mit sowas hantiert habe. Ist wohl ne Frage für die Python- bzw. Visu-Profis.
                      /tom

                      Kommentar


                        Danke dir Tom, klappt leider nicht. Wert bleibt bei 0, auch wenn der Heizkreis eingeschaltet ist und der "normale" Sollwert Werte liefert. So sieht es in der Trovis.yaml bei mir aus. Korrekt soweit?

                        Code:
                                    vorlauf_soll:
                                        desc: Vorlauf Sollwert
                                        type: num
                                        trovis557x_var: VorlSollwRk1
                                        liste: []
                                        visu_acl: ro
                                        database: 'init'
                                        
                                        angepasst:
                                            desc: Angepasster Vorlauf Sollwert
                                            type: num
                                            visu_acl: ro
                                            eval: 0 if sh..()==3276.7 else value
                                            eval_trigger: ..

                        Kommentar


                          Müsste es nicht
                          Code:
                          eval: 0 if sh..()==3276.7 else sh..()
                          heißen? Bin kein eval-Spezialist, aber 'value' ist doch immer der Wert des aktuellen items (vorlauf_soll.angepasst).

                          Für die Datenbank ist es IMHO besser, wenn man ungültige Werte gar nicht erst reinschreibt, also auch nicht als 0. Das müsste dann
                          Code:
                          eval: sh..() if sh..() < 3276.7
                          sein.

                          Gruß
                          Wolfram

                          Kommentar


                            Zitat von wvhn Beitrag anzeigen
                            Müsste es nicht Code:

                            eval: 0 if sh..()==3276.7 else sh..()
                            heißen?
                            Leider nein, Wert bleibt bei 0 stehen. Muss der Wert 3276.7 ggf. irgendwie anders formatiert/ausgedrückt werden?

                            Kommentar


                              Wolfram hat Recht, es soll ja der Wert des Parents zugewiesen werden, das neue Item bekommt ja von Hause aus kein 'value' von selbst zugewiesen.

                              Ansonsten vielleicht den Vergleich ändern (==3276.7 z.B. in >1000), aber daran sollte es eigentlich nicht liegen, wenn der Buswert als 32767 reinkommt.

                              Evtl. Neustart von shNG vergessen? Ist nach Änderungen am Baum immer notwendig. Das Item braucht auch nach Umschaltung auf 'AUS' bis zu 60s, bis es aktualisiert wird, der neue Wert ist also nicht sofort verfügbar (Polling alle 60s).

                              /tom

                              Kommentar


                                Nope, leider auch nicht. Ich habe immer ein "service smarthome restart" gemacht und dann auch abgewartet, dass es aktualisiert wird.

                                Und das >1000 hilft auch nicht. Es bleibt bei 0 stehen...

                                Ich habe mal im shNG Admin geschaut: das gelb markierte ist m.E. falsch, da sollte doch 'else sh.heizung.rk1.heizkurve.vorlauf_soll' stehen und nicht das mit dem 'vorlauf_soll.angepasst'
                                2021-09-29 11_43_35-Shngadmin.png
                                Meine trovis.yaml sieht aktuell so aus:

                                Code:
                                            vorlauf_soll:
                                                desc: Vorlauf Sollwert
                                                type: num
                                                trovis557x_var: VorlSollwRk1
                                                liste: []
                                                visu_acl: ro
                                                database: 'init'
                                                
                                                angepasst:
                                                    desc: Angepasster Vorlauf Sollwert
                                                    type: num
                                                    visu_acl: ro
                                                    eval: 0 if sh..() >1000 else sh..()
                                                    eval_trigger: ..
                                EDIT: Jo, daran liegt es. Habe mal ein 'else 1' daraus gemacht und dann lautet der Wert auch 1. Wie komme ich jetzt da auf den 'vorlauf_soll'?
                                Zuletzt geändert von TheStig; 29.09.2021, 10:50.

                                Kommentar

                                Lädt...
                                X