NEWS
erweiterung einer rule geschichte
-
nachdem ich zu dämlich für js und blockly bin hab ich was mit rules gebastelt. klappt auch, allerdings würde ich das gerne erweiten und steh da wie der ochs vorm tor.
vorgabe, für trash (später auch für birthday), soll bei 2 im DP die standardfarbe auf grün, bei 1 gelb, bei 0 rot gesetzt werden.
für 0 klappt das ja von grau auf rot und wieder zurück. es geht um die badges an den kacheln in iQontrol.


js export: (rules kann man nicht exportieren...)let cond0 = false; on({id: "trashschedule.0.next.daysLeft", change: "ne"}, async function (obj) { _sendToFrontEnd(1705513115822, {val: obj.state.val, ack: obj.state.ack, valOld: obj.oldState && obj.oldState.val, ackOld: obj.oldState && obj.oldState.ack}); const subCondVar1705513281501 = obj.state.val; const subCond1705513281501 = subCondVar1705513281501 == 0; const _cond = (subCond1705513281501); _sendToFrontEnd(1705513281501, {result: subCond1705513281501, value: subCondVar1705513281501, compareWith: "0"}); if (cond0 === false && _cond) { cond0 = true; // set state 0_userdata.0.Resttage.TrashDaysleft to "#ff0000".replace(/%s/g, obj.state.val).replace(/%id/g, obj.id).replace(/%name/g, obj.common && obj.common.name).replace(/%old/g, obj.oldState.val) const subActionVar1705513206601 = "#ff0000".replace(/%s/g, obj.state.val).replace(/%id/g, obj.id).replace(/%name/g, obj.common && obj.common.name).replace(/%old/g, obj.oldState.val); _sendToFrontEnd(1705513206601, {val: subActionVar1705513206601, ack: false}); await setStateAsync("0_userdata.0.Resttage.TrashDaysleft", subActionVar1705513206601, false); } else if (cond0 === true && !_cond) { cond0 = false; // set state 0_userdata.0.Resttage.TrashDaysleft to "#8b8b8b".replace(/%s/g, obj.state.val).replace(/%id/g, obj.id).replace(/%name/g, obj.common && obj.common.name).replace(/%old/g, obj.oldState.val) const subActionVar1710381555304 = "#8b8b8b".replace(/%s/g, obj.state.val).replace(/%id/g, obj.id).replace(/%name/g, obj.common && obj.common.name).replace(/%old/g, obj.oldState.val); _sendToFrontEnd(1710381555304, {val: subActionVar1710381555304, ack: false}); await setStateAsync("0_userdata.0.Resttage.TrashDaysleft", subActionVar1710381555304, false); } }); /* const demo = { "triggers": [ { "id": "TriggerState", "acceptedBy": "triggers", "_id": 1705513115822, "tagCard": "on change", "oid": "trashschedule.0.next.daysLeft", "oidRole": "value", "oidType": "number", "oidWrite": false, "oidRead": true, "oidUnit": "days" } ], "conditions": [ [ { "id": "ConditionState", "acceptedBy": "conditions", "_id": 1705513281501, "tagCard": "=", "oid": "", "value": "0", "useTrigger": true } ], [] ], "justCheck": false, "actions": { "then": [ { "id": "ActionSetState", "acceptedBy": "actions", "_id": 1705513206601, "tagCard": "control", "oid": "0_userdata.0.Resttage.TrashDaysleft", "value": "#ff0000", "useTrigger": false, "oidRole": "state", "oidType": "string", "oidWrite": true, "oidRead": true } ], "else": [ { "id": "ActionSetState", "acceptedBy": "actions", "_id": 1710381555304, "tagCard": "control", "oid": "0_userdata.0.Resttage.TrashDaysleft", "value": "#8b8b8b", "oidRole": "state", "oidType": "string", "oidWrite": true, "oidRead": true, "useTrigger": false } ] } }; */ //{"triggers":[{"id":"TriggerState","acceptedBy":"triggers","_id":1705513115822,"tagCard":"on change","oid":"trashschedule.0.next.daysLeft","oidRole":"value","oidType":"number","oidWrite":false,"oidRead":true,"oidUnit":"days"}],"conditions":[[{"id":"ConditionState","acceptedBy":"conditions","_id":1705513281501,"tagCard":"=","oid":"","value":"0","useTrigger":true}],[]],"justCheck":false,"actions":{"then":[{"id":"ActionSetState","acceptedBy":"actions","_id":1705513206601,"tagCard":"control","oid":"0_userdata.0.Resttage.TrashDaysleft","value":"#ff0000","useTrigger":false,"oidRole":"state","oidType":"string","oidWrite":true,"oidRead":true}],"else":[{"id":"ActionSetState","acceptedBy":"actions","_id":1710381555304,"tagCard":"control","oid":"0_userdata.0.Resttage.TrashDaysleft","value":"#8b8b8b","oidRole":"state","oidType":"string","oidWrite":true,"oidRead":true,"useTrigger":false}]}}
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden