Hallo,
gibt es eine Möglichkeit die ein Eingabefeld zu erzeugen, um Variablen in einem Watchdog zu verändern?
Anwendungsbeispiel: Wenn die Temperatur unter den eingegebenen Wert sinkt, dann schalte die Heizung ein.
Grüße
hhsch
define Schwellwert dummy
attr Schwellwert room Einstellungen
attr Schwellwert setList Wert:textField
attrt Schwellwert webCmd Wert
Dann sollte ein Textfeld erscheinen. Mit
attr Schwellwert setList Werteliste:10,12,14,18
attr Schwelwert webCmd Werteliste
bekommst Du ein Menü
Die Werte landen beim dummy in readings Werte bzw. Werteliste.
Schau Dir mal die CommandRef dazu (dummy) an.
Gruß
Elektrolurch
Hallo,
Heizung ein oder aus schalten HCS Modul, andere Sachen abhängig von Werten steuern THRESHOLD, Zeitabhängig und Werteabhängig at mit If oder IF.
Beispiele:
define Heizung_Pumpe HCS Unterbr_Heizung
define Abluft_Wiga_1 THRESHOLD Temp_1:temperature:2:28 AND 4_CH_PLATINE_02:battery:ok 4_CH_PLATINE_02_Sw_02|set @ on|set @ off|2
define Rollo_Fitness_Tuer_zu at *{sunset("REAL",0,"17:30","22:00")} IF (ReadingsVal("Fensterkontakt_01","state","open") eq "closed")\
({fhem ("set Rollo_01 0")})
Die Werte können dann meist (Ausnahme at) über das WebIf geändert werden (Attribute)
Gruß Christoph
Hallo zusammen,
mich interessiert das auch mal. Haben wir denn noch keine "Eingabefunktion" mit der man z.B. auf dem Tablet nur auf einen Button drückt (z.B. Dummy mit Icon) und dann öffnet sich ein Eingabefenster und die Bildschirmtastatur? Sowas kann in der Industrie der billigste Touchscreen. ;)
Ich hätte da auch eine Anwendung im Bereich Energiezähler. Wer weiß da mehr oder hat einen Tipp für mich, wie ich sowas selbst programmieren könnte (Javascript?)?
Viele Grüße
Frank
Hallo fiedel,
Elektrolurch hat doch schon geschrieben, wie man ein Eingabefeld mit attr und webcmd zusammenbaut.
Bezüglich der Energiezähler: ich lese die S0 Zähler mit Panstamp aus und übertrage 15min Werte nach fhem.
Gruß Christoph
Das hatte ich kurz probiert und es ging nicht so wie ich dachte - aber das kann mein Fehler gewesen sein. Ich teste es später noch mal genau.
Vielen Dank!
Frank
Hallo Ihr Lieben,
ich kriegs nicht hin:
#Test Eingabefeld:
define Wert dummy
attr Wert room test
attr Wert setList Wert:textField
define test dummy
attr test room test
attr test setList text:textField nochEinText:textField
attr test webCmd text:nochEinText
Siehe Screenshot:
(http://forum.fhem.de/index.php?action=dlattach;topic=25605.0;attach=17490)
Beim Dummy "Wert" geht gar nichts - kein Fenster, keine Eingabemöglichkeit.
Beim Dummy "test" (Beispiel gefunden von justme) gibt es gleich 2 Felder, aber wenn ich Enter drücke, nimmt es nichts an. Kein Text und keine Zahlen. Auch nicht, wenn ich nur ein Feld befülle.
Was da noch zum vollkommenen Glück? ;)
Edit: Mir schwant was: Die Readings selber ändern sich beim Entern - damit es in den Dummywert wandert muss ich noch ein Notify dazubauen? Oder geht das einfacher?
Hallo,
Tipp:
define test_not notify test:.* {Log(3,"test_not: $NAME $EVENT");;}
Damit siehst Du, was Du eingibst.
Leider verhält sich m.M.n. textField und Menü (setList menu:1,k2,3,4,5) für einen dummy unterschiedlich.
Ich bin so vorgegangen, dass ich an das dummy ein notify mit einem perl-Skript hänge und da dann die interessanten Sachen mache.
und dann siehe Dir mal mit dem "list test" Befehl an, ob da readings entstanden sind.
Für manche Eingabearten muss man nämlich im notify explizit dann das reading setzen.
Leider ist die doku in fhem diesbezüglich nicht so toll. Also: experimtieren.
Gruß
Elektrolurch
Vielen Dank Elektrolurch!
Habe gerade im Eventmonitor nachgesehen, während ich ein Eingabefeld abgeentert habe. Dort passiert ein Event, mit dem ich per Notify meine Berechnung machen werde und dann das Ergebnis per "set" in den Dummy und an die Energieroutine schicken kann. Dann kann der Schnipsel demnächst endlich mal in`s Wiki. Ohne Inputfeld war mir das noch zu halbgar. ;)
Ich gebe damit den realen Zählerstand ein und das Script berechnet mir den Offset und schreibt ihn gleich in das richtige Attribut.
Hatte ich schon länger hier rumliegen, war mir aber noch zu kompliziert zu nutzen ("set offsetA 123456.789" in der Eingabemaske).
Viele Grüße
Frank
Schön, dass es Dir weiter geholfen hat. Ich versuche hier immer die Tipps zu geben, damit man dann selbst weiter kommt. Vermutlich steht zwar irgendwo im Forum auch schon immer eine Lösung, aber
1. Die Suchmaschine hier ist nicht berauschend
2. teilweise muss man über goolge hier im Forum suchen
3. und dann auch wissen, wonach man sucht....
Daher lieber ein paar Kniffe zur Selbsthilfe, so eine Vorgehensweise halte ich für konstruktiver, als gebetsmühlenartig gerade bei Einsteigern immer auf 1. und 2. zu verweisen.
Gruß
Elektrolurch
Hi Elektrolurch,
mal noch ne kurze Rückmeldung: Es hat geklappt! Kann den Event vom textfield im Notify auffangen, den eingegebenen Wert verarbeiten und in den Offset, sowie in den Dummy schreiben. Sehr schön! Sobald ich Zeit finde, setzte ich mich an den Wiki- Eintrag.
Ein Problem habe ich allerdings noch: Der eingegebene Wert wird ja nicht geprüft. Wenn ich was unlogisches eingebe, macht es mir die Berechnug kaputt. Da muss ich noch ein regex oder sowas suchen, womit ich den Wert überprüfen kann wie z.B.: "wenn Zahl mit punkt und zwei Stellen hinterm Punkt, dann verarbeite die Berechnung. Aber das kommt später... Erst mal funktioniert ja alles.
Viele Grüße und schönes WE!
Frank