Ankündigung

Einklappen
Keine Ankündigung bisher.

status.toast reagiert auf on_update

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

  • Bonze
    antwortet
    mh, das müsst ich nochmal nachstellen das verhalten weiss ich in diesem Fall auch nicht auswendig, wie gesagt, das ist eigentlich sehr mächtig, weil sich vieles konfigurieren lässt ..

    Einen Kommentar schreiben:


  • loeserman
    antwortet
    Ja die Klingel ist ein Taster. Das ist das item AKTIV.
    in der oberen konfigs setze ich das zurück nach 20sek falls einer die Klingel gedrückt hält oder was klemmt. Das kannst du vernachlässigen.

    Den 0-1 Impuls der Klingel will ich nutzen und 30sek auf 1 halten. Dafür das 2. Item LONG_IMPULSE.

    Das enforce Update ist dazu da die 30sek zu verlängern wenn einer 2mal schnellt.

    ​​​​​​Solange wie das item LONG_IMPULSE 1 ist soll das toast anstehen. So war der Plan 😎

    Einen Kommentar schreiben:


  • Bonze
    antwortet
    liegt es vl daran das du enforce updates auf true hast ?
    ich verstehe deine item konfiguration noch nicht so ganz ..
    das signal kommt von deiner Klingel 0->1, wird dann von dir wieder auf 0 gesetzt oder macht das auch die Klingel?
    oder ist deine Klingel einfach ein Taster ?

    Einen Kommentar schreiben:


  • loeserman
    antwortet
    Ich denke mit einem Item allein wirst Du es nicht nachstellen können. Das Problem ist ja, dass bei mir das Item "LONG_IMPULSE" auf das das widget reagiert den Zustand nicht ändert (und immer 30sek lang TRUE bleibt). Aber es wird neu getriggert/geupdated durch das Item "AKTIV" (on_update, NICHT on_change).


    Siehe das "on_change" bei [[[AKTIV]]]
    Code:
    SONDERFUNKTIONEN:
    
        KLINGEL:
    
            AKTIV:
                name: Rxx Klingel gedrueckt
                type: bool
                visu_acl: rw
                enforce_updates: 'True'
                on_change: SONDERFUNKTIONEN.KLINGEL.AKTIV.LONG_IMPULSE = True if (value == True) else None
    
                LONG_IMPULSE:
                    name: Rxx Klingel gedrueckt, dann wird diese Variable für 30sek gehalten
                    type: bool
                    visu_acl: rw
                    enforce_updates: 'True'
                    autotimer: 30 = False

    Ich habe eigentlich alles auf Stand, oder woran machst Du fest, dass ich eine alte Version habe. Die config habe ich heute bereits auf yaml umgestellt.
    SmartVISU = 3.3.1
    SmartHomeNG = v1.9.4-master (c0cfb39cd)
    Zuletzt geändert von loeserman; 19.03.2023, 09:41.

    Einen Kommentar schreiben:


  • Bonze
    antwortet
    Ich kann dein problem nur bedingt nachvollziehen, wenn ich von hand triggere 0-1-0 , bleibt der toast angepinnt..
    es gibt einen modus, da verschwindet der toast nach einer einstellbaren zeit von selbst, eventuell solltest du mal die parameter checken..
    ich weiss, das widget ist sehr umfangreich ..
    da du anscheinend ne ältere version nutzt hast du auch den widget assistent noch nicht?

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Du weisst, das es ein Tool gibt, das Dir die Arbeit abnimmt? (Von ein paar manuellen Nacharbeiten zur Verschönerung mal abgesehen)

    Einen Kommentar schreiben:


  • loeserman
    antwortet
    Hehe, nee das hat keinen besonderen Grund. Ein paar konfigs sind schon umgebaut. Aber eine große habe ich noch vor mir. Vielleicht gehe ich das mal in meinem Urlaub an.

    Aber mir ist bewusst dass das depreciated ist und ich mich da mal langsam drum kümmern muss. Danke für den trigger.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Das hat jetzt nichts mit Deinem Problem zu tun: Hat es einen besonderen Grund, dass Du bei SmartHomeNG noch die alten Konfigurationsdateien verwendest und kein yaml?

    Dadurch entgehen Dir einige Features (z.B. das Editieren in der Admin GUI).
    Außerdem wird die Unterstützung für die .conf Dateien in einem der kommenden Releases retired werden.

    Einen Kommentar schreiben:


  • loeserman
    antwortet
    Die Liste macht es vielleicht etwas klarer.

    Beispiel 1
    Code:
    AKTIV    AKTIV.LONG_IMPULSE     toast Anzeige
    0        0                      Nein
    1        1                      Toast A
    1        1                      Toast A
    0        1                      Toast A und weiteres Toast B
    0        1                      Toast A und weiteres Toast B
             .. 30sek
    0        0                      Toast A geht wieder weg, Toast B bleibt stehen
    0        0                      Toast B
             .. so bleibt es

    Beispiel 2, mit Retrigger
    Code:
    AKTIV    AKTIV.LONG_IMPULSE     toast Anzeige
    0        0                      Nein
    1        1                      Toast A
    1        1                      Toast A
    0        1                      Toast A und weiteres Toast B
    0        1                      Toast A und weiteres Toast B
             .. 15sek               Toast A und weiteres Toast B
    1        1                      Toast A, Toast B, Toast C
    0        1                      Toast A, Toast B, Toast C, Toast D
             .. 30sek
    0        0                      Toast A geht wieder weg, Toast B,C,D bleiben stehen
    0        0                      Toast B
             .. so bleibt es
    Ich würde schon gern, dass man den Impuls verlängern kann. Das habe ich durch on_change und enforce_update erreicht. Zur Not müsste ich noch ein Item machen welches nur auf on_change von LONG_IMPULSE reagiert. Aber das geht bestimmt charmanter :-)

    Einen Kommentar schreiben:


  • loeserman
    hat ein Thema erstellt status.toast reagiert auf on_update.

    status.toast reagiert auf on_update

    Hallo zusammen,
    ich wollte das status.toast verwenden, um eine Nachricht zu schicken, wenn es geklingelt hat. Diese soll dann 30sek stehen bleiben und ich wollte die Möglichkeit haben, dass ich da auch direkt die Türe öffnen kann. Dazu habe ich mir ein Item erstellt, was die 30sek auf true bleibt, da das Klingelitem selbst nur solange true ist, wie man drückt.

    Laut der Beschreibung dachte ich, dass das status.toast erscheint und solange bleibt, wie das Item 1 ist. Ich musste allerdings feststellen, dass es bei jedem Update (ohne dass sich der Wert ändert) das status.toast neu reagiert. Ist das so gewollt? Das hat bei mir den Effekt, dass wenn das Klingel Signal wieder auf 0 geht, bekomme ich das nächste toast, obwohl ich auf meinen verlängerten Impuls schaue, der auch stehen bleibt. So habe ich dann bei jedem Klingeln 0->1->0 zwar meinen langen Puls für 30sek aber zwei status.toast auf dem Bildschirm.

    config
    Code:
    [SONDERFUNKTIONEN]
    [[KLINGEL]]
    [[[FREIGABE]]]
    name = Rxx Klingel freigeben
    type = bool
    visu_acl = rw
    cache = True
    knx_dpt = 1
    knx_listen = 1/7/0
    knx_send = 1/0/0
    knx_init = 1/7/0
    [[[AKTIV]]]
    name = Rxx Klingel gedrueckt
    type = bool
    visu_acl = rw
    value = False
    enforce_updates = True
    knx_dpt = 1
    knx_listen = 1/7/1
    knx_init = 1/7/1
    on_change = SONDERFUNKTIONEN.KLINGEL.AKTIV.LONG_IMPULSE = True if (value == True) else None
    autotimer = 20 = False # Wird nach 20sek wieder auf False gesetzt (zur Sicherheit, falls einer die Klingel dauerhaft drueckt)
    [[[[LONG_IMPULSE]]]]
    name = Rxx Klingel gedrueckt, dann wird diese Variable für 30sek gehalten / nachtriggern moeglich (gesetzt von SONDERFUNKTIONEN.KLINGEL.AKTIV.on_change)
    type = bool
    visu_acl = rw
    value = False
    enforce_updates = True
    autotimer = 30 = False # Wird nach 30sek wieder auf False gesetzt

    Aufruf im Code
    Code:
    {{ status.toast('toast01', 'SONDERFUNKTIONEN.KLINGEL.AKTIV.LONG_IMPULSE', '', '', '', 'Klingel', 'Es hat geklingelt', 'message_bell', '', 'R12.HAUSTUER.OEFFNER', 'Öffnen', 'true', 'true', 'false', '', 'true', '#FFFFFF', '#FF1356') }}
    Mache ich da etwas falsch? Ist das so gewollt?
    Zuletzt geändert von wvhn; 29.04.2023, 22:25.
Lädt...
X