NEWS
[gelöst] Wert (JSON) an URL senden
-
da stimmt was nicht
{ "updating": 0, "message_id": 224, "phase": 5, "night_lowering": 0, "new_fire_wood_hours": 0, "new_fire_wood_minutes": 0, "burn_level": 2, "operation_mode": 2, "maintenance_alarms": 0, "safety_alarms": 0, "refill_alarm": 0, "remote_refill_alarm": 1, "time_since_remote_msg": 152, "version_major": 1, "version_minor": 12, "version_build": 0, "remote_version_major": 1, "remote_version_minor": 2, "remote_version_build": 0, "day": 11, "month": 9, "year": 2021, "hours": 22, "minutes": 21, "seconds": 34, "night_begin_hour": 22, "night_begin_minute": 0, "night_end_hour": 6, "night_end_minute": 0, "stove_temperature": 1100, "room_temperature": 2300, "oxygen_level": 0, "valve1_position": 0, "valve2_position": 2, "valve3_position": 2, "algorithm": "TEST DATA", "doorOpen": false }
hier ist dein level nicht drin ... wo soll der den hingeschrieben werden.. oder setzt du den bei dir und willst den nur senden ?
-
@arteck ich habe den Punkt set_Level für mich angelegt um darüber den Wert an den Kamin zusenden. Der Wert ist burn_level.
-
@arteck ich würde den Wert von Set_Level gern an http://192.168.178.24/set_level senden. Laut dem Entwickler kann man darüber den Wert burn_level ändern.
-
@tofriedrich sagte: Wert von Set_Level gern an http://192.168.178.24/set_level senden.
Versuche es mal so:
on('0_userdata.0.Kamin.Set_Level', function(dp) { request({ method: 'POST', url: 'http://192.168.178.24/set_level', body: '{"level":dp.state.val}' }, function(error, respnse, body) { if(error) log(error, 'warn'); }); });
-
@paul53 als JavaScript oder wie kriege ich das abgebildet? Ich habe bis jetzt nur mit Blockly gearbeitet.
-
@tofriedrich Kurze Zwischenfrage: Die angegebene IP (192.168.178.24) ist vom Ofen?
-
@mcu genau, die IP ist vom Kamin
-
@tofriedrich Laut Programm ist die Funktion aber nicht "set_level" sondern "set_burn_level".
https://github.com/mvn23/hwam_stove/blob/master/pystove/pystove.pyZeile 166: STOVE_BURN_LEVEL_URL = '/set_burn_level'
-
@mcu Sorry, da hat sich bei mir ein Fehler eingeschlichen. Du hast recht
-
@tofriedrich
Schon mal so eine Variante probiert:http://192.168.178.24/set_burn_level?level=5
-
@mcu ja, da bekomme ich {"response":"unknown route"} angezeigt. Wie kann ich den Code von Paul in Blockly nutzen? Vielleicht klappt es.
-
http://192.168.178.24/set_burn_level?burn_level=5
-
@mcu auch hier {"response":"unknown route"}
-
@tofriedrich Funktionen -> Javascript-Funktion etwas tun
Da wird es verarbeitet:
json_str = await self._post('http://' + self.stove_host + STOVE_BURN_LEVEL_URL, data)
-
Mit dem Script passiert leider nichts
-
@tofriedrich Was steht denn in der Funktion? s.o.
-
@mcu ```
request({ method: 'POST', url: 'http://192.168.178.24/set_burn_level', body: {"level":Level} }, function(error, respnse, body) { if(error) log(error, 'warn'); });
-
@tofriedrich ok? und jetzt? Zeig nochmal Dein Blockly.
-
-
Der Wert wird nicht geändert egal ob ich mit Level arbeite oder wie in meinem Screenshot. Die Instanz wird sogar deaktiviert.