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}]}}