NEWS
objekt-Daten per Script ändern
-
Guten Morgen,
seit längerer Zeit existiert in den RAW-Daten vom Shelly Dimmer 2 ein Bug, den ich aktuell nach jedem Reboot per Weboberfläche "beseitige". Bei der Temperatur in "°F" ist der Max. Wert auf den selben Wert eingestellt wie bei "°C", und das ist aktuell der Wert 100. Dieser Wert müsste aber auf 212 stehen, damit nicht alle 2 Sekunden eine Warnung geschrieben wird.
Kann man z.B. per JS auch diese Daten z.B. zu einer bestimmten Uhrzeit (nach dem Reboot) schreiben?Hier mal die "Objekt-Daten":
{
"type": "state",
"common": {
"name": "Temperature °F",
"type": "number",
"role": "value.temperature",
"unit": "°F",
"min": -100,
"max": 100,
"read": true,
"write": false,
"custom": {
"history.0": {
"enabled": true,
"aliasId": "",
"changesOnly": true,
"debounce": 1000,
"changesRelogInterval": 0,
"changesMinDelta": 0,
"maxLength": 960,
"retention": 31536000
}
}
},
"native": {},
"_id": "shelly.0.SHDM-2#E8DB84D4B443#1.temperatureF",
"acl": {
"object": 1638,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator",
"state": 1638
},
"from": "system.adapter.shelly.0",
"user": "system.user.admin",
"ts": 1642910588396
}Geändert werden soll der "rote" Wert.
Über eine Antwort wäre ich sehr dankbar und würde auch bestimmt vielen anderen Shelly Besitzen helfen. Ich habe auch bei Shelly den Bug per Case gemeldet und nach 2 Monaten Diskussion soll es demnächst beseitigt werden.
Vielen Dank und Grüße, Hasso
-
@hasso
Ein kurzes Skript, das ja automatisch bei jedem Reboot gestartet wird:extendObject('shelly.0.SHDM-2#E8DB84D4B443#1.temperatureF', {common: {max: 212}});
-
@paul53 said in objekt-Daten per Script ändern:
extendObject('shelly.0.SHDM-2#E8DB84D4B443#1.temperatureF', {common: {max: 212}});
Hallo Paul53,
vielen Dank für die schnelle Antwort und den Einzeiler.Wenn ich den JS-Skript starte, wird der Wert auf 212 gesetzt.
Wenn ich allerdings den PI reboote, dann nicht
Kann es sein, dass der JS-Script schneller ausgeführt wird als die Shelly-Instance?
Kann ich da irgendwie ein "Wait for Instance" oder ein Delay einbauen?
VG Hasso
-
@hasso sagte: Kann es sein, dass der JS-Script schneller ausgeführt wird als die Shelly-Instance?
Das ist möglich.
@hasso sagte in objekt-Daten per Script ändern:
ein Delay einbauen?
setTimeout(function() { extendObject('shelly.0.SHDM-2#E8DB84D4B443#1.temperatureF', {common: {max: 212}}); }, 5000);
-
Hallo paul53,
vielen Dank für die Ergänzung.
Ich musste allerdings den Wert bei mir auf 35000 hochsetzten ,da bei mir auf meinem PI 3 die JS-Instance mit als Erstes startet und die Shelly fast zum Schluss.
Jetzt war der Wert auf jeden Fall nach dem Reboot automatisch gesetzt.
Muss dann wahrscheinlich jeder Benutzer bei sich selber den passenden Wert ermitteln.Vielen Dank und einen schönen Sonntag.
VG Hasso