NEWS
[gelöst] iQontrol erwartet "boolean" --> common.type ändern?
-
iQontrol benötigt - um eine Kachel inaktiv/aktiv darzustellen - den Statuswert im Format "boolean".
Was möchte ich:
- wenn der Systemdatenpunkt: "system.host.Raspy4-Display-Diele.alive"="true" unten in der Kachel die umgerechnete Uptimezeit anzeigen lassen.
Diese untere Zeile zeigt den Wert von Status an. Dieser hat aber klarerweise für die Umrechnung der Uptimesekunden das Format "string" und ist somit nicht mehr Trigger für die Kachel inaktiv/aktiv.
Was habe ich schon:
- Die Umrechnung und Darstellung der Uptimezeit als JS (Trigger die Änderung der Uptimezeit)
on({id: 'system.host.Raspy4-Display-Diele.uptime', change: "ne"}, function (dp) { // var timenew = Math.floor(dp.state.val / 3600 )+'h'+Math.floor( (dp.state.val % 3600) / 60 )+'min'; var timenew = Math.floor(dp.state.val / 60/60/24)+'d'+Math.floor((dp.state.val /60/60)%24 )+'h'+Math.floor( (dp.state.val % 3600) / 60 )+'min'; setState("a_andreas.0.eigene_dp.Zeit.System.Host.Raspy4-Display-Diele.iOBroker_uptime",timenew); });
- ein anderes JS zum Verändern eines Datenpunktes auf "number", das muss ich irgendwie anpassen
const idPlay = 'mpd.0.playid'; // const idInst = 'system.adapter.mpd.0.alive'; // on(idInst, function(dp) { // if(dp,state.val) { setTimeout(function() { var obj = getObject(idPlay); if(obj.common.type != 'number') { obj.common.type = 'number'; setObject(idPlay, obj); }; }, 1000); // } // });
Was suche ich:
- die Zusammenführung/Erweiterung meines Umrechnungs-JS, das heißt
- wenn der Alivestatus auf "false" geht, soll anstelle der Zeitumrechnung der Datenpunkt mit "false" beschrieben UND auf "boolean" umgestellt werden.
- wenn der Alivestatus wieder auf "true" geht, dann wieder auf "string" zurückstellen damit wieder die Laufzeit eingetragen und dargestellt werden kann.
Wer kann mir bitte helfen?
- eventuell gibt es eine einfache Möglichkeit die @s-bormann im kleinen iQontrol-Finger hat
- eventuell kann mir @paul53 helfen
- oder eventuell die anderen vielen @alle_Helfer hier im Forum
LG & danke im Voraus, mxa
- wenn der Systemdatenpunkt: "system.host.Raspy4-Display-Diele.alive"="true" unten in der Kachel die umgerechnete Uptimezeit anzeigen lassen.
-
@metaxa sagte:
Format "string" und ist somit nicht mehr Trigger für die Kachel inaktiv/aktiv.
Hast Du es mal mit einem Leerstring versucht ?
-
@paul53 Das war zu einfach
--> funktioniert, lieben Dank! Warum läßt du mich dafür so lange Anforderungen schreiben????Wie kann ich jetzt meinem Umrechnungsscript (siehe oben, Trigger ist Änderung auf die uptime-zeit) noch beibringen, wenn ein anderer Datenpunkt - in meinem Fall alive auf "false" geht, diesen Leerstring einzutragen?
LG und nochmals danke, @paul53 !
-
@metaxa sagte:
alive auf "false" geht, diesen Leerstring einzutragen?
on('system.host.Raspy4-Display-Diele.alive', function(dp) { if(!dp.state.val) setState("a_andreas.0.eigene_dp.Zeit.System.Host.Raspy4-Display-Diele.iOBroker_uptime", ''); });
-
@paul53 wieder einmal danke!
Funktioniert astrein, verstehen tue ich es einfach nicht.on('system.host.Raspy4-Display-Diele.alive', function(dp) { if(!dp.state.val) // Änderung auf false (
Habe jetzt diesen Beitrag von dir gefunden. // Änderung auf false
Ich hätte hier ein ='false' erwartet oder soetwas Ähnliches. Tja, Javascript ist einfach nicht an einem Nachmittag mit einer Funktion zu erlenen@paul53 --> Alles Gute und xund bleiben!
LG, mxa