Hi
Ja, die Überschrift ist nicht die Beste, weiß aber nicht, wie ich folgendes in eine kurze Überschrift bekomme.
SHNG 1.8.2 Master
smartVISU 3.1.0
Ich habe diese Items als Beispiel:
Der Hintergrund ist der, dass ich eine Meldung bekommen möchte, sobald der Trockner auf Status 'Ende' (entspricht dem Wert 7) geht.
Das alleine klappt auch eigentlich, hat aber einen unschönen Nebeneffekt. Da der Zustand so stehen bleibt bis ich den Trockner ausschalte, bekomme ich die Ende Meldungen in der Visu (Soundfile und Toast Nachricht in der SmartVISU) immer wieder, wenn ich die Seite wechsle oder neu lade. Daher habe ich mir ein Hilfsitem (Trockner.Meldung.Enable) eingebaut.
Trockner.Meldung geht damit nur auf 1, wenn der Trocknerstatus auf 7 (Ende) geht und Trockner.Meldung.Enable auch auf 1 ist, sonst 0. Sollte passen.
Also muss noch das Trockner.Meldung.Enable Item richtig gesetzt werden und da hänge ich jetzt.
Aktuell triggert auch hier der Trocknerstatus das eval.
Das Item soll 1 sein, wenn der Status NICHT 7 ist. Soweit so gut, aber wenn der Status auf 7 (also Ende) geht, soll das Item auf der 1 stehen bleiben.
Jetzt will eval aber unbedingt ein 'else' haben.
Wie ist die korrekte Syntax um zu sagen:
Setze den Itemwert auf 1 wenn der Trocknerstatus NICHT 7 ist, aber wenn der Status 7 ist, mache einfach gar nichts.
Stimmt das mit 'else value'?
Oder muss es 'else None' sein? EDIT: Lösung ist 'else None', klappt aber trotzdem nicht.
Oder eine andere Syntax?
Oder geht das gar nicht?
Das Zurücksetzen des Enable Items auf 0 würde ein Button in status.toast in der Visu übernehmen. Das wäre quasi die Bestätigung durch den Nutzer. Dadurch sollte die Meldung verschwinden. Oder geht das bei einem Item mit eval/eval_trigger gar nicht, dass man den Wert dann auch noch über einen Button in der Visu ändert?
In Einzelteilen funktioniert das wie gesagt schon, nur die Kombination, so wie ich mir das vorstelle, klappt noch nicht so richtig.
Das Plugin liefert übrigens alle 5s ein Update durch ein Push Event vom Miele Server und alle 5min ein Update durch Polling.
Gruß, Martin
Ja, die Überschrift ist nicht die Beste, weiß aber nicht, wie ich folgendes in eine kurze Überschrift bekomme.
SHNG 1.8.2 Master
smartVISU 3.1.0
Ich habe diese Items als Beispiel:
Code:
Trockner: Meldung: type: bool eval: 1 if sh.MieleDevices.Dryer.state.status.value_raw() == 7 and sh.Waschhaus.Trockner.Meldung.Enable() == 1 else 0 eval_trigger: MieleDevices.Dryer.state.status.value_raw Enable: type: bool eval: 1 if sh.MieleDevices.Dryer.state.status.value_raw() != 7 else value eval_trigger: MieleDevices.Dryer.state.status.value_raw
Das alleine klappt auch eigentlich, hat aber einen unschönen Nebeneffekt. Da der Zustand so stehen bleibt bis ich den Trockner ausschalte, bekomme ich die Ende Meldungen in der Visu (Soundfile und Toast Nachricht in der SmartVISU) immer wieder, wenn ich die Seite wechsle oder neu lade. Daher habe ich mir ein Hilfsitem (Trockner.Meldung.Enable) eingebaut.
Trockner.Meldung geht damit nur auf 1, wenn der Trocknerstatus auf 7 (Ende) geht und Trockner.Meldung.Enable auch auf 1 ist, sonst 0. Sollte passen.
Also muss noch das Trockner.Meldung.Enable Item richtig gesetzt werden und da hänge ich jetzt.
Aktuell triggert auch hier der Trocknerstatus das eval.
Das Item soll 1 sein, wenn der Status NICHT 7 ist. Soweit so gut, aber wenn der Status auf 7 (also Ende) geht, soll das Item auf der 1 stehen bleiben.
Jetzt will eval aber unbedingt ein 'else' haben.
Wie ist die korrekte Syntax um zu sagen:
Setze den Itemwert auf 1 wenn der Trocknerstatus NICHT 7 ist, aber wenn der Status 7 ist, mache einfach gar nichts.
Stimmt das mit 'else value'?
Oder muss es 'else None' sein? EDIT: Lösung ist 'else None', klappt aber trotzdem nicht.
Oder eine andere Syntax?
Oder geht das gar nicht?
Das Zurücksetzen des Enable Items auf 0 würde ein Button in status.toast in der Visu übernehmen. Das wäre quasi die Bestätigung durch den Nutzer. Dadurch sollte die Meldung verschwinden. Oder geht das bei einem Item mit eval/eval_trigger gar nicht, dass man den Wert dann auch noch über einen Button in der Visu ändert?
In Einzelteilen funktioniert das wie gesagt schon, nur die Kombination, so wie ich mir das vorstelle, klappt noch nicht so richtig.
Das Plugin liefert übrigens alle 5s ein Update durch ein Push Event vom Miele Server und alle 5min ein Update durch Polling.
Gruß, Martin
Kommentar