HTTPMOD - Slider springt (Bei set-command auch reading setzen?)

Begonnen von Heiner33, 18 Dezember 2016, 09:02:10

Vorheriges Thema - Nächstes Thema

Heiner33

Hallo zusammen,

ich habe ein Device mit HTTPMOD, welches ein set-command mit Slider widget hat. Bei Änderung des Sliders wird das entsprechende set-Kommando ausgeführt und an das Device gesendet. Leider springt der Slider nach dem Verschieben wieder in die ursprüngliche Position, da das Reading für den Slider nur jede 60 sek. aktualisiert wird. Kann ich bei der Slider-Ändeurng auch gleich mein Reading (entsprechend der Slider-Selektion) setzen? Vielleicht hab ich auch generell etwas falsch gemacht?

Hier meine Device Definition:
define OpenHR20_1 HTTPMOD http://localhost:82/?page=status&addr=1 60
attr OpenHR20_1 userattr reading01Name reading01Regex reading02Name reading02Regex replacement01Mode:reading,internal,text,expression,key replacement01Regex set01Data set01Header set01Hint set01Max set01Min set01Name set01Replacement01Value set01URL verbose
attr OpenHR20_1 alias Thermostat Bathroom
attr OpenHR20_1 reading01Name Last_Update
attr OpenHR20_1 reading01Regex Last update: (.*?)\</div\>
attr OpenHR20_1 reading02Name Wanted_Temperature
attr OpenHR20_1 reading02Regex w_temp\" maxlength=\"5\" size=\"6\" value=\"(.*?)\" /\>&deg
attr OpenHR20_1 set01Data w_temp=$val&type=addr
attr OpenHR20_1 set01Header Content-Type: application/x-www-form-urlencoded
attr OpenHR20_1 set01Max 30
attr OpenHR20_1 set01Min 4.5
attr OpenHR20_1 set01Name SetTemp
attr OpenHR20_1 set01Replacement01Value Mode
attr OpenHR20_1 set01URL http://localhost:82/?page=status&addr=1
attr OpenHR20_1 userReadings SetTemp { ReadingsVal($name,"Wanted_Temperature",0) }
attr OpenHR20_1 webCmd SetTemp
attr OpenHR20_1 widgetOverride SetTemp:slider,4.5,0.5,30.5


Vielen Dank!!

viegener

In der Annahme, dass bei Deinem Set vom Server die normalen Daten für die Readings zurückgeschickt werden sollte das attribut
set01ParseResponse  das bewerkstelligen, weil dann die Antwort auf den Set durch die normale Erkennunng läuft
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Heiner33

Hallo viegener,

leider nicht. Der Server liefert nicht das gewünschte Ergebnis zurück, welches ich parsen könnte.

viegener

Liefert er gar nichts zurück oder nur andere Daten?

Im Notfall kannst Du Dir noch ein setreading als zusätzliches Kommando einbauen, dass immer ausgeführt wird, wenn Du den set aufrufst, oder alles in einem separaten Dummy hinterlegen
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

viegener

Achso, Du könntest auch noch ein get... im HTTP-Mod definieren und dieses immer nach dem set auslösen?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Heiner33

Zitat von: viegener am 18 Dezember 2016, 12:39:26
Liefert er gar nichts zurück oder nur andere Daten?

Im Notfall kannst Du Dir noch ein setreading als zusätzliches Kommando einbauen, dass immer ausgeführt wird, wenn Du den set aufrufst, oder alles in einem separaten Dummy hinterlegen

Er liefert mehr oder weniger nur ein "ok, Daten erhalten, wird verarbeitet" zurück.
Wie kann ich denn ein setreading Kommando ausführen, wenn ich den set aufrufe? Kannst du mir das in Stichworten etwas genauer erklären? Das könnte glaube mein Problem beseitigen

Vielen Dank!

PS: Das get im HTTP-Mod fällt weg, weil der Server selbst erst nach ca. 1 Min den neuen Temperatur-Wert anzeigt und zurück liefert.

viegener

Das hängt etwas davon ab, wie Du den Befehl auslöst. Hier mal zwei Ansätze:

- Du könntest ein notify anlegen, dass beide Befehle hinternander ausführt - und statt set direkt aufzurufen das notify mit dem trigger Befehl ausführen (oder dieses an einen Dummy binden auf dem Du den set ausführst)
- Du könntest ein cmdalias anlegen, dass beide Kommandos zu einem neuen zusammenfasst

Es gibt aber endlos weitere Möglichkeiten und das hängt auch von Wissen und persönlichen Vorlieben und davon ab, wo das Kommando bisher aufgerufen wird...
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können