Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. erweiterung einer rule geschichte

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    erweiterung einer rule geschichte

    This topic has been deleted. Only users with topic management privileges can see it.
    • da_Woody
      da_Woody last edited by da_Woody

      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.
      e9884f12-efe7-4edd-9bdb-004d0954fb91-grafik.png
      ccc26f86-f088-4c1c-8343-bc700a5b26e4-grafik.png
      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}]}}
      
      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      838
      Online

      31.7k
      Users

      79.7k
      Topics

      1.3m
      Posts

      1
      1
      105
      Loading More Posts
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      The ioBroker Community 2014-2023
      logo