Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX Wert remanent speichern, geht das?

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

    KNX Wert remanent speichern, geht das?

    Hi,
    ich habe hier Werte.. die will ich nicht jedesmal lesen, die ändern sich ab und an mal. Kann man KNX Objekte in Homeassitant remanent speichern? irgendwie fehlt mir da die Begrifflichkeit in der KNX Hilfe.

    Gruß
    Roman
    Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!

    #2
    Wenn du den Wert bereits als Entität in HA hast, wird doch idR eine Historie geschrieben. Damit hast du den letzten Wert, sowie alle anderen Werte vorher mit Anfangs- und Endzeitpunkt.
    Vllt habe ich auch was falsch verstanden. Wenn du genau sagst was du vor hast wird es vllt einfacher zu verstehen sein.

    Kommentar


      #3
      Ich habe hier Werte, der Zustand ob ein Regler an/aus ist. Diese werden von 2 GAs bedient... der letzte Wert zählt. Ist hier leider so gemacht, das zu ändern wäre ein riesen Fass das ich auf machen würde.
      D.h. HA müsste sich einfach die letzte GA, die vorbei gekommen ist, beim Neustart merken und dann wieder zu hören. Mehr nicht.
      Es wird zwar mit geloggt, bei einem Neustart ist der Wert aber 0, auch wenn er vorher 1 war. HA will den Zustand lesen, kann es aber nicht, weil L Flags fehlen und ich die Geräte nicht neu programmieren will...
      Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!

      Kommentar


        #4
        Ich hätte vorgeschlagen den Wert in einen Helfer (Einstellung > Geräte&Dienste > Helfer) „Eingabe für Zahlenwert“ zu schreiben oder einen Helfer „Schalter“ zu verwenden und via Automatisierung diese(n) jeweils bei Wertänderung zu schreiben. Jedoch hat man die Änderung auch beim Neustart. Mir fällt gerade nix ein wie man das beim Neustart unterbinden kann. Den Neustart von HA kann man leider nicht als Bedingung nutzen.
        Naja … vllt doch … ein weiterer Helfen „Timer“ für eine Minute oder so, der beim Beenden von HA startet. Das dieser Timer nicht läuft als Bedingung für den Wert schreiben.

        Kommentar


          #5
          Über ein Trigger Template Sensor geht das, der merkt sich den Zustand auch über einen HA Neustart
          Code:
          File: template.yaml
          
          - trigger:
              - platform: knx.telegram
                destination: "7/7/21"
                group_value_read: false
                outgoing: false
              - platform: knx.telegram
                destination: "7/7/22"
                group_value_read: false
                outgoing: false​
            binary_sensor:
              - name: "Mein remanenter Sensor"
                unique_id: mein_remanenter_sensor
                state: >-
                  {{ trigger.payload > 0 }}​

          Kommentar


            #6
            Ungefähr so?
            • weitere Entität vom Typ 'input_xxxx' schaffen (abhängig vom Datentyp - zB input_number - standardmäßig behalten input_xxxx ihren Wert nach Neustart!)
            • auf beide vorhandenen Entitäten einen Trigger setzen, der den aktuellen Wert nach jeder Statusänderung in die input_xxxx Entität schreibt.

            Achtung - ungetestet und aus dem Kopf, hab das ne Weile nicht mehr gemacht:

            Code:
            automation:
            
              - alias: 'Write to a central entity'
            
                trigger:
            
                  platform: state
                  entity_id:
                  - sensor.regler_entity_1
                  not_from:
                  - unknown
                  - unavailable
                  not_to:
                  - unknown
                  - unavailable
            
                action:
            
                - action: input_number.set_value
                  target:
                    entity_id: input_number.my_new_entity
                  data:
                    # müsste eleganter auch mit states(this) gehen - aber vergessen, wie genau
                    value: "{{ states('sensor.regler_entity_1')|float(0.0)|round(1) }}"
            Dito für die zweite 'Quell-'Entität, nur entity_id: und data: anpassen. Kannst auch 5 oder 25 solche Entitäten haben, die in die zentrale input_xxxx schreiben - Prinzip bleibt gleich.

            Deine neue Entität input_xxxx enthält immer den 'jüngsten' Wert von allen Beteiligten - und zwar neustartsicher, da gecached (außer wenn 'initial' von Hand gesetzt wird - siehe hier).

            hth,
            /tom
            Zuletzt geändert von Tom Bombadil; 18.11.2024, 18:01.

            Kommentar


              #7
              Ein Knx binary_sensor stellt seinen State wieder her wenn er neu initialisiert wird.
              Wenn man nicht aktiv lesen möchte kann man da einfach `sync_state: false` benutzen.
              https://www.home-assistant.io/integr...#binary-sensor

              Kommentar


                #8
                Zitat von meti Beitrag anzeigen
                Ein Knx binary_sensor stellt seinen State wieder her wenn er neu initialisiert wird.
                Wenn man nicht aktiv lesen möchte kann man da einfach `sync_state: false` benutzen.
                Und dann(sync_state: false) benutzt er den letzten Status (=remanent gespeichert)?


                Kommentar


                  #9
                  Ja, das ist mit "stellt seinen State wieder her​" gemeint.

                  Kommentar


                    #10
                    Danke nochmal für alle Antworten! Ich muss gestehen, so beim 2. mal über meinen Eingangspost lesen, war das echt ein scheiß Einstieg und ich muss mich bei allen Beteiligend entschuldigen. Ich habe viel zu wenig Informationen geliefert um mir zu helfen und am Ende ist es falsch gelaufen, aber eigentlich bin ich selbst schuld.
                    Also fangen wir nochmal genauer an. Es geht um RTRs.
                    Es geht um genau zu sein bei den RTRs um den Status "on_off_state_adress" kann ich auch nur diesen auf "sync_state: false" stellen?
                    z.b. so:
                    Code:
                    climate:
                      - name: "Schlafen RTR"
                        temperature_address: "4/6/1"
                        target_temperature_address: "4/6/13"
                        temperature_step: 0.5
                        target_temperature_state_address: "4/6/77"
                        operation_mode_address: "4/6/65"
                        operation_mode_state_address: "4/6/89"
                        min_temp: 7.0
                        max_temp: 32.0
                        active_state_address: "4/6/115"
                        on_off_address: "4/6/0"
                        on_off_state_address:
                            - "4/6/0"
                            - "4/6/28"
                         sync_state: false
                    ​
                    Allerdings sagt mir HA schon, das es nicht geht:
                    grafik.png
                    Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!

                    Kommentar


                      #11
                      Da YAML sehr sensibel auf Einrückungen reagiert, könnte es an dem Leerzeichen vor sync_state liegen...

                      Kommentar


                        #12
                        Zitat von McJameson Beitrag anzeigen
                        Da YAML sehr sensibel auf Einrückungen reagiert, könnte es an dem Leerzeichen vor sync_state liegen...
                        grafik.png

                        Aber klappt leider nicht:
                        grafik.png
                        Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!

                        Kommentar


                          #13
                          Laut HA Doku zu Climate ist Sync_State nicht aufgeführt also wird das an der stelle auch nicht unterstützt.

                          Kommentar


                            #14
                            Ja, korrekt. Ich denke das geht so auch gerade, aber danke!
                            Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!

                            Kommentar


                              #15
                              Zitat von BadSmiley Beitrag anzeigen
                              Es geht um genau zu sein bei den RTRs um den Status "on_off_state_adress" kann ich auch nur diesen auf "sync_state: false" stellen?
                              Das geht nicht.

                              Du kannst dir einfach mit KNX helfen indem du am Aktor eine neue GA als Sendende anlegst und das L,S Flag setzt. Dann wird der Aktor den letzten empfangenen Wert selber speichern und er kann bei Bedarf auch gelesen werden.
                              Das ganze könnte man auch in HA mit expose auf eine internal-GA machen, aber in dem Fall scheint mir KNX einfacher.

                              Kommentar

                              Lädt...
                              X