Acties:
  • 0 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

Toegevoegd

A'dam PVOutput


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 08:18
Ben ik weer. Ik heb n Xiaomi schakelaar.
Die heb ik Home Assistant gekoppeld, als ik naar de events luister, zie ik bijvoorbeeld dit:

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
    "event_type": "deconz_event",
    "data": {
        "id": "switch_37",
        "unique_id": "00:15:8d:00:04:01:89:50",
        "event": 1002,
        "device_id": "dc1c8xxxx"
    },
    "origin": "LOCAL",
    "time_fired": "2021-02-02T13:24:58.054164+00:00",
    "context": {
        "id": "46e42e9xxxx",
        "parent_id": null,
        "user_id": null
    }
}


Hoe pas ik dit toe in NodeRed? De rest van de sequence ga ik me wel mee redden, maar wat voor node gaat dit event registreren? Is dat een events:all (type: deconz_event en dan een vervolg met een function node?

Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
] vergeten aan het einde van je code hierboven

Thnx voor de flow, kan ik weer ergens anders op toepassen hoop ik. ;)

PVOutput Github - Div ESP TK: MHI - Clack - Marstek


Acties:
  • 0 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

AUijtdehaag schreef op dinsdag 2 februari 2021 @ 15:23:
[...]

] vergeten aan het einde van je code hierboven

Thnx voor de flow, kan ik weer ergens anders op toepassen hoop ik. ;)
Dat is het nadeel van berichten editen met een iPad. De ] staat er nu bij.
Afbeeldingslocatie: https://tweakers.net/i/i5-l7V8q_6CoqVj0dR-1oqXtDqM=/800x/filters:strip_icc():strip_exif()/f/image/zrNx9KLNmnGkzsX29Knho6EE.jpg?f=fotoalbum_large
Loop toch nog even vast met het toevoegen van waardes aan de database. Heb een influxdb aangemaakt, maar hoe krijg ik nu alles uit een Youless naar die database? En ik mis phpmyadmin om te kijken wat er gebeurt. Wat is daar voor alternatief? Grafana is inmiddels geïnstalleerd, maar ik heb het nog niet gebruikt. Beginnerstips zijn welkom.

[ Voor 22% gewijzigd door ericplan op 02-02-2021 21:35 ]

A'dam PVOutput


Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
thanks. mooi, die ga ik even onthouden :)

Acties:
  • 0 Henk 'm!

  • Sander
  • Registratie: Juni 2004
  • Niet online
jenssen schreef op zondag 31 januari 2021 @ 09:55:
Kan het zijn dat de debug functie niet altijd evengoed de waardes laat zien? ik heb zowel Firefox/Chrome geprobeerd met alle adblockers uit, maar het lijkt erop dat zelf bij een relatief eenvoudige inject, het debugvenster niet atlijd de waarde laat zien, ik moet sowieso vaak eerst de browser verversen middels F5 wanneer ik iets heb gewijzigd. Is dit normaal en is er iets tegen te doen?
Idem hier in brave en Chrome, ik merk dat het soms direct loopt, ander keren zie ik op m’n mqtt sub client dat er berichten binnen komen maar niks in de flow (direct van mqtt wildcard naar debug node) tot ik refresh en dan staat wel alles er (ook van voor de refresh)

Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
Koepert schreef op dinsdag 2 februari 2021 @ 14:40:
Ben ik weer. Ik heb n Xiaomi schakelaar.
Die heb ik Home Assistant gekoppeld, als ik naar de events luister, zie ik bijvoorbeeld dit:

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
    "event_type": "deconz_event",
    "data": {
        "id": "switch_37",
        "unique_id": "00:15:8d:00:04:01:89:50",
        "event": 1002,
        "device_id": "dc1c8xxxx"
    },
    "origin": "LOCAL",
    "time_fired": "2021-02-02T13:24:58.054164+00:00",
    "context": {
        "id": "46e42e9xxxx",
        "parent_id": null,
        "user_id": null
    }
}


Hoe pas ik dit toe in NodeRed? De rest van de sequence ga ik me wel mee redden, maar wat voor node gaat dit event registreren? Is dat een events:all (type: deconz_event en dan een vervolg met een function node?
Misschien een "events: state" (of trigger: state) node met de entity-id uit HA van de betreffende schakelaar

voorbeeld van mijn Lidl deurbel:
JSON:
1
[{"id":"f1927f4e.ae2798","type":"server-state-changed","z":"92df3383.8b25f","name":"","server":"1c3dc1f6.321306","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.deurbel_action","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"pressed","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":190,"y":1480,"wires":[["83fb9f92.90edb8"],[]]},{"id":"1c3dc1f6.321306","type":"server","name":"Home Assistant","legacy":false,"addon":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Acties:
  • +1 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@ericplan Heb je hier iets aan wat betreft de youless?

code:
1
[{"id":"61da5d0.93d95a4","type":"tab","label":"Youless","disabled":false,"info":""},{"id":"79907e9.3c15c8","type":"inject","z":"61da5d0.93d95a4","name":"","props":[{"p":"payload","v":"","vt":"date"},{"p":"topic","v":"","vt":"string"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":160,"wires":[["c5533c5.53a0bc"]]},{"id":"c5533c5.53a0bc","type":"http request","z":"61da5d0.93d95a4","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://192.168.5.59/e","tls":"","persist":false,"proxy":"","authType":"","x":290,"y":80,"wires":[["39a94865.914a08","bbc7e1b4.b2a1f"]]},{"id":"39a94865.914a08","type":"json","z":"61da5d0.93d95a4","name":"","property":"payload","action":"obj","pretty":false,"x":490,"y":80,"wires":[["a92f5f39.fd4d7","c0c54d1e.f44e7"]]},{"id":"a92f5f39.fd4d7","type":"function","z":"61da5d0.93d95a4","name":"Filter","func":"var Counter = msg.payload[0].net //Netto counter. It seems equal to: p1 + p2 - n1 - n2\nvar Power = msg.payload[0].pwr; //Actual power use in Watt (can be negative)\nvar Cs0 = msg.payload[0].cs0; // S0: kWh counter of S0 input\nvar Ps0 = msg.payload[0].ps0; // S0: Computed power\nvar P1 = msg.payload[0].p1 // P1 consumption counter (low tariff)\nvar P2 = msg.payload[0].p2; // P2 consumption counter (high tariff)\nvar N1 = msg.payload[0].n1; // N1 production counter (low tariff)\nvar N2 = msg.payload[0].n2; // N2 production counter (high tariff)\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"youless\",\n\t\tfields: {\n\t\t\tcounter:    Counter,\t\n\t\t\tpower:      Power,\t\t\t\n\t\t\tcounters0:  Cs0,\t\n\t\t\tpowers0:    Ps0,\n\t\t\tp1:         P1,\n\t\t\tp2:         P2,\n\t\t\tn1:         N1,\n\t\t\tn2:         N2,\n\t\t    },\n\t\ttags:{\n\t\t    device: \"youless_wp\",\n\t\t    },\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":690,"y":80,"wires":[["1ccc6460.57ed6c"]]},{"id":"9a597e16.23e8c","type":"debug","z":"61da5d0.93d95a4","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1170,"y":580,"wires":[]},{"id":"1ccc6460.57ed6c","type":"join","z":"61da5d0.93d95a4","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"5","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":850,"y":80,"wires":[["53346ddb.5d8e94","c6dfe06b.859de"]]},{"id":"4dcca997.661478","type":"mqtt out","z":"61da5d0.93d95a4","name":"Youless MQTT","topic":"youless","qos":"","retain":"","broker":"1a5b1090.c729cf","x":1200,"y":140,"wires":[]},{"id":"2534aa7.a50ca56","type":"mqtt in","z":"61da5d0.93d95a4","name":"","topic":"youless","qos":"2","datatype":"json","broker":"1a5b1090.c729cf","x":950,"y":580,"wires":[["9a597e16.23e8c"]]},{"id":"c0c54d1e.f44e7","type":"function","z":"61da5d0.93d95a4","name":"Filter","func":"var Counter = msg.payload[0].net //Netto counter. It seems equal to: p1 + p2 - n1 - n2\nvar Power = msg.payload[0].pwr; //Actual power use in Watt (can be negative)\nvar Cs0 = msg.payload[0].cs0; // S0: kWh counter of S0 input\nvar Ps0 = msg.payload[0].ps0; // S0: Computed power\nvar P1 = msg.payload[0].p1 // P1 consumption counter (low tariff)\nvar P2 = msg.payload[0].p2; // P2 consumption counter (high tariff)\nvar N1 = msg.payload[0].n1; // N1 production counter (low tariff)\nvar N2 = msg.payload[0].n2; // N2 production counter (high tariff)\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\t\ttimestamp: flow.get('timestamp'),\n            counter:    Counter,\t\n\t\t\tpower:      Power,\t\t\t\n\t\t\tcounters0:  Cs0,\t\n\t\t\tpowers0:    Ps0,\n\t\t\tp1:         P1,\n\t\t\tp2:         P2,\n\t\t\tn1:         N1,\n\t\t\tn2:         N2,\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":690,"y":140,"wires":[["806f150e.d488e8","a7eb93df.762c8","c38a1ec8.972af"]]},{"id":"1e2199ba.51dd56","type":"interval","z":"61da5d0.93d95a4","name":"interval","interval":"10","onstart":false,"msg":"ping","showstatus":true,"unit":"seconds","statusformat":"YYYY-MM-D HH:mm:ss","x":90,"y":80,"wires":[["c5533c5.53a0bc"]]},{"id":"a04dcafd.b29488","type":"influxdb batch","z":"61da5d0.93d95a4","influxdb":"cc27eafd.c04928","precision":"","retentionPolicy":"","name":"","x":1260,"y":80,"wires":[]},{"id":"53346ddb.5d8e94","type":"debug","z":"61da5d0.93d95a4","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1070,"y":20,"wires":[]},{"id":"c6dfe06b.859de","type":"delay","z":"61da5d0.93d95a4","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"10","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":1040,"y":80,"wires":[["a04dcafd.b29488"]]},{"id":"2e9eb977.bc5d46","type":"inject","z":"61da5d0.93d95a4","name":"Start of the day","props":[{"p":"payload","v":"","vt":"date"},{"p":"topic","v":"","vt":"string"}],"repeat":"","crontab":"00 00 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":120,"y":300,"wires":[["4575f75b.243ed8"]]},{"id":"4575f75b.243ed8","type":"change","z":"61da5d0.93d95a4","name":"S0 youless","rules":[{"t":"set","p":"payload","pt":"msg","to":"dailyusage","tot":"global"},{"t":"set","p":"dailyusage","pt":"global","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":330,"y":300,"wires":[["a0ed7713.d88a98"]]},{"id":"c1d81354.a4f92","type":"debug","z":"61da5d0.93d95a4","name":"Last Days","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","statusVal":"","statusType":"auto","x":700,"y":300,"wires":[]},{"id":"e889ccd8.604b9","type":"comment","z":"61da5d0.93d95a4","name":"Dagelijks verbruik en reset","info":"","x":130,"y":260,"wires":[]},{"id":"a0ed7713.d88a98","type":"function","z":"61da5d0.93d95a4","name":"Total usage","func":"msg.payload = \"Total usage today is \"+msg.payload\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":300,"wires":[["c1d81354.a4f92"]]},{"id":"a7eb93df.762c8","type":"change","z":"61da5d0.93d95a4","name":"Convert","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(payload.counters0)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":200,"y":380,"wires":[["55a33ca5.f61444"]]},{"id":"55a33ca5.f61444","type":"function","z":"61da5d0.93d95a4","name":"s0 youless usage","func":"//Grab previous value from global variable for total usage\npreviousvalue = global.get(\"totalvalue\")||0;\n\n//How much usage since the last update\nperiodvalue = msg.payload - previousvalue;\n\n//Grab previous value from global variable for daily usage\ndailyvalue = global.get(\"dailyusage\")||0;\n\ndailyvalue = dailyvalue + periodvalue;\n\n//Update the global variables.\nglobal.set(\"dailyusage\",dailyvalue );\nglobal.set(\"totalvalue\", msg.payload);\n\nmsg.payload = Number(parseFloat(dailyvalue).toFixed(3))\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":410,"y":380,"wires":[["e40c25b4.8182f8","b6648fd3.72a43"]]},{"id":"e40c25b4.8182f8","type":"function","z":"61da5d0.93d95a4","name":"kWh naar Euro omrekenen","func":"kwhprijs = 0.23 //0.23 cent per kWh import\ncalc = Number(parseFloat(msg.payload * kwhprijs).toFixed(3));\nvar msg1 = {payload:calc};\nreturn [msg1];","outputs":1,"noerr":0,"initialize":"","finalize":"","x":340,"y":440,"wires":[["e3bb7114.9e3b5"]]},{"id":"806f150e.d488e8","type":"debug","z":"61da5d0.93d95a4","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":860,"y":200,"wires":[]},{"id":"df9f3178.18c88","type":"debug","z":"61da5d0.93d95a4","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1150,"y":380,"wires":[]},{"id":"b6648fd3.72a43","type":"change","z":"61da5d0.93d95a4","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.mitsu_today_kwh","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":380,"wires":[["dbf1011c.81b91"]]},{"id":"e3bb7114.9e3b5","type":"change","z":"61da5d0.93d95a4","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.mitsu_today_euro","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":440,"wires":[["dbf1011c.81b91"]]},{"id":"dbf1011c.81b91","type":"join","z":"61da5d0.93d95a4","name":"","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"5","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":810,"y":380,"wires":[["70b82492.73d8ec","5f381ffc.39633","c38a1ec8.972af"]]},{"id":"70b82492.73d8ec","type":"function","z":"61da5d0.93d95a4","name":"Filter","func":"let _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"youless\",\n\t\tfields: {\n\t\t\tmitsu_today_kWh:    msg.payload.mitsu_today_kwh,\n\t\t\tmitsu_today_euro:   msg.payload.mitsu_today_euro,\n\t\t},\n\t\ttags:{\n\t\t    device: \"youless_wp\",\n\t\t    },\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":990,"y":380,"wires":[["df9f3178.18c88","5a6b0b6a.948ee4"]]},{"id":"9e24246b.3c8488","type":"influxdb batch","z":"61da5d0.93d95a4","influxdb":"cc27eafd.c04928","precision":"","retentionPolicy":"","name":"","x":1180,"y":500,"wires":[]},{"id":"5a6b0b6a.948ee4","type":"join","z":"61da5d0.93d95a4","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"5","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":1050,"y":440,"wires":[["f89f0879.a7eb88"]]},{"id":"f89f0879.a7eb88","type":"delay","z":"61da5d0.93d95a4","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"10","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":1240,"y":440,"wires":[["9e24246b.3c8488"]]},{"id":"5f381ffc.39633","type":"debug","z":"61da5d0.93d95a4","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":910,"y":340,"wires":[]},{"id":"c38a1ec8.972af","type":"join","z":"61da5d0.93d95a4","name":"","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"10","count":"10","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":1050,"y":140,"wires":[["4dcca997.661478"]]},{"id":"bbc7e1b4.b2a1f","type":"debug","z":"61da5d0.93d95a4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":460,"y":160,"wires":[]},{"id":"1a5b1090.c729cf","type":"mqtt-broker","z":"","name":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"cc27eafd.c04928","type":"influxdb","z":"","hostname":"127.0.0.1","port":"8086","protocol":"http","database":"energy","name":"","usetls":false,"tls":""}]

PVOutput Github - Div ESP TK: MHI - Clack - Marstek


Acties:
  • 0 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

AUijtdehaag schreef op woensdag 3 februari 2021 @ 16:52:
@ericplan Heb je hier iets aan wat betreft de youless?

code:
1
[{"id":"61da5d0.93d95a4","type":"tab","label":"Youless","disabled":false,"info":""},{"id":"79907e9.3c15c8","type":"inject","z":"61da5d0.93d95a4","name":"","props":[{"p":"payload","v":"","vt":"date"},{"p":"topic","v":"","vt":"string"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":160,"wires":[["c5533c5.53a0bc"]]},{"id":"c5533c5.53a0bc","type":"http request","z":"61da5d0.93d95a4","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://192.168.5.59/e","tls":"","persist":false,"proxy":"","authType":"","x":290,"y":80,"wires":[["39a94865.914a08","bbc7e1b4.b2a1f"]]},{"id":"39a94865.914a08","type":"json","z":"61da5d0.93d95a4","name":"","property":"payload","action":"obj","pretty":false,"x":490,"y":80,"wires":[["a92f5f39.fd4d7","c0c54d1e.f44e7"]]},{"id":"a92f5f39.fd4d7","type":"function","z":"61da5d0.93d95a4","name":"Filter","func":"var Counter = msg.payload[0].net //Netto counter. It seems equal to: p1 + p2 - n1 - n2\nvar Power = msg.payload[0].pwr; //Actual power use in Watt (can be negative)\nvar Cs0 = msg.payload[0].cs0; // S0: kWh counter of S0 input\nvar Ps0 = msg.payload[0].ps0; // S0: Computed power\nvar P1 = msg.payload[0].p1 // P1 consumption counter (low tariff)\nvar P2 = msg.payload[0].p2; // P2 consumption counter (high tariff)\nvar N1 = msg.payload[0].n1; // N1 production counter (low tariff)\nvar N2 = msg.payload[0].n2; // N2 production counter (high tariff)\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"youless\",\n\t\tfields: {\n\t\t\tcounter:    Counter,\t\n\t\t\tpower:      Power,\t\t\t\n\t\t\tcounters0:  Cs0,\t\n\t\t\tpowers0:    Ps0,\n\t\t\tp1:         P1,\n\t\t\tp2:         P2,\n\t\t\tn1:         N1,\n\t\t\tn2:         N2,\n\t\t    },\n\t\ttags:{\n\t\t    device: \"youless_wp\",\n\t\t    },\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":690,"y":80,"wires":[["1ccc6460.57ed6c"]]},{"id":"9a597e16.23e8c","type":"debug","z":"61da5d0.93d95a4","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1170,"y":580,"wires":[]},{"id":"1ccc6460.57ed6c","type":"join","z":"61da5d0.93d95a4","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"5","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":850,"y":80,"wires":[["53346ddb.5d8e94","c6dfe06b.859de"]]},{"id":"4dcca997.661478","type":"mqtt out","z":"61da5d0.93d95a4","name":"Youless MQTT","topic":"youless","qos":"","retain":"","broker":"1a5b1090.c729cf","x":1200,"y":140,"wires":[]},{"id":"2534aa7.a50ca56","type":"mqtt in","z":"61da5d0.93d95a4","name":"","topic":"youless","qos":"2","datatype":"json","broker":"1a5b1090.c729cf","x":950,"y":580,"wires":[["9a597e16.23e8c"]]},{"id":"c0c54d1e.f44e7","type":"function","z":"61da5d0.93d95a4","name":"Filter","func":"var Counter = msg.payload[0].net //Netto counter. It seems equal to: p1 + p2 - n1 - n2\nvar Power = msg.payload[0].pwr; //Actual power use in Watt (can be negative)\nvar Cs0 = msg.payload[0].cs0; // S0: kWh counter of S0 input\nvar Ps0 = msg.payload[0].ps0; // S0: Computed power\nvar P1 = msg.payload[0].p1 // P1 consumption counter (low tariff)\nvar P2 = msg.payload[0].p2; // P2 consumption counter (high tariff)\nvar N1 = msg.payload[0].n1; // N1 production counter (low tariff)\nvar N2 = msg.payload[0].n2; // N2 production counter (high tariff)\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\t\ttimestamp: flow.get('timestamp'),\n            counter:    Counter,\t\n\t\t\tpower:      Power,\t\t\t\n\t\t\tcounters0:  Cs0,\t\n\t\t\tpowers0:    Ps0,\n\t\t\tp1:         P1,\n\t\t\tp2:         P2,\n\t\t\tn1:         N1,\n\t\t\tn2:         N2,\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":690,"y":140,"wires":[["806f150e.d488e8","a7eb93df.762c8","c38a1ec8.972af"]]},{"id":"1e2199ba.51dd56","type":"interval","z":"61da5d0.93d95a4","name":"interval","interval":"10","onstart":false,"msg":"ping","showstatus":true,"unit":"seconds","statusformat":"YYYY-MM-D HH:mm:ss","x":90,"y":80,"wires":[["c5533c5.53a0bc"]]},{"id":"a04dcafd.b29488","type":"influxdb batch","z":"61da5d0.93d95a4","influxdb":"cc27eafd.c04928","precision":"","retentionPolicy":"","name":"","x":1260,"y":80,"wires":[]},{"id":"53346ddb.5d8e94","type":"debug","z":"61da5d0.93d95a4","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1070,"y":20,"wires":[]},{"id":"c6dfe06b.859de","type":"delay","z":"61da5d0.93d95a4","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"10","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":1040,"y":80,"wires":[["a04dcafd.b29488"]]},{"id":"2e9eb977.bc5d46","type":"inject","z":"61da5d0.93d95a4","name":"Start of the day","props":[{"p":"payload","v":"","vt":"date"},{"p":"topic","v":"","vt":"string"}],"repeat":"","crontab":"00 00 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":120,"y":300,"wires":[["4575f75b.243ed8"]]},{"id":"4575f75b.243ed8","type":"change","z":"61da5d0.93d95a4","name":"S0 youless","rules":[{"t":"set","p":"payload","pt":"msg","to":"dailyusage","tot":"global"},{"t":"set","p":"dailyusage","pt":"global","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":330,"y":300,"wires":[["a0ed7713.d88a98"]]},{"id":"c1d81354.a4f92","type":"debug","z":"61da5d0.93d95a4","name":"Last Days","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","statusVal":"","statusType":"auto","x":700,"y":300,"wires":[]},{"id":"e889ccd8.604b9","type":"comment","z":"61da5d0.93d95a4","name":"Dagelijks verbruik en reset","info":"","x":130,"y":260,"wires":[]},{"id":"a0ed7713.d88a98","type":"function","z":"61da5d0.93d95a4","name":"Total usage","func":"msg.payload = \"Total usage today is \"+msg.payload\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":300,"wires":[["c1d81354.a4f92"]]},{"id":"a7eb93df.762c8","type":"change","z":"61da5d0.93d95a4","name":"Convert","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(payload.counters0)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":200,"y":380,"wires":[["55a33ca5.f61444"]]},{"id":"55a33ca5.f61444","type":"function","z":"61da5d0.93d95a4","name":"s0 youless usage","func":"//Grab previous value from global variable for total usage\npreviousvalue = global.get(\"totalvalue\")||0;\n\n//How much usage since the last update\nperiodvalue = msg.payload - previousvalue;\n\n//Grab previous value from global variable for daily usage\ndailyvalue = global.get(\"dailyusage\")||0;\n\ndailyvalue = dailyvalue + periodvalue;\n\n//Update the global variables.\nglobal.set(\"dailyusage\",dailyvalue );\nglobal.set(\"totalvalue\", msg.payload);\n\nmsg.payload = Number(parseFloat(dailyvalue).toFixed(3))\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":410,"y":380,"wires":[["e40c25b4.8182f8","b6648fd3.72a43"]]},{"id":"e40c25b4.8182f8","type":"function","z":"61da5d0.93d95a4","name":"kWh naar Euro omrekenen","func":"kwhprijs = 0.23 //0.23 cent per kWh import\ncalc = Number(parseFloat(msg.payload * kwhprijs).toFixed(3));\nvar msg1 = {payload:calc};\nreturn [msg1];","outputs":1,"noerr":0,"initialize":"","finalize":"","x":340,"y":440,"wires":[["e3bb7114.9e3b5"]]},{"id":"806f150e.d488e8","type":"debug","z":"61da5d0.93d95a4","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":860,"y":200,"wires":[]},{"id":"df9f3178.18c88","type":"debug","z":"61da5d0.93d95a4","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1150,"y":380,"wires":[]},{"id":"b6648fd3.72a43","type":"change","z":"61da5d0.93d95a4","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.mitsu_today_kwh","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":380,"wires":[["dbf1011c.81b91"]]},{"id":"e3bb7114.9e3b5","type":"change","z":"61da5d0.93d95a4","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.mitsu_today_euro","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":440,"wires":[["dbf1011c.81b91"]]},{"id":"dbf1011c.81b91","type":"join","z":"61da5d0.93d95a4","name":"","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"5","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":810,"y":380,"wires":[["70b82492.73d8ec","5f381ffc.39633","c38a1ec8.972af"]]},{"id":"70b82492.73d8ec","type":"function","z":"61da5d0.93d95a4","name":"Filter","func":"let _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"youless\",\n\t\tfields: {\n\t\t\tmitsu_today_kWh:    msg.payload.mitsu_today_kwh,\n\t\t\tmitsu_today_euro:   msg.payload.mitsu_today_euro,\n\t\t},\n\t\ttags:{\n\t\t    device: \"youless_wp\",\n\t\t    },\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":990,"y":380,"wires":[["df9f3178.18c88","5a6b0b6a.948ee4"]]},{"id":"9e24246b.3c8488","type":"influxdb batch","z":"61da5d0.93d95a4","influxdb":"cc27eafd.c04928","precision":"","retentionPolicy":"","name":"","x":1180,"y":500,"wires":[]},{"id":"5a6b0b6a.948ee4","type":"join","z":"61da5d0.93d95a4","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"5","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":1050,"y":440,"wires":[["f89f0879.a7eb88"]]},{"id":"f89f0879.a7eb88","type":"delay","z":"61da5d0.93d95a4","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"10","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":1240,"y":440,"wires":[["9e24246b.3c8488"]]},{"id":"5f381ffc.39633","type":"debug","z":"61da5d0.93d95a4","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":910,"y":340,"wires":[]},{"id":"c38a1ec8.972af","type":"join","z":"61da5d0.93d95a4","name":"","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"10","count":"10","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":1050,"y":140,"wires":[["4dcca997.661478"]]},{"id":"bbc7e1b4.b2a1f","type":"debug","z":"61da5d0.93d95a4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":460,"y":160,"wires":[]},{"id":"1a5b1090.c729cf","type":"mqtt-broker","z":"","name":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"cc27eafd.c04928","type":"influxdb","z":"","hostname":"127.0.0.1","port":"8086","protocol":"http","database":"energy","name":"","usetls":false,"tls":""}]
Dank, ik hoop er vandaag mee aan de slag te gaan. Had helaas andere verplichtingen gisteren. Hoe kan ik snel controleren of er iets in de database komt. Zijn daar tips voor?

A'dam PVOutput


Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@ericplan
De debug aanzetten in de flow?
Het is een werkende flow dus zal meteen moeten werken als de ip van influx server en naam database in influxdb kloppen.

PVOutput Github - Div ESP TK: MHI - Clack - Marstek


Acties:
  • +1 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

AUijtdehaag schreef op donderdag 4 februari 2021 @ 09:20:
@ericplan
De debug aanzetten in de flow?
Het is een werkende flow dus zal meteen moeten werken als de ip van influx server en naam database in influxdb kloppen.
Het werkt inmiddels allemaal. Beetje wennen aan terminologie van InfluxDB. Alles komt keurig in vier tabellen in een database. Nog kijken of dat slimmer kan, er zit nog wat redundantie in.

Volgende stap is Grafana laten werken. Bedoeling is een grafiek met simpele staafkolommen per dag in een week- of maandview. Eerst de tabellen maar een beetje vullen :)

A'dam PVOutput


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 08:18
Hoi,

Ik ben gisteren gemigreerd van 'server' , allemaal top, alleen zijn er een handvol entities van naam gewijzigd (had ik in DeConz reeds gedaan,was blijkbaar niet naar Home Assistant doorgezet). Hoe dan ook.

Is er ook een manier om je Node_red te testen op 'niet bestaande sensors' die je in je trigger/flow in gebruik hebt? Of is t puur afwachten of het werkt :)

Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 08:18
Step5 schreef op dinsdag 2 februari 2021 @ 21:45:
[...]


Misschien een "events: state" (of trigger: state) node met de entity-id uit HA van de betreffende schakelaar

voorbeeld van mijn Lidl deurbel:
JSON:
1
[{"id":"f1927f4e.ae2798","type":"server-state-changed","z":"92df3383.8b25f","name":"","server":"1c3dc1f6.321306","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.deurbel_action","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"pressed","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":190,"y":1480,"wires":[["83fb9f92.90edb8"],[]]},{"id":"1c3dc1f6.321306","type":"server","name":"Home Assistant","legacy":false,"addon":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]
Oh btw, dit werkte niet. de schakelaar toont een 'event' maar die is verder niet als state terug te vinden, anders dan naar deconz_events te luisteren.. Zover ik kan nagaan.

Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
Koepert schreef op vrijdag 5 februari 2021 @ 16:17:
[...]

Oh btw, dit werkte niet. de schakelaar toont een 'event' maar die is verder niet als state terug te vinden, anders dan naar deconz_events te luisteren.. Zover ik kan nagaan.
ah, ok. wat voor event is dat dan?

Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 08:18
Step5 schreef op vrijdag 5 februari 2021 @ 19:38:
[...]


ah, ok. wat voor event is dat dan?
Het is dus zo'n aqara button, die als je 1x drukt een '1002'-event afgeeft, dat is hetgeen HA (of NodeRed) verwerkt tot signaal om iets te doen. Dus ergens verwacht ik dat je ipv on vs off ook 1002 of 1004/2002 kunt gebruiken, maar dat weet ik niet zeker. Het is dus geen state, maar een event die de button fired

Als ik die door een debug haal, zie ik in NodeRed dit:

code:
1
{"id":"huiskamerswitch","unique_id":"00xxxx","event":1002,"device_id":"8xxx7d2"}

[ Voor 21% gewijzigd door Koepert op 05-02-2021 19:56 ]


Acties:
  • 0 Henk 'm!

  • TweakerVincent
  • Registratie: April 2014
  • Laatst online: 13:13
Koepert schreef op vrijdag 5 februari 2021 @ 19:47:
[...]


Het is dus zo'n aqara button, die als je 1x drukt een '1002'-event afgeeft, dat is hetgeen HA (of NodeRed) verwerkt tot signaal om iets te doen. Dus ergens verwacht ik dat je ipv on vs off ook 1002 of 1004/2002 kunt gebruiken, maar dat weet ik niet zeker. Het is dus geen state, maar een event die de button fired

Als ik die door een debug haal, zie ik in NodeRed dit:

code:
1
{"id":"huiskamerswitch","unique_id":"00xxxx","event":1002,"device_id":"8xxx7d2"}
Pro tip, pak de gesture anders kan je duplicates krijgen bij event.

Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 08:18
TweakerVincent schreef op vrijdag 5 februari 2021 @ 20:01:
[...]

Pro tip, pak de gesture anders kan je duplicates krijgen bij event.
Dankje.. maar ik begrijp niet helemaal wat je daar mee bedoeld :+

Acties:
  • 0 Henk 'm!

  • TweakerVincent
  • Registratie: April 2014
  • Laatst online: 13:13
Koepert schreef op vrijdag 5 februari 2021 @ 20:02:
[...]


Dankje.. maar ik begrijp niet helemaal wat je daar mee bedoeld :+
je moet de check doen op:payload.event.gesture

[ Voor 45% gewijzigd door TweakerVincent op 05-02-2021 20:08 ]


Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
maar zover ik het zie heeft hij geen events.gesture

Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 08:18
Step5 schreef op vrijdag 5 februari 2021 @ 20:09:
maar zover ik het zie heeft hij geen events.gesture
Dat geloof ik ook niet.. T werkt iig niet. Maar evengoed, gaat t mij vooral ook HOE je iets dergelijks omzet naar NodeRed, luisteren naar het Deconz_event lukt wel, maar hoe ik dan filter om alleen te reageren op iets specifieks, dat krijg ik niet.

Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
nou had @TweakerVincent net een voorbeeld wat al weer weg is ;)

kun je dit gebruiken? :
JSON:
1
[{"id":"deef2800.4f2bb8","type":"switch","z":"92df3383.8b25f","name":"test","property":"data.event","propertyType":"msg","rules":[{"t":"eq","v":"1002","vt":"num"},{"t":"eq","v":"1004","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":370,"y":520,"wires":[[],[]]},{"id":"3dbbd8ed.d84a5","type":"server-events","z":"92df3383.8b25f","name":"","server":"1c3dc1f6.321306","event_type":"deconz_event","exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"waitForRunning":true,"x":180,"y":520,"wires":[["deef2800.4f2bb8"]]},{"id":"1c3dc1f6.321306","type":"server","name":"Home Assistant","legacy":false,"addon":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Acties:
  • 0 Henk 'm!

  • TweakerVincent
  • Registratie: April 2014
  • Laatst online: 13:13
[{"id":"deef2800.4f2bb8","type":"switch","z":"d172c7c5.23d58","name":"Gesture 6: dubbel tap","property":"payload.event.gesture","propertyType":"msg","rules":[{"t":"eq","v":"6","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":740,"y":200,"wires":[["ae455d22.f6c48","b831cdcb.6601b","31bd6d68.3add52"]]}]

excuus ging iets mis.

Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 08:18
Beide werken niet.. T zal vast in de buurt zitten.. maar nu t laatste zetje nog :P

Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
lol :)
misschien moet je in mijn voorbeeld nog "payload" toevoegen, dus bij property: (msg.) payload.data.event

en anders eens je debug output op "complete msg object" zetten en dan nog ns de output posten.
Je krijgt er info uit dus dat moet te filteren zijn :9

Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 08:18
code:
1
{"event_type":"deconz_event","topic":"deconz_event","payload":{"event_type":"deconz_event","event":{"id":"huiskamerswitch","unique_id":"00:15:8d:00:04:01:89:50","event":1002,"device_id":"x"},"origin":"LOCAL","time_fired":"2021-02-05T19:31:08.554801+00:00","context":{"id":"x","parent_id":null,"user_id":null}},"_msgid":"x.be8fc"}


Got it!

Payload.event.event. werkt :)

Alleen nu nog kijken of ik OOK kan filteren op ID. Want die 'huiskamerswitch' stuurt de zelfde codes uit als een andere 'keukenswitch'. Is dat dan nog een switch-node ERVOOR, die ID filtert?

[ Voor 25% gewijzigd door Koepert op 05-02-2021 20:37 ]


Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
haha zou net voorbeeldje posten maar je bent er al uit.
Ja een switch-node ervoor kun je doen inderdaad. ligt er ook een beetje aan wat je er verderop mee wilt gaan doen

succes :)

Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 08:18
Step5 schreef op vrijdag 5 februari 2021 @ 20:47:
haha zou net voorbeeldje posten maar je bent er al uit.
Ja een switch-node ervoor kun je doen inderdaad. ligt er ook een beetje aan wat je er verderop mee wilt gaan doen

succes :)
Eigenlijk simpel..

- 1x knop = lamp 1/2 aan/uit (toggle)
- Dubbeklik = lampen 3 en 4 aan/uit (toggle)

Dat lukt allemaal. Behalve tot op heden dus filteren op event en id


mm k ben er nog niet..

Ik heb dus die events:all node die luistert naar deconz_events. Daarachter een switchnode die kijkt naar payload.event.id en zoekt naar de 3 verschillende switches en daar weer achter de events per switch.. Da werkt nie!

Deze link gevonden, daar bleek dat ik al soort van hetzelfde deed. https://community.home-as...switches-beginner/99624/4

Dus nu mijn flow nog eens doorgelopen. Bleek dat de 'huiskamerswitch', die ik elke keer gebruikte voor de test, er als 'number' ipv 'string' in stond. Nu werkt het :)

[ Voor 41% gewijzigd door Koepert op 06-02-2021 10:30 ]


Acties:
  • 0 Henk 'm!

  • Raven__NL
  • Registratie: Februari 2010
  • Laatst online: 05:06
Ik krijg sinds deze week deze melding in Node Red als ik inlog of een deploy uitvoer.

Afbeeldingslocatie: https://i.ibb.co/kDD77Qx/tadoconfig.png

Alleen kan ik het niet plaatsen.
Ik heb deze addon niet actief en ook geen flow met een verwijzing hier. Ik heb zelfs all flows weggegooid en geprobeerd.

Als ik in onderstaand screenshot kijk dan vind ik wel nog een referentie maar hoe krijg ik deze melding weg?

Afbeeldingslocatie: https://i.ibb.co/Pgw0hr1/node.png


Als ik de addon installeer dan blijft de melding weg. Alleen ik heb geen idee wat voor een addon dat is en dus ook niet nodig. Misschien dat ik eens flow van iemand geprobeerd heb waar deze referentie inzit maar daar heb ik niks meer van actief.


Nvm al gefixed.
Blijkbaar kan je hem daar ook deleten.

[ Voor 41% gewijzigd door Raven__NL op 05-02-2021 22:11 ]


Acties:
  • 0 Henk 'm!

  • Raider095
  • Registratie: November 2014
  • Laatst online: 02-11-2021
Iemand ervaring met Comelit intercoms? Deze zou 1 of meerdere externe contacten hebben zodat andere apparatuur of applicaties deze kunnen monitoren..

Acties:
  • 0 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

Beginnersvraag:
Heb een functienode aangemaakt die de verbruik hoog en verbruik laag uit de Youless optelt, vooral omdat dit voor mij, met enkeltarief, geen zinvolle informatie is. De code:
code:
1
2
msg.payload = msg.payload.p1 + msg.payload.p2
return msg;

Dat werkt, er komt keurig een nummer uit.
Alleen wil ik er een nieuwe key aan toevoegen, zodat ik later met een join een nieuwe json kan maken.

De JSON die uit de Youless komt bevat voor mij teveel overbodige data, bovendien heb ik er twee, dus de bestaande keys komen dubbel voor. Uiteindelijk doel is om zo min mogelijk dubbele informatie naar de database te sturen. Daarom wil ik alles in één tabel/measurement krijgen.

/edit: Inmiddels gelukt. Vraag kan weg.

[ Voor 2% gewijzigd door ericplan op 06-02-2021 21:00 . Reden: Opgelost ]

A'dam PVOutput


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 08:18
Ik ben begonnen met een theme-switcher in HA icm NR. Input_select met light-themes en Input_select met dark-themes. Ik wilde nl kunnen kiezen uit een theme, maar wel de switch van light naar dark houden bij sunset en sunrise. Ik heb 6 themes in 3x2 (Google light + dark, Github light + dark en Clear + Clear-dark). Ik wil dus in de frontend kunnen kiezen voor 1vd 3 light (of dark) en dan dat deze switcht bij zonsondergang/opgang naar de corresponderende andere variant. Snappen jullie m nog?

Als uitgangspunt heb ik de NR-flow uit deze gepakt: https://github.com/orickcorreia/caule-themes-pack-1

Die heb ik gedupliceerd naar 1 voor de light en 1 voor de dark input-select. Maar nu, WAAR plaats ik hier precies de 'timecheck' in voor sunset of sunrise?


Reeds gelukt. Timecheck tussen de State en Render Template Node. Vraag me nu alleen of deze NA zonsondergang ook zelf wisselt naar de Dark theme... Heb er een Time/Sunrise-Sunset Node aan toegevoegd die bij een change de timecheck weer uitvoert...als het goed is..

Afbeeldingslocatie: https://tweakers.net/i/KTZdY-44iG9qJfuCmcx03O2tKm4=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/6ufUIZrXiz3vKJ7d8gIuiX5d.png?f=user_large

[ Voor 86% gewijzigd door Koepert op 07-02-2021 12:50 . Reden: Afbeelding toegevoegd ]


Acties:
  • 0 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

Weer iets verder, maar ik vraag me af of dit de handigste manier is:
In de eerste versie gingen vier nodes naar de database, twee stuks van de Youlessen, twee stuks van de Modbus-unit. Dat resulteerde in vier tabellen voor de database, met in totaal 36 velden. daarbij zit een hoop redundantie en een aantal velden die voor mij (of voor dit doel) niet nuttig zijn, zoals gas of vermogen. Ook de tellers voor hoog- en laagtarief zijn samengevoegd, omdat ik toch enkeltarief heb.

Omdat ik de database zo klein mogelijk wil houden heb ik de vier nodes samengevoegd tot één. Voordeel: alles in één tabel en nog maar 15 velden over.

Als beginneling vraag je je natuurlijk af of het nog slimmer had gekund?

code:
1
[{"id":"f5904e5a.b551c8","type":"function","z":"513cf05b.63509","name":"","func":"msg.topic = \"he\";\nmsg.parts = {};\nmsg.parts.id = msg.msgid;\nmsg.parts.index = 1;\nmsg.parts.count = 4;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":720,"y":160,"wires":[["2ffcc001.3a62c"]]},{"id":"2ffcc001.3a62c","type":"join","z":"513cf05b.63509","name":"","mode":"auto","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"4","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":970,"y":220,"wires":[["a7fbc200.e8d89"]]},{"id":"94715136.067be","type":"json","z":"513cf05b.63509","name":"","property":"payload","action":"obj","pretty":false,"x":530,"y":160,"wires":[["f5904e5a.b551c8"]]},{"id":"a7fbc200.e8d89","type":"flat","z":"513cf05b.63509","name":"","x":1150,"y":220,"wires":[["e6506cc.2bb921","96552890.c0bb08"]]},{"id":"1f81a596.62d152","type":"function","z":"513cf05b.63509","name":"","func":"var tmp = { p106: Math.round((msg.payload[0].p1 + msg.payload[0].p2) * 1e3) / 1e3 , n106: Math.round((msg.payload[0].n1 + msg.payload[0].n2) * 1e3) / 1e3 , cs106: msg.payload[0].cs0 };\nmsg.topic = \"we\";\nmsg.payload = tmp;\nmsg.parts = {};\nmsg.parts.id = msg.msgid;\nmsg.parts.index = 2;\nmsg.parts.count = 4;\nreturn msg;\n\n//Math.round((0.1 + 0.2) * 1e12)","outputs":1,"noerr":0,"initialize":"","finalize":"","x":720,"y":260,"wires":[["2ffcc001.3a62c","cddb8437.213358"]]},{"id":"a7e40dd7.c7c7e","type":"function","z":"513cf05b.63509","name":"","func":"var tmp = { p108: Math.round((msg.payload[0].p1 + msg.payload[0].p2) * 1e3) / 1e3 , n108: Math.round((msg.payload[0].n1 + msg.payload[0].n2) * 1e3) / 1e3 , cs108: msg.payload[0].cs0 };\nmsg.topic = \"she\";\nmsg.payload = tmp;\nmsg.parts = {};\nmsg.parts.id = msg.msgid;\nmsg.parts.index = 3;\nmsg.parts.count = 4;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":720,"y":340,"wires":[["2ffcc001.3a62c","912f25c5.ea31e8"]]},{"id":"e5eda30d.79d1e8","type":"function","z":"513cf05b.63509","name":"","func":"msg.topic = \"it\";\nmsg.parts = {};\nmsg.parts.id = msg.msgid;\nmsg.parts.index = 0;\nmsg.parts.count = 4;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":720,"y":80,"wires":[["2ffcc001.3a62c"]]},{"id":"93e40ad6.2f2f1","type":"buffer-parser","z":"513cf05b.63509","name":"","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"uint32be","name":"U66-1","offset":0,"length":1,"offsetbit":0,"scale":"/1000","mask":""},{"type":"uint32be","name":"U66-4","offset":4,"length":1,"offsetbit":0,"scale":"/1000","mask":""},{"type":"uint32be","name":"U66-6","offset":8,"length":1,"offsetbit":0,"scale":"/1000","mask":""},{"type":"uint32be","name":"U66-x","offset":12,"length":1,"offsetbit":0,"scale":"/1000","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"output","multipleResult":false,"fanOutMultipleResult":true,"setTopic":false,"outputs":1,"x":330,"y":160,"wires":[["94715136.067be"]]},{"id":"e6506cc.2bb921","type":"debug","z":"513cf05b.63509","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1310,"y":140,"wires":[]},{"id":"96552890.c0bb08","type":"influxdb out","z":"513cf05b.63509","influxdb":"2c6104b5.9ffccc","name":"","measurement":"totaal","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":1380,"y":220,"wires":[]},{"id":"cddb8437.213358","type":"debug","z":"513cf05b.63509","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1260,"y":340,"wires":[]},{"id":"ffa0fb42.d3bb2","type":"http request","z":"513cf05b.63509","name":"Youless 106","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://192.168.178.175/e","tls":"","persist":false,"proxy":"","authType":"","x":330,"y":260,"wires":[["1f81a596.62d152"]]},{"id":"912f25c5.ea31e8","type":"debug","z":"513cf05b.63509","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1300,"y":440,"wires":[]},{"id":"957a8de7.2ba6","type":"http request","z":"513cf05b.63509","name":"Youless 108","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://192.168.178.176/e?f=j","tls":"","persist":false,"proxy":"","authType":"","x":330,"y":340,"wires":[["a7e40dd7.c7c7e"]]},{"id":"2bef6165.464136","type":"json","z":"513cf05b.63509","name":"","property":"payload","action":"obj","pretty":false,"x":530,"y":80,"wires":[["e5eda30d.79d1e8"]]},{"id":"20b274bb.f3ff4c","type":"modbus-read","z":"513cf05b.63509","name":"Unit 66","topic":"","showStatusActivities":true,"logIOActivities":false,"showErrors":true,"unitid":"66","dataType":"HoldingRegister","adr":"27","quantity":"8","rate":"5","rateUnit":"s","delayOnStart":true,"startDelayTime":"5","server":"40f20c7f.13a934","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":130,"y":160,"wires":[["93e40ad6.2f2f1"],["ffa0fb42.d3bb2","957a8de7.2ba6"]]},{"id":"8c081b87.3b1fe8","type":"buffer-parser","z":"513cf05b.63509","name":"","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"uint32be","name":"U33-5","offset":0,"length":1,"offsetbit":0,"scale":"/1000","mask":""},{"type":"uint32be","name":"U33-6","offset":4,"length":1,"offsetbit":0,"scale":"/1000","mask":""},{"type":"uint32be","name":"U33-7","offset":8,"length":1,"offsetbit":0,"scale":"/1000","mask":""},{"type":"uint32be","name":"U33-8","offset":12,"length":1,"offsetbit":0,"scale":"/1000","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"output","multipleResult":false,"fanOutMultipleResult":true,"setTopic":false,"outputs":1,"x":330,"y":80,"wires":[["2bef6165.464136"]]},{"id":"2e25a414.8a2fe4","type":"modbus-read","z":"513cf05b.63509","name":"Unit 33","topic":"","showStatusActivities":true,"logIOActivities":false,"showErrors":true,"unitid":"33","dataType":"HoldingRegister","adr":"27","quantity":"8","rate":"5","rateUnit":"s","delayOnStart":true,"startDelayTime":"5","server":"40f20c7f.13a934","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":130,"y":80,"wires":[["8c081b87.3b1fe8"],[]]},{"id":"2c6104b5.9ffccc","type":"influxdb","hostname":"127.0.0.1","port":"8086","protocol":"http","database":"dataplan","name":"dataplan","usetls":false,"tls":"","influxdbVersion":"1.x","url":"http://localhost:8086","rejectUnauthorized":true},{"id":"40f20c7f.13a934","type":"modbus-client","name":"RS 485 dongle","clienttype":"serial","bufferCommands":true,"stateLogEnabled":true,"queueLogEnabled":false,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB0","serialType":"RTU","serialBaudrate":"19200","serialDatabits":"8","serialStopbits":"1","serialParity":"even","serialConnectionDelay":"500","unit_id":"","commandDelay":"30","clientTimeout":"2000","reconnectOnTimeout":false,"reconnectTimeout":"5000","parallelUnitIdsAllowed":false}]


Afbeeldingslocatie: https://tweakers.net/i/EQJGL9kkP_imy2N9K44VVeI2Xt4=/800x/filters:strip_exif()/f/image/04ktnSXZbiC8MWbe2CoJPjj1.png?f=fotoalbum_large

A'dam PVOutput


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 08:18
Koepert schreef op zondag 7 februari 2021 @ 12:28:
Ik ben begonnen met een theme-switcher in HA icm NR. Input_select met light-themes en Input_select met dark-themes. Ik wilde nl kunnen kiezen uit een theme, maar wel de switch van light naar dark houden bij sunset en sunrise. Ik heb 6 themes in 3x2 (Google light + dark, Github light + dark en Clear + Clear-dark). Ik wil dus in de frontend kunnen kiezen voor 1vd 3 light (of dark) en dan dat deze switcht bij zonsondergang/opgang naar de corresponderende andere variant. Snappen jullie m nog?

Als uitgangspunt heb ik de NR-flow uit deze gepakt: https://github.com/orickcorreia/caule-themes-pack-1

Die heb ik gedupliceerd naar 1 voor de light en 1 voor de dark input-select. Maar nu, WAAR plaats ik hier precies de 'timecheck' in voor sunset of sunrise?


Reeds gelukt. Timecheck tussen de State en Render Template Node. Vraag me nu alleen of deze NA zonsondergang ook zelf wisselt naar de Dark theme... Heb er een Time/Sunrise-Sunset Node aan toegevoegd die bij een change de timecheck weer uitvoert...als het goed is..

[Afbeelding]
Dit werkt dus half. Wijzigen van light theme na zonsondergang werkt niet, dark wel en andersom met zon op. Maar automatisch wisselen doet ie niet. Iemand n tip?

Acties:
  • +1 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
Koepert schreef op zondag 7 februari 2021 @ 18:35:
[...]


Dit werkt dus half. Wijzigen van light theme na zonsondergang werkt niet, dark wel en andersom met zon op. Maar automatisch wisselen doet ie niet. Iemand n tip?
Natuurlijk.

Dit werkt bij mij( maar ik wissel niet,maar dat maakt verder niet uit).

Afbeeldingslocatie: https://tweakers.net/i/3ZaYXKYsmRPP-LaDSOtOe8h56EU=/800x/filters:strip_exif()/f/image/RI2114zAnC5nI8W2ooM0wi5Y.png?f=fotoalbum_large.
Je sun zit dus al in HA. Daarvoor heb je geen andere node nodig.
Ik check of de state van de sun entity above of below horizon is.

Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 08:18
denuz schreef op zondag 7 februari 2021 @ 21:07:
[...]

Natuurlijk.

Dit werkt bij mij( maar ik wissel niet,maar dat maakt verder niet uit).

[Afbeelding].
Je sun zit dus al in HA. Daarvoor heb je geen andere node nodig.
Ik check of de state van de sun entity above of below horizon is.
Works like a charm. Ik heb deze dus toegevoegd aan voorgaande. Dus die sun-state en switch node lopen vervolgens naar respectievelijk Get Light en Get Dark theme templates. Die halen hun input weer uit de state van de input_select.

Acties:
  • +1 Henk 'm!

  • C-dude
  • Registratie: December 2005
  • Laatst online: 18-09 15:35
@Koepert

Ivm je events voor een Xaomi schakelaar. Ik maak gebruik van het volgende:
Een Deconz-Event met daarachter een switch functie dat de payload.event.id uitleest.

In het geval voor een Magic Cube wordt volgende functie node uitgevoerd:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const code = msg.payload.event.event;
let action;

const codes = {
"side1": [1002, 1003, 1004, 1005, 1006],
"side2": [2001, 2003, 3004, 4005, 5006],
"side3": [3001, 3002, 3004, 3005, 3006],
"side4": [4001, 4002, 4003, 4005, 4006],
"side5": [5001, 5002, 5003, 5004, 5006],
"side6": [6001, 6002, 6003, 6004, 6005],
"push": [1000, 2000, 3000, 4000, 5000, 6000],
"doubletap": [1001, 2002, 3003, 4004, 5005, 6006],
"shake": [7007],
"drop": [7008],
"wake": [7000]
};

for (let a in codes) {
if(codes[a].includes(code)) {
action = a;
break;
}
}

if (!action) {
const strCode = String(code);
if (strCode.substr(1,2) !== "00" || strCode.length !== 4) {
action = code > 0 ? "rotatecw" : "rotateccw";
}
}

msg.payload = action || "";

return msg;


En afhankelijk van welke actie gebeurd koppel ik het terug aan een switch node.
JSON:
1
[{"id":"a080802.c88648","type":"tab","label":"Flow 4","disabled":false,"info":""},{"id":"cb46c1e.3f3334","type":"server-events","z":"a080802.c88648","name":"Deconz","server":"ba016e09.2d662","event_type":"deconz_event","exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"waitForRunning":true,"x":190,"y":100,"wires":[["6fc8d3d4.dca32c"]]},{"id":"6fc8d3d4.dca32c","type":"switch","z":"a080802.c88648","name":"","property":"payload.event.id","propertyType":"msg","rules":[{"t":"eq","v":"mi_magic_cube_keuken","vt":"str"},{"t":"eq","v":"mi_magic_cube_woonkamer","vt":"str"},{"t":"eq","v":"smart_switch","vt":"str"}],"checkall":"false","repair":false,"outputs":3,"x":330,"y":100,"wires":[["1521caed.a56735"],[],[]],"info":"# Smart switch\nsimple press : 1000\nsimple press release : 1002\ndouble press : 1004\ntreble press : 1005\nquadruple press : 1006"},{"id":"1521caed.a56735","type":"function","z":"a080802.c88648","name":"Magic cube Keuken Movement","func":"const code = msg.payload.event.event;\nlet action;\n\nconst codes = {\n\"side1\": [1002, 1003, 1004, 1005, 1006],\n\"side2\": [2001, 2003, 3004, 4005, 5006],\n\"side3\": [3001, 3002, 3004, 3005, 3006],\n\"side4\": [4001, 4002, 4003, 4005, 4006],\n\"side5\": [5001, 5002, 5003, 5004, 5006],\n\"side6\": [6001, 6002, 6003, 6004, 6005],\n\"push\": [1000, 2000, 3000, 4000, 5000, 6000],\n\"doubletap\": [1001, 2002, 3003, 4004, 5005, 6006],\n\"shake\": [7007],\n\"drop\": [7008],\n\"wake\": [7000]\n};\n\nfor (let a in codes) {\nif(codes[a].includes(code)) {\naction = a;\nbreak;\n}\n}\n\nif (!action) {\nconst strCode = String(code);\nif (strCode.substr(1,2) !== \"00\" || strCode.length !== 4) {\naction = code > 0 ? \"rotatecw\" : \"rotateccw\";\n}\n}\n\nmsg.payload = action || \"\";\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":570,"y":80,"wires":[["974efddb.b8642"]]},{"id":"974efddb.b8642","type":"switch","z":"a080802.c88648","name":"Movement type","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"push","vt":"str"},{"t":"eq","v":"shake","vt":"str"},{"t":"eq","v":"rotatecw","vt":"str"},{"t":"eq","v":"rotateccw","vt":"str"}],"checkall":"true","repair":false,"outputs":4,"x":860,"y":60,"wires":[[],[],[],[]],"info":"\"side1\": [1002, 1003, 1004, 1005, 1006],\n\"side2\": [2001, 2003, 3004, 4005, 5006],\n\"side3\": [3001, 3002, 3004, 3005, 3006],\n\"side4\": [4001, 4002, 4003, 4005, 4006],\n\"side5\": [5001, 5002, 5003, 5004, 5006],\n\"side6\": [6001, 6002, 6003, 6004, 6005],\n\"push\": [1000, 2000, 3000, 4000, 5000, 6000],\n\"doubletap\": [1001, 2002, 3003, 4004, 5005, 6006],\n\"shake\": [7007],\n\"drop\": [7008],\n\"wake\": [7000]"},{"id":"ba016e09.2d662","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Acties:
  • 0 Henk 'm!

  • vanisher
  • Registratie: Augustus 2007
  • Nu online
Ik heb een vrij simpele flow maar daar kom ik toch even niet uit.

Wij hebben in huis hetelucht verwarming van Brink (Elan 2.0). In tegenstelling tot onze vorige unit draait deze continue ook als er niet verwarmd wordt. Dit geeft een onaangename luchtstroom dus in overleg met de leverancier zit er een schakelaar (z-wave in mijn geval) tussen die die unit uit kan zetten.

Nu heb ik deze flow gemaakt:

Afbeeldingslocatie: https://tweakers.net/i/ieVsVPxooMepk5bSvyKgbCJqCvQ=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/s0fh9fYpCv0o4MLJ2OPTtTSn.png?f=user_large

Als de thermostaat aangaat dan gaat de hetelucht verwarming ook draaien.
Als de thermostaat weer uitgaat dan blijft de hetelucht verwarming nog 30 minuten nadraaien en gaat vervolgens ook uit.

Wat ik niet snap / voor elkaar krijg. Je kunt de timer stoppen door een STOP payload te sturen in msg.payload.

Maar hoe krijg ik dat nou voor elkaar? Wat heb ik nodig om die te kunnen versturen om het moment dat de verwarming binnen 30 minuten weer aanslaat?

Acties:
  • +2 Henk 'm!

  • GORby
  • Registratie: Januari 2002
  • Laatst online: 19-09 22:52
Je kan tussen je bovenste uitgang van "status verwarming" en de "30 minuten naloop" een change block plaatsen, dat je msg.payload gaat wijzigen in "STOP". Op die manier ga je met hetzelfde signaal dat je gebruikt om de hetelucht aan te zetten ook je timer stoppen.

Wat je misschien voor zou kunnen hebben is dat net op het moment dat de timer zou gaan uitschakelen de hetelucht aangezet wordt en daardoor het aan signaal net voor het uit signaal verstuurd gaat worden. Dat is waarschijnlijk redelijk hypothetisch aangezien de timing dan wel heel hard moet tegenvallen. Door voor je "hetelucht aan" nog een vertraging op te nemen, zou je dat kunnen voorkomen.

Acties:
  • 0 Henk 'm!

  • vanisher
  • Registratie: Augustus 2007
  • Nu online
Thx, die ga ik zo ff proberen!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 08:18
Even een vraag of ik op de goede weg ben.


Ik heb via het Home Assistant een toffe automation voor het op 'afwezig' zetten van je huis. Dit heeft dan weer allerlei consequenties voor je lampen (automations) etc. Die heb ik nu in YAML, maar wil eigenlijk naar Node Red migreren. Dat doe ik nu stapsgewijs, maar sommige 'logica' vertalen is wel even zoeken..

Dit is de YAML

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#Away
- alias: 'Thuis'
  trigger:
    - platform: state
      entity_id: group.personen
      to: 'home'
  condition:
    - condition: state
      entity_id: input_boolean.afwezig
      state: 'on'
  action:
    service: input_boolean.turn_off
    data:
      entity_id: input_boolean.afwezig
#
- alias: 'Afwezig'
  trigger:
    - platform: state
      entity_id: group.personen
      to: 'not_home'
  condition:
    - condition: state
      entity_id: input_boolean.afwezig
      state: 'off'
    - condition: state
      entity_id: input_boolean.afwezig_thuis
      state: 'off'
  action:
    service: input_boolean.turn_on
    data:
      entity_id: input_boolean.afwezig

- alias: 'Afwezig knop aan'
  trigger:
    - platform: state
      entity_id: input_boolean.afwezig_overrule
      to: 'on'
  action:
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.afwezig_thuis
    - service: input_boolean.turn_on
      data:
        entity_id: input_boolean.afwezig

- alias: 'Afwezig knop uit'
  trigger:
    - platform: state
      entity_id: input_boolean.afwezig_overrule
      to: 'off'
  action:
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.afwezig
       
- alias: 'Thuis knop aan'
  trigger:
    - platform: state
      entity_id: input_boolean.afwezig_thuis
      to: 'on'
  action:
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.afwezig_overrule
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.afwezig

- alias: 'Thuis knop uit'
  trigger:
    - platform: state
      entity_id: input_boolean.afwezig_thuis
      to: 'off'
  action:
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.afwezig


#Vakantie
- alias: 'Vakantie'
  trigger:
    - platform: state
      entity_id: input_boolean.afwezig
      to: 'on'
      for:
        hours: 24
  action:
    service: input_boolean.turn_on
    data:
      entity_id: input_boolean.vakantiestand

- alias: 'Terug van vakantie'
  trigger:
    - platform: state
      entity_id: input_boolean.afwezig
      to: 'off'
  condition:
    - condition: state
      entity_id: input_boolean.vakantiestand
      state: 'on'
  action:
    service: input_boolean.turn_off
    data:
      entity_id: input_boolean.vakantiestand


Dit zijn meerdere automations. Nu wil ik dit graag wat overzichtelijk/efficient in NodeRed krijgen. Klopt mijn gedachtengang als:

- Event State groups_personen
- Switch: home & not_home
- call service: boolean afwezig ON en boolean afwezig OFF
- trigger op de ON service met een wait for 24hours
- call service: boolean vakantiestand ON.

Moet ik dan nog iets met die trigger en een reset als de boolean afwezig naar ON gaat?

in NodeRed:

JSON:
1
[{"id":"fa60613e.b7e61","type":"server-state-changed","z":"8339f3e4.d68d5","name":"Thuis?","server":"1d8e9a4c.b062a6","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"group.personen","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":70,"y":940,"wires":[["e9bcdca7.6a25e"]]},{"id":"96fac421.a4a678","type":"api-call-service","z":"8339f3e4.d68d5","name":"We zijn thuis","server":"1d8e9a4c.b062a6","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_off","entityId":"input_boolean.afwezig","data":"","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":550,"y":920,"wires":[["5dc1541.25d44ac"]]},{"id":"e9bcdca7.6a25e","type":"switch","z":"8339f3e4.d68d5","name":"Zijn we thuis?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"home","vt":"str"},{"t":"eq","v":"not_home","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":280,"y":940,"wires":[["96fac421.a4a678"],["cc19aa6f.987e38"]]},{"id":"cc19aa6f.987e38","type":"api-call-service","z":"8339f3e4.d68d5","name":"We zijn niet thuis","server":"1d8e9a4c.b062a6","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_on","entityId":"input_boolean.afwezig","data":"","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":570,"y":980,"wires":[["e917418b.72f98"]]},{"id":"e917418b.72f98","type":"trigger","z":"8339f3e4.d68d5","name":"Vakantie!","op1":"","op2":"on","op1type":"str","op2type":"str","duration":"24","extend":false,"overrideDelay":false,"units":"hr","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":760,"y":980,"wires":[["5dcf178d.369468"]]},{"id":"5dcf178d.369468","type":"api-call-service","z":"8339f3e4.d68d5","name":"We zijn op vakantie","server":"1d8e9a4c.b062a6","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_on","entityId":"input_boolean.vakantiestand","data":"","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1010,"y":980,"wires":[[]]},{"id":"5dc1541.25d44ac","type":"trigger-state","z":"8339f3e4.d68d5","name":"Vakantie geweest?","server":"1d8e9a4c.b062a6","exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityid":"input_boolean.vakantiestand","entityidfiltertype":"exact","debugenabled":false,"constraints":[{"targetType":"this_entity","targetValue":"","propertyType":"current_state","comparatorType":"is","comparatorValueDatatype":"str","comparatorValue":"on","propertyValue":"new_state.state"}],"outputs":2,"customoutputs":[],"outputinitially":false,"state_type":"str","x":800,"y":920,"wires":[["70887a66.16b5a4"],[]]},{"id":"70887a66.16b5a4","type":"api-call-service","z":"8339f3e4.d68d5","name":"We zijn weer thuis","server":"1d8e9a4c.b062a6","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_off","entityId":"input_boolean.vakantiestand","data":"","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1030,"y":900,"wires":[[]]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

  • MsG
  • Registratie: November 2007
  • Laatst online: 10:18

MsG

Forumzwerver

Wat is eigenlijk de juiste bouwsteen voor het checken van een bepaalde property binnen een bepaalde flow?

Ik heb nu dit:

Afbeeldingslocatie: https://tweakers.net/i/O8LLiwQr6crU-cTbcnwdOEkFG2I=/800x/filters:strip_exif()/f/image/PiGhubhJVENjxRZ6Gy09a2XZ.png?f=fotoalbum_large

Deze zou de lamp alleen aan moeten doen als de lux-waarde (vanuit de Aqara, dus die wijkt wat af van een echte lux-meting) boven de 100 is.

Maar ik tref de lampen nu aan, aan, zonder dat er beweging is geweest. Ik gebruik voor die lichtmetings-check een "Wait until"-node.

Eigenlijk moet die lux-checking alleen gebeuren na weer een nieuw true signaal vanuit de entity state. En dat lijkt nu niet helemaal zo te gaan.

JSON:
1
[{"id":"8e8cb7cc.6f7818","type":"server-state-changed","z":"b57f90f4.708e9","name":"Als er beweging is in de woonkamer","server":"12bc9e1e.6632a2","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.bewegingssensor_woonkamer_occupancy","entityidfiltertype":"exact","outputinitially":false,"state_type":"habool","haltifstate":"true","halt_if_type":"bool","halt_if_compare":"is","outputs":2,"output_only_on_state_change":false,"for":"","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":160,"y":700,"wires":[["6bc8c16d.36094","7407c137.259d5"],[]]},{"id":"cb740f52.b5366","type":"api-call-service","z":"b57f90f4.708e9","name":"gaan de spots uit","server":"12bc9e1e.6632a2","version":1,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.spot_1_light, light.spot_2_light, light.spot_3_light","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":750,"y":780,"wires":[[]]},{"id":"6bc8c16d.36094","type":"stoptimer","z":"b57f90f4.708e9","duration":"10","units":"Minute","payloadtype":"num","payloadval":"0","name":"Als er 10 minuten lang geen beweging is","x":460,"y":780,"wires":[["cb740f52.b5366"],[]]},{"id":"aaee57a8.cda8f8","type":"api-call-service","z":"b57f90f4.708e9","name":"gaan de spots aan","server":"12bc9e1e.6632a2","version":1,"debugenabled":false,"service_domain":"scene","service":"turn_on","entityId":"scene.spots_zacht_aan","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":670,"y":700,"wires":[[]]},{"id":"7407c137.259d5","type":"ha-wait-until","z":"b57f90f4.708e9","name":"en het donker is","server":"12bc9e1e.6632a2","outputs":1,"entityId":"sensor.bewegingssensor_woonkamer_illuminance","entityIdFilterType":"exact","property":"attributes.illuminance","comparator":"lt","value":"100","valueType":"num","timeout":0,"timeoutType":"num","timeoutUnits":"seconds","entityLocation":"","entityLocationType":"none","checkCurrentState":true,"blockInputOverrides":true,"x":440,"y":700,"wires":[["aaee57a8.cda8f8"]]},{"id":"12bc9e1e.6632a2","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]


Doe ik iets fout?

Denk om uw spatiegebruik. Dit scheelt Tweakers.net kostbare databaseruimte! | Groninger en geïnteresseerd in Domotica? Kom naar DomoticaGrunn


Acties:
  • +2 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
MsG schreef op donderdag 11 februari 2021 @ 17:53:
Wat is eigenlijk de juiste bouwsteen voor het checken van een bepaalde property binnen een bepaalde flow?

Ik heb nu dit:

[Afbeelding]

Deze zou de lamp alleen aan moeten doen als de lux-waarde (vanuit de Aqara, dus die wijkt wat af van een echte lux-meting) boven de 100 is.

Maar ik tref de lampen nu aan, aan, zonder dat er beweging is geweest. Ik gebruik voor die lichtmetings-check een "Wait until"-node.

Eigenlijk moet die lux-checking alleen gebeuren na weer een nieuw true signaal vanuit de entity state. En dat lijkt nu niet helemaal zo te gaan.

JSON:
1
[{"id":"8e8cb7cc.6f7818","type":"server-state-changed","z":"b57f90f4.708e9","name":"Als er beweging is in de woonkamer","server":"12bc9e1e.6632a2","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.bewegingssensor_woonkamer_occupancy","entityidfiltertype":"exact","outputinitially":false,"state_type":"habool","haltifstate":"true","halt_if_type":"bool","halt_if_compare":"is","outputs":2,"output_only_on_state_change":false,"for":"","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":160,"y":700,"wires":[["6bc8c16d.36094","7407c137.259d5"],[]]},{"id":"cb740f52.b5366","type":"api-call-service","z":"b57f90f4.708e9","name":"gaan de spots uit","server":"12bc9e1e.6632a2","version":1,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.spot_1_light, light.spot_2_light, light.spot_3_light","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":750,"y":780,"wires":[[]]},{"id":"6bc8c16d.36094","type":"stoptimer","z":"b57f90f4.708e9","duration":"10","units":"Minute","payloadtype":"num","payloadval":"0","name":"Als er 10 minuten lang geen beweging is","x":460,"y":780,"wires":[["cb740f52.b5366"],[]]},{"id":"aaee57a8.cda8f8","type":"api-call-service","z":"b57f90f4.708e9","name":"gaan de spots aan","server":"12bc9e1e.6632a2","version":1,"debugenabled":false,"service_domain":"scene","service":"turn_on","entityId":"scene.spots_zacht_aan","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":670,"y":700,"wires":[[]]},{"id":"7407c137.259d5","type":"ha-wait-until","z":"b57f90f4.708e9","name":"en het donker is","server":"12bc9e1e.6632a2","outputs":1,"entityId":"sensor.bewegingssensor_woonkamer_illuminance","entityIdFilterType":"exact","property":"attributes.illuminance","comparator":"lt","value":"100","valueType":"num","timeout":0,"timeoutType":"num","timeoutUnits":"seconds","entityLocation":"","entityLocationType":"none","checkCurrentState":true,"blockInputOverrides":true,"x":440,"y":700,"wires":[["aaee57a8.cda8f8"]]},{"id":"12bc9e1e.6632a2","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]


Doe ik iets fout?
De wait until actie is hier niet echt geschikt voor... de wait until node wacht, zoals de naam ook zegt tot een bepaalde gebeurtenis zich voordoet.

Jij wil; beweging--> check of het donker genoeg is, Ja? licht aan. Nee? doe niets.

In dat geval gebruik je het best de current state node. In plaats van de timer node zou ik eerder de trigger node gebruiken.
Je kan ook een losse flow maken. Dus event state: beweging= off for 10 minutes --> licht uit.


@Koepert Veel automations kun je door de Home Assistant nodes direct overzetten. Je lijstje is aardig compleet.
De event node kan je instellen op for 24 hours. Dus event node; input_boolean.afwezig = on for 24 hours --> call service input boolean turn on vakantiestand. Dan hoef je ook geen reset te doen :)

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

Heeft iemand een node gemaakt om ergens graaddagen op te halen? Ik wil die per dag lokaal gaan opslaan in m’n database met meterstanden. Zelf heb ik geen betrouwbare temperatuurmeting voorhanden, dus het moet van extern komen (liefst gevalideerd).

A'dam PVOutput


  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 13:19
@ericplan Deze gezien: https://www.mindergas.nl/degree_days/explanation ? KNMI heeft volgens mij een API waar je het op kunt halen.

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

Ja, ken ze allebei. Maar ben net een week bezig met Node Red. Mijn programmeerskills beperkten zich tot die tijd tot PHP en een beetje javascript voor Highchartsgrafieken. Dit is wel even iets anders :o Hoop nog steeds dat iemand een voorbeeld heeft.

A'dam PVOutput


Acties:
  • +1 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
ericplan schreef op donderdag 11 februari 2021 @ 19:03:
Heeft iemand een node gemaakt om ergens graaddagen op te halen? Ik wil die per dag lokaal gaan opslaan in m’n database met meterstanden. Zelf heb ik geen betrouwbare temperatuurmeting voorhanden, dus het moet van extern komen (liefst gevalideerd).
Ik had het niet... maar heb wat in elkaar geknutseld. Leek me wel een leuke uitdaging :).

Is eerste keer dat ik dit doe... dus misschien niet helemaal goed, maar het lijkt te werken.
code:
1
[{"id":"6a101c0a.9634ac","type":"inject","z":"2838595f.c700c6","name":"payload vast","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"stns=260&vars=TEMP&byear=2021&bmonth=2&bday=10&eyear=2021&emonth=2&eday=10","payloadType":"str","x":190,"y":1060,"wires":[["861d8e85.b568f8"]]},{"id":"861d8e85.b568f8","type":"http request","z":"2838595f.c700c6","name":"","method":"POST","ret":"txt","paytoqs":"body","url":"http://projects.knmi.nl/klimatologie/daggegevens/getdata_dag.cgi","tls":"","persist":false,"proxy":"","authType":"","x":590,"y":1060,"wires":[["f265e9a.08ea798"]]},{"id":"bf958fab.9dbb8","type":"debug","z":"2838595f.c700c6","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1530,"y":1160,"wires":[]},{"id":"f265e9a.08ea798","type":"function","z":"2838595f.c700c6","name":"eerste 1290 karakters weghalen","func":"msg.payload = msg.payload.substr(1290);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":850,"y":1060,"wires":[["12180e6a.912622"]]},{"id":"12180e6a.912622","type":"change","z":"2838595f.c700c6","name":"delete  # & spaties","rules":[{"t":"change","p":"payload","pt":"msg","from":"#","fromt":"str","to":"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":" ","fromt":"str","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":1060,"wires":[["f4d3bab2.a32d3"]]},{"id":"f4d3bab2.a32d3","type":"csv","z":"2838595f.c700c6","name":"transform csv to object","sep":",","hdrin":true,"hdrout":"none","multi":"one","ret":"\\n","temp":"","skip":"1","strings":true,"include_empty_strings":"","include_null_values":"","x":620,"y":1160,"wires":[["630134e9.d074c4"]]},{"id":"fb4daf81.ae3258","type":"comment","z":"2838595f.c700c6","name":"uitleg afkortingen","info":"# STN      LON(east)   LAT(north)     ALT(m)  NAME\n\n# 391:         6.197       51.498      19.50  ARCEN\n\n# \n\n# YYYYMMDD = Date (YYYY=year MM=month DD=day); \n\n# TG       = Daily mean temperature in (0.1 degrees Celsius); \n\n# TN       = Minimum temperature (in 0.1 degrees Celsius); \n\n# TNH      = Hourly division in which TN was measured; \n\n# TX       = Maximum temperature (in 0.1 degrees Celsius); \n\n# TXH      = Hourly division in which TX was measured; \n\n# T10N     = Minimum temperature at 10 cm above surface (in 0.1 degrees Celsius); \n\n# T10NH    = 6-hourly division in which T10N was measured; 6=0-6 UT, 12=6-12 UT, 18=12-18 UT, 24=18-24 UT","x":200,"y":1200,"wires":[]},{"id":"9d5e7afd.33e9b","type":"change","z":"2838595f.c700c6","name":"temp omzetten & graaddagen berekenen","rules":[{"t":"set","p":"payload.TG","pt":"msg","to":"$round(( payload.TG * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.TN","pt":"msg","to":"$round(( payload.TN * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.TX","pt":"msg","to":"$round(( payload.TX * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.T10N","pt":"msg","to":"$round(( payload.T10N * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.graaddagen","pt":"msg","to":"$round((18 - payload.TG),2)","tot":"jsonata"},{"t":"set","p":"payload.gewogengraaddagen","pt":"msg","to":"$round(((18 - payload.TG) * payload.weegfactor),2)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1200,"y":1160,"wires":[["bf958fab.9dbb8"]]},{"id":"6498001e.d91dc8","type":"inject","z":"2838595f.c700c6","name":"payload flex","props":[{"p":"station","v":"260","vt":"str"},{"p":"dag","v":"$moment().subtract(3,'days').format('DD')\t","vt":"jsonata"},{"p":"maand","v":"$moment().subtract(3,'days').format('MM')","vt":"jsonata"},{"p":"jaar","v":"$moment().subtract(3,'days').format('YYYY')\t","vt":"jsonata"},{"p":"payload"}],"repeat":"","crontab":"00 12 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"hallo","payloadType":"str","x":180,"y":980,"wires":[["81f12344.50f19"]]},{"id":"81f12344.50f19","type":"template","z":"2838595f.c700c6","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"stns={{station}}&vars=TEMP&byear={{jaar}}&bmonth={{maand}}&bday={{dag}}&eyear={{jaar}}&emonth={{maand}}&eday={{dag}}","output":"str","x":360,"y":980,"wires":[["861d8e85.b568f8"]]},{"id":"630134e9.d074c4","type":"function","z":"2838595f.c700c6","name":"weegfactor","func":"if (msg.maand <= 02)\n{\nmsg.payload.weegfactor = 1.1 ;\n}\n\nelse\n\nif (msg.maand == 03)\n{\nmsg.payload.weegfactor = 1 ;\n}\n\nelse\n\nif (msg.maand <= 09)\n{\nmsg.payload.weegfactor = 0.8 ;\n}\n\nelse\n{\nmsg.payload.weegfactor = 1.1 ;\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":890,"y":1160,"wires":[["9d5e7afd.33e9b"]]}]



Dit vind ik echt mooi aan Node-Red. Ik heb geen programmeerkennis. Met een beetje knutselen krijg je resultaat.

[ Voor 118% gewijzigd door denuz op 13-02-2021 12:17 . Reden: foutje in code ]


Acties:
  • 0 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

denuz schreef op vrijdag 12 februari 2021 @ 10:53:
[...]

Ik had het niet... maar heb wat in elkaar geknutseld. Leek me wel een leuke uitdaging :).

Is eerste keer dat ik dit doe... dus misschien niet helemaal goed, maar het lijkt te werken.

code:
1
[{"id":"6a101c0a.9634ac","type":"inject","z":"2838595f.c700c6","name":"payload vast","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"stns=260&vars=TEMP&byear=2021&bmonth=2&bday=10&eyear=2021&emonth=2&eday=10","payloadType":"str","x":110,"y":1100,"wires":[["861d8e85.b568f8"]]},{"id":"861d8e85.b568f8","type":"http request","z":"2838595f.c700c6","name":"","method":"POST","ret":"txt","paytoqs":"body","url":"http://projects.knmi.nl/klimatologie/daggegevens/getdata_dag.cgi","tls":"","persist":false,"proxy":"","authType":"","x":590,"y":1060,"wires":[["f265e9a.08ea798"]]},{"id":"bf958fab.9dbb8","type":"debug","z":"2838595f.c700c6","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1370,"y":1160,"wires":[]},{"id":"f265e9a.08ea798","type":"function","z":"2838595f.c700c6","name":"eerste 1290 karakters weghalen","func":"msg.payload = msg.payload.substr(1290);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":850,"y":1060,"wires":[["12180e6a.912622"]]},{"id":"12180e6a.912622","type":"change","z":"2838595f.c700c6","name":"delete  # & spaties","rules":[{"t":"change","p":"payload","pt":"msg","from":"#","fromt":"str","to":"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":" ","fromt":"str","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":1060,"wires":[["f4d3bab2.a32d3"]]},{"id":"f4d3bab2.a32d3","type":"csv","z":"2838595f.c700c6","name":"transform csv to object","sep":",","hdrin":true,"hdrout":"none","multi":"one","ret":"\\n","temp":"","skip":"1","strings":true,"include_empty_strings":"","include_null_values":"","x":620,"y":1160,"wires":[["9d5e7afd.33e9b"]]},{"id":"fb4daf81.ae3258","type":"comment","z":"2838595f.c700c6","name":"uitleg afkortingen","info":"# STN      LON(east)   LAT(north)     ALT(m)  NAME\n\n# 391:         6.197       51.498      19.50  ARCEN\n\n# \n\n# YYYYMMDD = Date (YYYY=year MM=month DD=day); \n\n# TG       = Daily mean temperature in (0.1 degrees Celsius); \n\n# TN       = Minimum temperature (in 0.1 degrees Celsius); \n\n# TNH      = Hourly division in which TN was measured; \n\n# TX       = Maximum temperature (in 0.1 degrees Celsius); \n\n# TXH      = Hourly division in which TX was measured; \n\n# T10N     = Minimum temperature at 10 cm above surface (in 0.1 degrees Celsius); \n\n# T10NH    = 6-hourly division in which T10N was measured; 6=0-6 UT, 12=6-12 UT, 18=12-18 UT, 24=18-24 UT","x":200,"y":1200,"wires":[]},{"id":"9d5e7afd.33e9b","type":"change","z":"2838595f.c700c6","name":"temp omzetten & graaddagen berekenen","rules":[{"t":"set","p":"payload.TG","pt":"msg","to":"$round(( payload.TG * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.TN","pt":"msg","to":"$round(( payload.TN * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.TX","pt":"msg","to":"$round(( payload.TX * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.T10N","pt":"msg","to":"$round(( payload.T10N * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.graaddagen","pt":"msg","to":"$round(( payload.T10N - 18),2)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1000,"y":1160,"wires":[["bf958fab.9dbb8"]]},{"id":"6498001e.d91dc8","type":"inject","z":"2838595f.c700c6","name":"payload flex","props":[{"p":"station","v":"260","vt":"str"},{"p":"dag","v":"$moment().subtract(3,'days').format('DD')\t","vt":"jsonata"},{"p":"maand","v":"$moment().format('MM')","vt":"jsonata"},{"p":"jaar","v":"$moment().format('YYYY')\t","vt":"jsonata"},{"p":"payload"}],"repeat":"","crontab":"00 12 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"hallo","payloadType":"str","x":100,"y":980,"wires":[["81f12344.50f19"]]},{"id":"81f12344.50f19","type":"template","z":"2838595f.c700c6","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"stns={{station}}&vars=TEMP&byear={{jaar}}&bmonth={{maand}}&bday={{dag}}&eyear={{jaar}}&emonth={{maand}}&eday={{dag}}","output":"str","x":360,"y":980,"wires":[["861d8e85.b568f8"]]}]
Leuk, direct geïmporteerd. Mooi werk. Alleen krijg ik een negatief getal bij graaddagen? Dat kan toch niet?

A'dam PVOutput


Acties:
  • 0 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
ericplan schreef op vrijdag 12 februari 2021 @ 11:28:
[...]


Leuk, direct geïmporteerd. Mooi werk. Alleen krijg ik een negatief getal bij graaddagen? Dat kan toch niet?
Foutje. In de change node : temp omzetten & graaddagen berekenen in de onderste dit ervan maken:
$round(( 18 - payload.TG ),2).

Sowieso handig om even te checken of het zo klopt. In de comment staat uitleg( van KNMI) over de afkortingen. Ik gebruik nu TG om de graaddagen te berekenen.

@ericplan in originele post nog wat aanpassingen gedaan in de code. specifiek in de inject payload flex. deze checkt 3 dagen terug.

[ Voor 29% gewijzigd door denuz op 12-02-2021 11:55 ]


Acties:
  • 0 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

denuz schreef op vrijdag 12 februari 2021 @ 11:30:
[...]
Foutje. In de change node : temp omzetten & graaddagen berekenen in de onderste dit ervan maken:
$round(( 18 - payload.TG ),2).

Sowieso handig om even te checken of het zo klopt. In de comment staat uitleg( van KNMI) over de afkortingen. Ik gebruik nu TG om de graaddagen te berekenen.

@ericplan in originele post nog wat aanpassingen gedaan in de code. specifiek in de inject payload flex. deze checkt 3 dagen terug.
Bedankt. Ik heb de laatste versie geïmporteerd :) Ga eens kijken hoe ik dit in de dagelijkse flow kan inpassen. Momenteel veel "work in progress".

A'dam PVOutput


Acties:
  • 0 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

@denuz Mindergas werkt met gewogen graaddagen. Is dat iets wat als optie te implementeren is?

Gewogen graaddagen

Behalve de buitentemperatuur, zijn er per jaargetijde nog meer weersomstandigheden van invloed op de thermostaat. Denk bijvoorbeeld aan de warmte van zonnestralen op het huis. Om de invloed van die wisselingen op de berekeningen te minimaliseren, worden de graaddagen vermenigvuldigd met een seizoensafhankelijke weegfactor. Dit noemen we gewogen graaddagen. De weegfactor is als volgt gedurende het jaar:

april t/m september: 0,8
maart en oktober: 1,0
november t/m februari: 1,1

A'dam PVOutput


Acties:
  • +1 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
ericplan schreef op vrijdag 12 februari 2021 @ 21:18:
@denuz Mindergas werkt met gewogen graaddagen. Is dat iets wat als optie te implementeren is?

Gewogen graaddagen

Behalve de buitentemperatuur, zijn er per jaargetijde nog meer weersomstandigheden van invloed op de thermostaat. Denk bijvoorbeeld aan de warmte van zonnestralen op het huis. Om de invloed van die wisselingen op de berekeningen te minimaliseren, worden de graaddagen vermenigvuldigd met een seizoensafhankelijke weegfactor. Dit noemen we gewogen graaddagen. De weegfactor is als volgt gedurende het jaar:

april t/m september: 0,8
maart en oktober: 1,0
november t/m februari: 1,1
Ja dat is niet zo lastig. Ik heb de code aangepast in mijn originele post. Nu zit in de payload graaddagen als gewogen graaddagen o.b.v. de input in jouw bericht.

Acties:
  • 0 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

denuz schreef op vrijdag 12 februari 2021 @ 23:24:
[...]

Ja dat is niet zo lastig. Ik heb de code aangepast in mijn originele post. Nu zit in de payload graaddagen als gewogen graaddagen o.b.v. de input in jouw bericht.
Mooi, vandaag mee verder. Maar er komt nieuw speelgoed, een Odroid C4, dus daar zal ook wat tijd in gaan zitten. Was nog een Tweaker(@zuigzoen ) die een KNMI-node gevonden had. Plaats de link maar even hier:
https://npm.io/package/node-knmi-fetch

A'dam PVOutput


Acties:
  • 0 Henk 'm!

  • DeadMetal
  • Registratie: Mei 2002
  • Laatst online: 19-09 13:19
denuz schreef op vrijdag 12 februari 2021 @ 23:24:
[...]

Ja dat is niet zo lastig. Ik heb de code aangepast in mijn originele post. Nu zit in de payload graaddagen als gewogen graaddagen o.b.v. de input in jouw bericht.
Interessant. Als ik de definitie van graaddag op wikipedia bekijk, gaat het om de gemiddelde termperatuur over de gehele (afgelopen) dag (= etmaal). Beste tijdstip om data op te halen is dan vlak voor middernacht?

Maar waar moet de data vandaan komen?
Wellicht via https://www.knmi.nl/kenni...ophalen-vanuit-een-script

@denuz hoe ziet je totale sequence eruit? Je code in je bericht bevat alleen een functienode.
/edit: thx voor fixen @denuz !

[ Voor 22% gewijzigd door DeadMetal op 13-02-2021 12:19 ]


Acties:
  • 0 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

DeadMetal schreef op zaterdag 13 februari 2021 @ 12:03:
[...]

@denuz hoe ziet je totale sequence eruit? Je code in je bericht bevat alleen een functienode.
Denk dat er iets fout gegaan is met knippen en plakken, de hele sequence is er wel, tenminste tot gisteren ;)

A'dam PVOutput


Acties:
  • 0 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
@DeadMetal
Data komt idd van die KNMI link. In de huidige flow wordt datum t- 3 day gepakt. Ik heb niet uitgezocht wanneer de data beschikbaar is. 3 dagen teruggaan leek me een prima optie.

@ericplan
Ja foutje met opnieuw erin plakken. Net hele flow er opnieuw ingezet.

Acties:
  • 0 Henk 'm!

  • grote_oever
  • Registratie: Augustus 2002
  • Laatst online: 19-09 21:45
grote_oever schreef op zaterdag 2 mei 2020 @ 18:08:
[...]


Kleine update: dit heeft inderdaad probleem opgelost. Hij draait nu stabiel bij de buurman en mijn queue reset probleem is ook met downgrade opgelost.
Bijna jaar geleden heb ik wat problemen gehad met modbus binnen node-red. De nieuwe versie van modbus werkte maar een paar minuten en daarna stopt hij ermee. Met dank aan @AUijtdehaag naar een eerdere versie gegaan en daar werkte het mee. Inmiddels draait het stabiel voor meer dan een jaar. Met stabiel bedoel ik dat de waardes op een korte interval (5 seconden) binnen komen in mijn dashboard/domoticz.

Wel had ik vanaf het begin een probleem dat om de minuut er een waarschuwing in de debug komt:

"FSM Reset On State QUEUEING"

Dit zorgde ervoor dat de nodes (of modbusserver) gereset werden. Ergste wat er gebeurde is dat ik elke minuut even 5 seconden geen waarde kreeg. Dit was voor mij acceptabel en dat werkte.

Sinds deze week heeft mijn warmtepomp wat moeite en vliegt hij vaak in de nacht in alarm en stopt ermee. Ik ben erachter komen welk modbus adres het alarm is en heb er een flow erbij gemaakt die ervoor zorgt dat ik een pushover melding krijg als er een storing is. Ik check 1x in de 5 minuten of er een storing is.

Helaas werkt dit niet lekker. Want elke minuut wordt de modbusserver herstart, waardoor het lijkt dat de poll tijd ook herstart wordt. Gevolg is dat hij nooit checkt of de warmtepomp in alarm is.

Vandaag ben ik dus aan het onderzoeken gegaan waar het aan kan liggen, (want ik wordt ook gek van de foutmelding in de debug) maar ik om er even niet meer uit. Iemand die mij nog op weg kan helpen?

Huidige versie node-red-contrib-modbus: 4.1.3
Nieuwste versie: 5.13.3

Hierbij voorbeeld van de flow. Je ziet dat de modbus node "Uitlezen waardes (Alarm)" elke minuut moet uitlezen, maar de health check geeft aan dat er al lange tijd geen bericht is binnen gekomen:

Afbeeldingslocatie: https://tweakers.net/i/D-hIrCXdZTxMQ7eICCwC_X2GNKE=/800x/filters:strip_icc():strip_exif()/f/image/JAa8dCfqJPnYzvNXwlX3DHOe.jpg?f=fotoalbum_large

Als ik de interval verlaag naar 30 seconden dan werkt het. Ook werkt heel af en toe een interval van 1 minuut.

Afbeeldingslocatie: https://tweakers.net/i/yb-sFq-xnUU_ALR5gl_ePQ7o3w4=/800x/filters:strip_icc():strip_exif()/f/image/dXGWCnWXZQ2Mjj9h8sU99Jug.jpg?f=fotoalbum_large

Ik ben een beetje zoekende waar het probleem nu aan kan liggen. Bij het zoeken van de foutmelding doet mij het vermoeden dat het een probleem is in de modbus versie. https://discourse.nodered...n-5-2-0-vs-v4-1-3/19428/2

Maar als ik update loop ik weer tegen andere problemen aan. Ik ben een beetje zoekende waar het nu aan ligt en wat ik nog kan doen om dit te verhelpen.

Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@grote_oever Ik (en nog 5 anderen) draai(en) reeds al een tijdje op de nieuwste 5.13.3
https://flows.nodered.org/node/node-red-contrib-modbus
Procon mitsubishi modbus rtu en SMA modbus tcp/ip

[ Voor 19% gewijzigd door AUijtdehaag op 13-02-2021 16:28 ]

PVOutput Github - Div ESP TK: MHI - Clack - Marstek


Acties:
  • +1 Henk 'm!

  • grote_oever
  • Registratie: Augustus 2002
  • Laatst online: 19-09 21:45
AUijtdehaag schreef op zaterdag 13 februari 2021 @ 16:27:
@grote_oever Ik (en nog 5 anderen) draai(en) reeds al een tijdje op de nieuwste 5.13.3
https://flows.nodered.org/node/node-red-contrib-modbus
Procon mitsubishi modbus rtu en SMA modbus tcp/ip
Bedankt. Ga morgen de overstap eens wagen. Ik zie dat er wel flink wat nodes bijgekomen zijn.

Offtopic; @AUijtdehaag SMA modbus heb ik nog op mijn wishlist staan. Gebruik nu de HTTP webgrabber. Ik had jou post al opgeslagen om SMA aan te sluiten op Modbus.

[ Voor 22% gewijzigd door grote_oever op 13-02-2021 17:03 ]


Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@grote_oever Die http webgrabber kende ik nog niet. (y)
Hoe vaak/snel kan je die uitlezen?

PVOutput Github - Div ESP TK: MHI - Clack - Marstek


Acties:
  • +1 Henk 'm!

  • grote_oever
  • Registratie: Augustus 2002
  • Laatst online: 19-09 21:45
AUijtdehaag schreef op zaterdag 13 februari 2021 @ 19:27:
@grote_oever Die http webgrabber kende ik nog niet. (y)
Hoe vaak/snel kan je die uitlezen?
Zo vaak je wilt. Ik heb hem op 5 seconden staan, maar kan ook elke seconden of 1x per minuut (of langer). Enige nadeel is dat je totaal niet kunt uitlezen (daarom wil ik toch overstap naar modbus maken). Ik zal flow even exporteren en hier posten. Er staat dat hij bedoelt is voor de Tripower 8.0/10.0, maar hij werkt ook prima voor onze 5.0.

[edit: flow]

Palette: https://flows.nodered.org...ed-contrib-sma-webconnect

code:
1
[{"id":"1611add7.6410fa","type":"tab","label":"SMA","disabled":false,"info":""},{"id":"650bd62.6a9dfa8","type":"debug","z":"1611add7.6410fa","name":"Debug","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":590,"y":280,"wires":[]},{"id":"9adc67f9.2959f8","type":"function","z":"1611add7.6410fa","name":"Vermogen","func":"//var power = {};\n//power.payload = Math.round( msg.payload.power / 10 ) / 100;\n//return power;\n\nnode.log (\"Waarde to Domoticz HTTP\");\nvar power = JSON.parse(msg.payload.power);\nvar DeviceID = 45;\n\nmsg.url = \"192.168.1.201:8080/json.htm?type=command&param=udevice&idx=\"+ DeviceID +\"&nvalue=0&svalue=\"+power+\";0\";\n\nreturn msg;","outputs":1,"noerr":0,"x":710,"y":380,"wires":[["2d56f4c9.f0cc1c","204a1f77.b23d3"]]},{"id":"80e2a1ce.a4a348","type":"sma-webconnect","z":"1611add7.6410fa","ip_address":"192.168.1.11","right":"usr","use_tls":true,"device_selection":"sb_tripower","x":450,"y":380,"wires":[["9adc67f9.2959f8","650bd62.6a9dfa8"]]},{"id":"2d56f4c9.f0cc1c","type":"debug","z":"1611add7.6410fa","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":890,"y":300,"wires":[]},{"id":"3fc24275.9ed586","type":"inject","z":"1611add7.6410fa","name":"","topic":"Custom Headers","payload":"{\"sma_config\":{\"id\":\"1\",\"values\":{\"6100_00464800\":{\"name\":\"phase1_voltage\",\"divider\":100},\"6100_00464900\":{\"name\":\"phase2_voltage\",\"divider\":100},\"6100_00464A00\":{\"name\":\"phase3_voltage\",\"divider\":100},\"6100_40263F00\":{\"name\":\"power\",\"divider\":1}}}}","payloadType":"json","repeat":"5","crontab":"","once":true,"onceDelay":"5","x":230,"y":380,"wires":[["80e2a1ce.a4a348"]]},{"id":"204a1f77.b23d3","type":"http request","z":"1611add7.6410fa","name":"","method":"use","ret":"txt","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":930,"y":380,"wires":[[]]}]


Afbeeldingslocatie: https://tweakers.net/i/YznE8e7QvqmghHhLM-VQnOKSHkc=/800x/filters:strip_icc():strip_exif()/f/image/60K5kAIq3P5LcE3htbVopBY5.jpg?f=fotoalbum_large

[ Voor 79% gewijzigd door grote_oever op 13-02-2021 20:34 . Reden: Flow toegevoegd ]


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 08:18
Vraagje.

Ik heb een input_boolean.afwezig (zie ook hierboven) die er voor moet zorgen dat er bepaalde automatiseringen start, of juist niet.

Ik gebruik een bigtimer-node om (bijvoorbeeld) de lampen in de woonkamer elke ochtend en elke avond aan te doen. Dit is echter onnodig als we er niet zijn. Maar hoe zet ik die check daar tussen? ik heb achter de bigtimer een switch die filtert op on & off. Daarachter een call.service voor ON en Off. Ik dacht daartussen een check state-node maar die lijkt er juist voor te zorgen dat de lampen AAN gaan terwijl ze uit moeten. De switch-node daarachter is nl juist andersom. input_boolean OFF = lampen AAN...

K heb achter de bigtimer - switch een check-state gezet (op off) en op de true de lamp aan. Kijken of dit goed gaat.

[ Voor 8% gewijzigd door Koepert op 14-02-2021 08:18 ]


Acties:
  • 0 Henk 'm!

  • DeadMetal
  • Registratie: Mei 2002
  • Laatst online: 19-09 13:19
Kan iemand me vertellen hoe ik data in InfluxDB kan opslaan onder/met de datum van gisteren?
(dit n.a.v. de graaddagen discussie, vandaag wil ik de graaddagen van gisteren ophalen, maar dan ook bij de datum van gisteren opslaan in InfluxDB) en dus niet onder de huidige timestamp.

[ Voor 3% gewijzigd door DeadMetal op 14-02-2021 10:26 ]


Acties:
  • +1 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

DeadMetal schreef op zondag 14 februari 2021 @ 10:26:
Kan iemand me vertellen hoe ik data in InfluxDB kan opslaan onder/met de datum van gisteren?
(dit n.a.v. de graaddagen discussie, vandaag wil ik de graaddagen van gisteren ophalen, maar dan ook bij de datum van gisteren opslaan in InfluxDB) en dus niet onder de huidige timestamp.
Je kan die gewoon een timestamp in nanoseconds meegeven, dat zou moeten werken. Al heb ik daar momenteel ook ruzie mee, dus ik ben best geïnteresseerd in je oplossing

A'dam PVOutput


Acties:
  • +1 Henk 'm!

  • DeadMetal
  • Registratie: Mei 2002
  • Laatst online: 19-09 13:19
ericplan schreef op zondag 14 februari 2021 @ 11:11:
[...]

Je kan die gewoon een timestamp in nanoseconds meegeven, dat zou moeten werken. Al heb ik daar momenteel ook ruzie mee, dus ik ben best geïnteresseerd in je oplossing
Ah, dan zat ik al in de goede richting. Enkel de timestamp nog * 1000000 doen.
Mijn code, gebaseerd op die van @denuz is als volgt. Je moet enkel zelf nog een influxdb-out node eraan koppelen met je gewenste server en retention policy.

code:
1
[{"id":"c36f5fd.cb3e02","type":"template","z":"4bc7eca5.d66abc","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"stns={{station}}&vars=TEMP&byear={{jaar}}&bmonth={{maand}}&bday={{dag}}&eyear={{jaar}}&emonth={{maand}}&eday={{dag}}","output":"str","x":440,"y":720,"wires":[["cd9b087b.7e3a68"]]},{"id":"cd9b087b.7e3a68","type":"http request","z":"4bc7eca5.d66abc","name":"","method":"POST","ret":"txt","paytoqs":"body","url":"http://projects.knmi.nl/klimatologie/daggegevens/getdata_dag.cgi","tls":"","persist":false,"proxy":"","authType":"","x":590,"y":720,"wires":[["1a7c9bef.7ed26c"]]},{"id":"4e53527b.58562c","type":"delay","z":"4bc7eca5.d66abc","name":"","pauseType":"random","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"0","randomLast":"5","randomUnits":"minutes","drop":false,"x":280,"y":720,"wires":[["c36f5fd.cb3e02"]]},{"id":"e921470.aa2aeb8","type":"inject","z":"4bc7eca5.d66abc","name":"Eigen datum kiezen (DD, MM, YYYY","props":[{"p":"station","v":"240","vt":"str"},{"p":"dag","v":"12","vt":"str"},{"p":"maand","v":"02","vt":"str"},{"p":"jaar","v":"2021","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":200,"y":760,"wires":[["c36f5fd.cb3e02"]]},{"id":"1a7c9bef.7ed26c","type":"function","z":"4bc7eca5.d66abc","name":"eerste 1290 karakters weghalen","func":"msg.payload = msg.payload.substr(1290);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":810,"y":720,"wires":[["789da90.e6a1958"]]},{"id":"5eba6147.9b53b","type":"inject","z":"4bc7eca5.d66abc","name":"dagelijks 16u","props":[{"p":"station","v":"240","vt":"str"},{"p":"dag","v":"$moment().subtract(1,'days').format('DD')","vt":"jsonata"},{"p":"maand","v":"$moment().subtract(1,'days').format('MM')","vt":"jsonata"},{"p":"jaar","v":"$moment().subtract(1,'days').format('YYYY')","vt":"jsonata"}],"repeat":"","crontab":"00 16 * * *","once":false,"onceDelay":0.1,"topic":"","x":120,"y":720,"wires":[["4e53527b.58562c"]]},{"id":"789da90.e6a1958","type":"change","z":"4bc7eca5.d66abc","name":"delete # en spaties","rules":[{"t":"change","p":"payload","pt":"msg","from":"#","fromt":"str","to":"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":" ","fromt":"str","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1050,"y":720,"wires":[["aea8529e.d1c05"]]},{"id":"aea8529e.d1c05","type":"csv","z":"4bc7eca5.d66abc","name":"transform csv naar object","sep":",","hdrin":true,"hdrout":"none","multi":"one","ret":"\\n","temp":"","skip":"1","strings":true,"include_empty_strings":"","include_null_values":"","x":1270,"y":720,"wires":[["dfa5a565.36f068"]]},{"id":"dfa5a565.36f068","type":"function","z":"4bc7eca5.d66abc","name":"weegfactor","func":"if (msg.maand <= 02)\n{\nmsg.payload.weegfactor = 1.1 ;\n}\n\nelse if (msg.maand == 03)\n{\nmsg.payload.weegfactor = 1 ;\n}\n\nelse if (msg.maand <= 09)\n{\nmsg.payload.weegfactor = 0.8 ;\n}\n\nelse\n{\nmsg.payload.weegfactor = 1.1 ;\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1470,"y":720,"wires":[["1ac86c78.944514"]]},{"id":"1ac86c78.944514","type":"change","z":"4bc7eca5.d66abc","name":"temp omzetten & graaddagen berekenen","rules":[{"t":"set","p":"payload.TG","pt":"msg","to":"$round(( payload.TG * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.TN","pt":"msg","to":"$round(( payload.TN * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.TX","pt":"msg","to":"$round(( payload.TX * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.T10N","pt":"msg","to":"$round(( payload.T10N * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.graaddagen","pt":"msg","to":"$round((18 - payload.TG),2)","tot":"jsonata"},{"t":"set","p":"payload.gewogengraaddagen","pt":"msg","to":"$round(((18 - payload.TG) * payload.weegfactor),2)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1720,"y":720,"wires":[["bef76c04.8e6e","27495e87.28d402","8a7801c4.7c5e7","f8d19ac1.c50c9","de101a2a.9433b"]]},{"id":"bef76c04.8e6e","type":"change","z":"4bc7eca5.d66abc","name":"gewogengraaddagen","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.gewogengraaddagen","tot":"msg"},{"t":"set","p":"entity_id","pt":"msg","to":"gewogengraaddagen","tot":"str"},{"t":"set","p":"measurement","pt":"msg","to":"gewogengraaddagen","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":2040,"y":640,"wires":[["56a048d0.38d2c"]]},{"id":"27495e87.28d402","type":"change","z":"4bc7eca5.d66abc","name":"graaddagen","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.graaddagen","tot":"msg"},{"t":"set","p":"entity_id","pt":"msg","to":"graaddagen","tot":"str"},{"t":"set","p":"measurement","pt":"msg","to":"graaddagen","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":2010,"y":680,"wires":[["56a048d0.38d2c"]]},{"id":"8a7801c4.7c5e7","type":"change","z":"4bc7eca5.d66abc","name":"maxtemp","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.TX","tot":"msg"},{"t":"set","p":"entity_id","pt":"msg","to":"maxtemp","tot":"str"},{"t":"set","p":"measurement","pt":"msg","to":"temperature","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":2000,"y":720,"wires":[["56a048d0.38d2c"]]},{"id":"f8d19ac1.c50c9","type":"change","z":"4bc7eca5.d66abc","name":"mintemp","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.TN","tot":"msg"},{"t":"set","p":"entity_id","pt":"msg","to":"mintemp","tot":"str"},{"t":"set","p":"measurement","pt":"msg","to":"temperature","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":2000,"y":760,"wires":[["56a048d0.38d2c"]]},{"id":"de101a2a.9433b","type":"change","z":"4bc7eca5.d66abc","name":"gemiddeldetemp","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.TG","tot":"msg"},{"t":"set","p":"entity_id","pt":"msg","to":"gemiddeldetemp","tot":"str"},{"t":"set","p":"measurement","pt":"msg","to":"temperature","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":2030,"y":800,"wires":[["56a048d0.38d2c"]]},{"id":"56a048d0.38d2c","type":"function","z":"4bc7eca5.d66abc","name":"","func":"var waarde = msg.payload;\nvar entiteit = msg.entity_id;\nvar dag = msg.dag;\ndag = parseInt(dag.replace(/^0+(?!\\.|$)/, ''));\nvar maand = msg.maand;\nmaand = parseInt(maand.replace(/^0+(?!\\.|$)/, '')) -1;\nvar jaar = parseInt(msg.jaar);\n\nvar datum = new Date(jaar, maand, dag, 12, 0, 0);\nvar datumnanoseconden = datum.getTime() * 1000000;\n\nvar newmsg = {};\nnewmsg.measurement = msg.measurement;\nnewmsg.datum = datum;\nnewmsg.payload = [\n{\n    value: waarde,\n    time: datumnanoseconden\n},\n{\n    domain: \"sensor\",\n    entity_id: entiteit\n}];\nreturn newmsg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":2240,"y":680,"wires":[["afe73871.57c03"]]},{"id":"afe73871.57c03","type":"change","z":"4bc7eca5.d66abc","name":"","rules":[{"t":"delete","p":"data","pt":"msg"},{"t":"delete","p":"entity_id","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":2400,"y":680,"wires":[["50e1a8ec.6b202"]]},{"id":"50e1a8ec.6b202","type":"delay","z":"4bc7eca5.d66abc","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":2570,"y":680,"wires":[["cc9c4f37.4779d","5749baa1.418524"]]},{"id":"cc9c4f37.4779d","type":"debug","z":"4bc7eca5.d66abc","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":2730,"y":640,"wires":[]},{"id":"47c9c873.eacd1","type":"comment","z":"4bc7eca5.d66abc","name":"Buitentemperatuur van gisteren ophalen bij KNMI","info":"","x":220,"y":680,"wires":[]}]


Wat hij doet is dagelijks om 16u (met nog een random delay tussen 0 en 5m om de server niet op een vast tijdstip te belasten) de gegevens van de vorige dag ophalen bij KNMI, en graaddagen/gewogengraaddagen/mintemp/maxtemp/gemiddeldetemp opslaan in InfluxDB. Let erop dat ik het weerstation heb gewijzigd in de 1e inject-node.

[ Voor 49% gewijzigd door DeadMetal op 14-02-2021 14:01 ]


Acties:
  • +1 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
Koepert schreef op zondag 14 februari 2021 @ 08:07:
Vraagje.

Ik heb een input_boolean.afwezig (zie ook hierboven) die er voor moet zorgen dat er bepaalde automatiseringen start, of juist niet.

Ik gebruik een bigtimer-node om (bijvoorbeeld) de lampen in de woonkamer elke ochtend en elke avond aan te doen. Dit is echter onnodig als we er niet zijn. Maar hoe zet ik die check daar tussen? ik heb achter de bigtimer een switch die filtert op on & off. Daarachter een call.service voor ON en Off. Ik dacht daartussen een check state-node maar die lijkt er juist voor te zorgen dat de lampen AAN gaan terwijl ze uit moeten. De switch-node daarachter is nl juist andersom. input_boolean OFF = lampen AAN...

K heb achter de bigtimer - switch een check-state gezet (op off) en op de true de lamp aan. Kijken of dit goed gaat.
Je issue komt door de check state node. Als je niet wilt dat de huidige state in de payload terecht komt dan moet je de state location op none zetten. Dan check je of je entity een bepaalde waarde heeft maar blijft de huidige payload hetzelfde.
Afbeeldingslocatie: https://tweakers.net/i/FrxVNNvm_mthGVPw3V73xr3dFcY=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/pAiziEuyeO0uc1K5wMFEzNJI.png?f=user_large

Acties:
  • 0 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
@DeadMetal Nice. Mooie function node heb je gemaakt.

Misschien heb jij nog een idee over een andere timestamp.
Ik probeer een node te maken die al mijn zigbee devices ophaalt. In payload.attributes.last_seen krijg ik dan een timestamp á "2021-02-14T11:45:10+01:00". Nu wil ik checken of deze timestamp > 4 uur geleden < 6 uur geleden is. Dus eigenlijk een vergelijking met de huidige timestamp. Ik heb een deduct geprobeeerd op de epoch time, maar dat werkt niet.

Acties:
  • +1 Henk 'm!

  • DeadMetal
  • Registratie: Mei 2002
  • Laatst online: 19-09 13:19
denuz schreef op zondag 14 februari 2021 @ 11:59:
Misschien heb jij nog een idee over een andere timestamp.
Ik probeer een node te maken die al mijn zigbee devices ophaalt. In payload.attributes.last_seen krijg ik dan een timestamp á "2021-02-14T11:45:10+01:00". Nu wil ik checken of deze timestamp > 4 uur geleden < 6 uur geleden is. Dus eigenlijk een vergelijking met de huidige timestamp. Ik heb een deduct geprobeeerd op de epoch time, maar dat werkt niet.
Misschien kan je deze hergebruiken en iets aanpassen (de change node voor de function node)?
DeadMetal in "Node-RED - grafisch 'programmeren' (bijv. voor domotica)"

[ Voor 3% gewijzigd door DeadMetal op 14-02-2021 14:01 ]


Acties:
  • 0 Henk 'm!

  • DeadMetal
  • Registratie: Mei 2002
  • Laatst online: 19-09 13:19
denuz schreef op zondag 14 februari 2021 @ 11:59:
@DeadMetal Nice. Mooie function node heb je gemaakt.
Thx, ik heb inmiddels een nieuwe versie van de code gepost in dat bericht.
Verbeteringen:
- een 2e handmatige inject-node waarbij je zelf een datum kan invullen. Zo heb ik nu handmatig de eerdere dagen van 2021 opgehaald en in Influx gezet.
- de functienode kiest niet de datum van gisteren als timestamp, maar de daadwerkelijke datum waarvoor de gegevens bij KNMI zijn opgevraagd.

Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@grote_oever Het totaal is toch ook gewoon uitleesbaar?
https://imgur.com/CsvC1wo

Werkt wel goed eigenlijk.

[ Voor 14% gewijzigd door AUijtdehaag op 14-02-2021 14:28 ]

PVOutput Github - Div ESP TK: MHI - Clack - Marstek


Acties:
  • 0 Henk 'm!

  • grote_oever
  • Registratie: Augustus 2002
  • Laatst online: 19-09 21:45
AUijtdehaag schreef op zondag 14 februari 2021 @ 14:27:
@grote_oever Het totaal is toch ook gewoon uitleesbaar?
https://imgur.com/CsvC1wo

Werkt wel goed eigenlijk.
Owh, ik zie het. Ik dacht dat hij alleen waardes kon halen van de pagina: /#/spotvalues en daar vond ik geen totaal. Hoe kwam je aan deze waarde? Want totaal op beginpagina leek berekend te worden.

Heb naar totaalwaarde gezocht maar niet kunnen vinden. Wil jij de value's eens posten?

[ Voor 11% gewijzigd door grote_oever op 14-02-2021 14:32 ]


Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@grote_oever
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{
    "sma_config": {
        "id": "1",
        "values": {
            "6100_40263F00": {
                "name": "ac_power",
                "divider": 1
            },
            "6100_00465700": {
                "name": "frequentie",
                "divider": 100
            },
            "6100_40465300": {
                "name": "ac_current",
                "divider": 1000
            },
            "6100_00464800": {
                "name": "ac_voltage",
                "divider": 100
            },
            "6400_00260100": {
                "name": "totaal",
                "divider": 1000
            },
            "6400_00262200": {
                "name": "dag_totaal",
                "divider": 1000
            },
            "6380_40251E00": {
                "name": "dc_power_mppt1",
                "divider": 1
            },
            "6380_40452100": {
                "name": "dc_current_mppt1",
                "divider": 1000
            },
            "6380_40451F00": {
                "name": "dc_voltage_mppt1",
                "divider": 100
            }
        }
    }
}

Momentane waarden:
https://imgur.com/NubmNjQ
SMA 2.5 firmware 3.10.7.R

PVOutput Github - Div ESP TK: MHI - Clack - Marstek


Acties:
  • 0 Henk 'm!

  • grote_oever
  • Registratie: Augustus 2002
  • Laatst online: 19-09 21:45
@AUijtdehaag Bedankt; Nu ben ik wel even benieuwd hoe je aan het dagtotaal komt. Want ik kan die waarde met geen mogelijkheid vinden. Als ik zoek in /dyn/getAllOnlValues.json dan vind ik ook geen 6400_00262200.

Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@grote_oever Heb je aan mijn plaatje iets, wat ik heb toegevoegd hierboven?

PVOutput Github - Div ESP TK: MHI - Clack - Marstek


Acties:
  • +1 Henk 'm!

  • grote_oever
  • Registratie: Augustus 2002
  • Laatst online: 19-09 21:45
AUijtdehaag schreef op zondag 14 februari 2021 @ 14:40:
@grote_oever Heb je aan mijn plaatje iets, wat ik heb toegevoegd hierboven?
Ja, vermoed inderdaad softwareversie. Want ik heb die er niet bijstaan.

Afbeeldingslocatie: https://tweakers.net/i/34ZwqsB2-j_ZcpnO1lj-BUgZ1Dw=/800x/filters:strip_icc():strip_exif()/f/image/zzKipgLstFbjfbFfVCZvbF2t.jpg?f=fotoalbum_large

Model STP5.0-3AV-40 667 Versie 2.13.33.R

@AUijtdehaag Top, ga later even kijken... moet eerste even modbus in node-red updaten :)

[ Voor 9% gewijzigd door grote_oever op 14-02-2021 14:48 ]


Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@grote_oever De AV-40 is niet meer ondersteund vrees ik ivm RfG certificatie.
Firmware V3.x.x heb je nodig denk ik.

even updaten naar V3 dan.

[ Voor 34% gewijzigd door AUijtdehaag op 14-02-2021 14:50 ]

PVOutput Github - Div ESP TK: MHI - Clack - Marstek


Acties:
  • 0 Henk 'm!

  • kweetnie
  • Registratie: December 2000
  • Laatst online: 13-09 20:30
Ben sinds kort gestart met node red en home assistant. Met het nodige vallen en opstaan ben ik inmiddels alweer iets verder. Echter nu blijf ik vastlopen omdat mijn kennis en blijkbaar mijn zoekskills me in de steek laten.

Ik ben zoals velen gestart met de verlichting in te regelen. Nu heb ik voor elkaar dat mijn licht aangaat door motion en uit als er x tijd geen motion is. Ook heb ik daarbij gemaakt dat het alleen aangaat onder een bepaalde lux waarde.
Tot zover gaat het na veel puzzelen goed. Echter nu wil toevoegen dat mijn verlichting zich volgens het circadian principe aanpast. Echter ik krijg het niet voor elkaar, veel guides en forum posts bekeken, maar kom er niet uit.
Waar ik nu op vastloop is dat ik wel mijn kelvin waarde uitlees uit de payload maar heb werkelijk geen idee (niets was succesvol) om die weer te gebruiken in mijn call service data.

Ik maak gebruik van hue lampen en alles hangt aan HA via Conbee2. Nu staat in mijn flow de waarde voor Kelvin op 6500, maar dat zou ik graag als een variable zien die zijn data haalt uit de circadian node, die staat nu als debug elke minuut de waarde te "spammen".

code:
1
[{"id":"d7890d3d.9dd5d","type":"poll-state","z":"2b78f293.de5fde","name":"Attic Light Sensor","server":"ec37d48.f8fae28","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"updateinterval":"5","updateIntervalUnits":"seconds","outputinitially":false,"outputonchanged":false,"entity_id":"sensor.lightlevel_4","state_type":"str","halt_if":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"x":140,"y":1080,"wires":[["89dd29a1.142fe8"]]},{"id":"89dd29a1.142fe8","type":"switch","z":"2b78f293.de5fde","name":"Lux Threshold","property":"payload","propertyType":"msg","rules":[{"t":"lte","v":"60","vt":"num"},{"t":"gte","v":"61","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":360,"y":1080,"wires":[["4f85fb84.b0c554"],["5960e550.d77cdc"]]},{"id":"4f85fb84.b0c554","type":"change","z":"2b78f293.de5fde","name":"Enable Light","rules":[{"t":"set","p":"Light_enabled","pt":"flow","to":"Yes","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":1040,"wires":[[]]},{"id":"5960e550.d77cdc","type":"change","z":"2b78f293.de5fde","name":"Disable Light","rules":[{"t":"set","p":"Light_enabled","pt":"flow","to":"No","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":1100,"wires":[[]]},{"id":"20e9ee6c.f90dc2","type":"switch","z":"2b78f293.de5fde","name":"Light Enabled?","property":"Light_enabled","propertyType":"flow","rules":[{"t":"eq","v":"Yes","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":380,"y":1240,"wires":[["7eeb802c.40591"]]},{"id":"7eeb802c.40591","type":"api-call-service","z":"2b78f293.de5fde","name":"Attic Light On","server":"ec37d48.f8fae28","version":1,"debugenabled":true,"service_domain":"light","service":"turn_on","entityId":"light.extended_color_light_3","data":"{\"brightness_pct\":\"100\",\"kelvin\":\"6500\",\"transition\":1}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":620,"y":1240,"wires":[[]]},{"id":"2974d4f.9eee02c","type":"server-state-changed","z":"2b78f293.de5fde","name":"Test Attic motion","server":"ec37d48.f8fae28","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.presence_2","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":140,"y":1280,"wires":[["20e9ee6c.f90dc2","72407247.67a1cc"]]},{"id":"72407247.67a1cc","type":"trigger","z":"2b78f293.de5fde","name":"Switch off delay","op1":"","op2":"off","op1type":"nul","op2type":"str","duration":"5","extend":false,"overrideDelay":false,"units":"s","reset":"on","bytopic":"all","topic":"topic","outputs":1,"x":380,"y":1320,"wires":[["77293b14.f31ae4"]]},{"id":"77293b14.f31ae4","type":"api-call-service","z":"2b78f293.de5fde","name":"Attic Light Off","server":"ec37d48.f8fae28","version":1,"debugenabled":true,"service_domain":"light","service":"turn_off","entityId":"light.extended_color_light_3","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":620,"y":1320,"wires":[[]]},{"id":"149ebcc6.db8b03","type":"Circadian Light","z":"2b78f293.de5fde","lat":"2.149839","lon":"8.689817","period":"1","topic":"","name":"","x":120,"y":1180,"wires":[["b7026b60.391e38"]]},{"id":"e6243a4b.636f58","type":"debug","z":"2b78f293.de5fde","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":750,"y":1180,"wires":[]},{"id":"b7026b60.391e38","type":"range","z":"2b78f293.de5fde","minin":"0","maxin":"100","minout":"2000","maxout":"6500","action":"scale","round":true,"property":"payload.percent","name":"percent to kelvin range","x":320,"y":1180,"wires":[["9c876a2f.d58148"]]},{"id":"9c876a2f.d58148","type":"change","z":"2b78f293.de5fde","name":"Kelvin value","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.percent","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":550,"y":1180,"wires":[["e6243a4b.636f58"]]},{"id":"ec37d48.f8fae28","type":"server","name":"Home Assistant","addon":true}]


Is er iemand die me de juiste weg kan wijzen?

Acties:
  • 0 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
DeadMetal schreef op zondag 14 februari 2021 @ 12:55:
[...]


Misschien kan je deze hergebruiken en iets aanpassen (de change node voor de function node)?
DeadMetal in "Node-RED - grafisch 'programmeren' (bijv. voor domotica)"
Thanks.

Heb het iets ander aangepakt.
code:
1
[{"id":"c36f5fd.cb3e02","type":"template","z":"4bc7eca5.d66abc","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"stns={{station}}&vars=TEMP&byear={{jaar}}&bmonth={{maand}}&bday={{dag}}&eyear={{jaar}}&emonth={{maand}}&eday={{dag}}","output":"str","x":440,"y":720,"wires":[["cd9b087b.7e3a68"]]},{"id":"cd9b087b.7e3a68","type":"http request","z":"4bc7eca5.d66abc","name":"","method":"POST","ret":"txt","paytoqs":"body","url":"http://projects.knmi.nl/klimatologie/daggegevens/getdata_dag.cgi","tls":"","persist":false,"proxy":"","authType":"","x":590,"y":720,"wires":[["1a7c9bef.7ed26c"]]},{"id":"4e53527b.58562c","type":"delay","z":"4bc7eca5.d66abc","name":"","pauseType":"random","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"0","randomLast":"5","randomUnits":"minutes","drop":false,"x":280,"y":720,"wires":[["c36f5fd.cb3e02"]]},{"id":"e921470.aa2aeb8","type":"inject","z":"4bc7eca5.d66abc","name":"Eigen datum kiezen (DD, MM, YYYY","props":[{"p":"station","v":"240","vt":"str"},{"p":"dag","v":"12","vt":"str"},{"p":"maand","v":"02","vt":"str"},{"p":"jaar","v":"2021","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":200,"y":760,"wires":[["c36f5fd.cb3e02"]]},{"id":"1a7c9bef.7ed26c","type":"function","z":"4bc7eca5.d66abc","name":"eerste 1290 karakters weghalen","func":"msg.payload = msg.payload.substr(1290);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":810,"y":720,"wires":[["789da90.e6a1958"]]},{"id":"5eba6147.9b53b","type":"inject","z":"4bc7eca5.d66abc","name":"dagelijks 16u","props":[{"p":"station","v":"240","vt":"str"},{"p":"dag","v":"$moment().subtract(1,'days').format('DD')","vt":"jsonata"},{"p":"maand","v":"$moment().subtract(1,'days').format('MM')","vt":"jsonata"},{"p":"jaar","v":"$moment().subtract(1,'days').format('YYYY')","vt":"jsonata"}],"repeat":"","crontab":"00 16 * * *","once":false,"onceDelay":0.1,"topic":"","x":120,"y":720,"wires":[["4e53527b.58562c"]]},{"id":"789da90.e6a1958","type":"change","z":"4bc7eca5.d66abc","name":"delete # en spaties","rules":[{"t":"change","p":"payload","pt":"msg","from":"#","fromt":"str","to":"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":" ","fromt":"str","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1050,"y":720,"wires":[["aea8529e.d1c05"]]},{"id":"aea8529e.d1c05","type":"csv","z":"4bc7eca5.d66abc","name":"transform csv naar object","sep":",","hdrin":true,"hdrout":"none","multi":"one","ret":"\\n","temp":"","skip":"1","strings":true,"include_empty_strings":"","include_null_values":"","x":1270,"y":720,"wires":[["dfa5a565.36f068"]]},{"id":"dfa5a565.36f068","type":"function","z":"4bc7eca5.d66abc","name":"weegfactor","func":"if (msg.maand <= 02)\n{\nmsg.payload.weegfactor = 1.1 ;\n}\n\nelse if (msg.maand == 03)\n{\nmsg.payload.weegfactor = 1 ;\n}\n\nelse if (msg.maand <= 09)\n{\nmsg.payload.weegfactor = 0.8 ;\n}\n\nelse\n{\nmsg.payload.weegfactor = 1.1 ;\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1470,"y":720,"wires":[["1ac86c78.944514"]]},{"id":"1ac86c78.944514","type":"change","z":"4bc7eca5.d66abc","name":"temp omzetten & graaddagen berekenen","rules":[{"t":"set","p":"payload.TG","pt":"msg","to":"$round(( payload.TG * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.TN","pt":"msg","to":"$round(( payload.TN * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.TX","pt":"msg","to":"$round(( payload.TX * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.T10N","pt":"msg","to":"$round(( payload.T10N * 0.1),2)","tot":"jsonata"},{"t":"set","p":"payload.graaddagen","pt":"msg","to":"$round((18 - payload.TG),2)","tot":"jsonata"},{"t":"set","p":"payload.gewogengraaddagen","pt":"msg","to":"$round(((18 - payload.TG) * payload.weegfactor),2)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1720,"y":720,"wires":[["bef76c04.8e6e","27495e87.28d402","8a7801c4.7c5e7","f8d19ac1.c50c9","de101a2a.9433b"]]},{"id":"bef76c04.8e6e","type":"change","z":"4bc7eca5.d66abc","name":"gewogengraaddagen","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.gewogengraaddagen","tot":"msg"},{"t":"set","p":"entity_id","pt":"msg","to":"gewogengraaddagen","tot":"str"},{"t":"set","p":"measurement","pt":"msg","to":"gewogengraaddagen","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":2040,"y":640,"wires":[["56a048d0.38d2c"]]},{"id":"27495e87.28d402","type":"change","z":"4bc7eca5.d66abc","name":"graaddagen","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.graaddagen","tot":"msg"},{"t":"set","p":"entity_id","pt":"msg","to":"graaddagen","tot":"str"},{"t":"set","p":"measurement","pt":"msg","to":"graaddagen","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":2010,"y":680,"wires":[["56a048d0.38d2c"]]},{"id":"8a7801c4.7c5e7","type":"change","z":"4bc7eca5.d66abc","name":"maxtemp","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.TX","tot":"msg"},{"t":"set","p":"entity_id","pt":"msg","to":"maxtemp","tot":"str"},{"t":"set","p":"measurement","pt":"msg","to":"temperature","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":2000,"y":720,"wires":[["56a048d0.38d2c"]]},{"id":"f8d19ac1.c50c9","type":"change","z":"4bc7eca5.d66abc","name":"mintemp","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.TN","tot":"msg"},{"t":"set","p":"entity_id","pt":"msg","to":"mintemp","tot":"str"},{"t":"set","p":"measurement","pt":"msg","to":"temperature","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":2000,"y":760,"wires":[["56a048d0.38d2c"]]},{"id":"de101a2a.9433b","type":"change","z":"4bc7eca5.d66abc","name":"gemiddeldetemp","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.TG","tot":"msg"},{"t":"set","p":"entity_id","pt":"msg","to":"gemiddeldetemp","tot":"str"},{"t":"set","p":"measurement","pt":"msg","to":"temperature","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":2030,"y":800,"wires":[["56a048d0.38d2c"]]},{"id":"56a048d0.38d2c","type":"function","z":"4bc7eca5.d66abc","name":"","func":"var waarde = msg.payload;\nvar entiteit = msg.entity_id;\nvar dag = msg.dag;\ndag = parseInt(dag.replace(/^0+(?!\\.|$)/, ''));\nvar maand = msg.maand;\nmaand = parseInt(maand.replace(/^0+(?!\\.|$)/, '')) -1;\nvar jaar = parseInt(msg.jaar);\n\nvar datum = new Date(jaar, maand, dag, 12, 0, 0);\nvar datumnanoseconden = datum.getTime() * 1000000;\n\nvar newmsg = {};\nnewmsg.measurement = msg.measurement;\nnewmsg.datum = datum;\nnewmsg.payload = [\n{\n    value: waarde,\n    time: datumnanoseconden\n},\n{\n    domain: \"sensor\",\n    entity_id: entiteit\n}];\nreturn newmsg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":2240,"y":680,"wires":[["afe73871.57c03"]]},{"id":"afe73871.57c03","type":"change","z":"4bc7eca5.d66abc","name":"","rules":[{"t":"delete","p":"data","pt":"msg"},{"t":"delete","p":"entity_id","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":2400,"y":680,"wires":[["50e1a8ec.6b202"]]},{"id":"50e1a8ec.6b202","type":"delay","z":"4bc7eca5.d66abc","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":2570,"y":680,"wires":[["cc9c4f37.4779d","5749baa1.418524"]]},{"id":"cc9c4f37.4779d","type":"debug","z":"4bc7eca5.d66abc","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":2730,"y":640,"wires":[]},{"id":"47c9c873.eacd1","type":"comment","z":"4bc7eca5.d66abc","name":"Buitentemperatuur van gisteren ophalen bij KNMI","info":"","x":220,"y":680,"wires":[]}]
Ik probeer zoveel mogelijk weg te blijven van de function node:). Als het makkelijk kan in de change node tenminste.

Acties:
  • 0 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
kweetnie schreef op zondag 14 februari 2021 @ 17:49:
Ben sinds kort gestart met node red en home assistant. Met het nodige vallen en opstaan ben ik inmiddels alweer iets verder. Echter nu blijf ik vastlopen omdat mijn kennis en blijkbaar mijn zoekskills me in de steek laten.

Ik ben zoals velen gestart met de verlichting in te regelen. Nu heb ik voor elkaar dat mijn licht aangaat door motion en uit als er x tijd geen motion is. Ook heb ik daarbij gemaakt dat het alleen aangaat onder een bepaalde lux waarde.
Tot zover gaat het na veel puzzelen goed. Echter nu wil toevoegen dat mijn verlichting zich volgens het circadian principe aanpast. Echter ik krijg het niet voor elkaar, veel guides en forum posts bekeken, maar kom er niet uit.
Waar ik nu op vastloop is dat ik wel mijn kelvin waarde uitlees uit de payload maar heb werkelijk geen idee (niets was succesvol) om die weer te gebruiken in mijn call service data.

Ik maak gebruik van hue lampen en alles hangt aan HA via Conbee2. Nu staat in mijn flow de waarde voor Kelvin op 6500, maar dat zou ik graag als een variable zien die zijn data haalt uit de circadian node, die staat nu als debug elke minuut de waarde te "spammen".

code:
1
[{"id":"d7890d3d.9dd5d","type":"poll-state","z":"2b78f293.de5fde","name":"Attic Light Sensor","server":"ec37d48.f8fae28","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"updateinterval":"5","updateIntervalUnits":"seconds","outputinitially":false,"outputonchanged":false,"entity_id":"sensor.lightlevel_4","state_type":"str","halt_if":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"x":140,"y":1080,"wires":[["89dd29a1.142fe8"]]},{"id":"89dd29a1.142fe8","type":"switch","z":"2b78f293.de5fde","name":"Lux Threshold","property":"payload","propertyType":"msg","rules":[{"t":"lte","v":"60","vt":"num"},{"t":"gte","v":"61","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":360,"y":1080,"wires":[["4f85fb84.b0c554"],["5960e550.d77cdc"]]},{"id":"4f85fb84.b0c554","type":"change","z":"2b78f293.de5fde","name":"Enable Light","rules":[{"t":"set","p":"Light_enabled","pt":"flow","to":"Yes","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":1040,"wires":[[]]},{"id":"5960e550.d77cdc","type":"change","z":"2b78f293.de5fde","name":"Disable Light","rules":[{"t":"set","p":"Light_enabled","pt":"flow","to":"No","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":1100,"wires":[[]]},{"id":"20e9ee6c.f90dc2","type":"switch","z":"2b78f293.de5fde","name":"Light Enabled?","property":"Light_enabled","propertyType":"flow","rules":[{"t":"eq","v":"Yes","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":380,"y":1240,"wires":[["7eeb802c.40591"]]},{"id":"7eeb802c.40591","type":"api-call-service","z":"2b78f293.de5fde","name":"Attic Light On","server":"ec37d48.f8fae28","version":1,"debugenabled":true,"service_domain":"light","service":"turn_on","entityId":"light.extended_color_light_3","data":"{\"brightness_pct\":\"100\",\"kelvin\":\"6500\",\"transition\":1}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":620,"y":1240,"wires":[[]]},{"id":"2974d4f.9eee02c","type":"server-state-changed","z":"2b78f293.de5fde","name":"Test Attic motion","server":"ec37d48.f8fae28","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.presence_2","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":140,"y":1280,"wires":[["20e9ee6c.f90dc2","72407247.67a1cc"]]},{"id":"72407247.67a1cc","type":"trigger","z":"2b78f293.de5fde","name":"Switch off delay","op1":"","op2":"off","op1type":"nul","op2type":"str","duration":"5","extend":false,"overrideDelay":false,"units":"s","reset":"on","bytopic":"all","topic":"topic","outputs":1,"x":380,"y":1320,"wires":[["77293b14.f31ae4"]]},{"id":"77293b14.f31ae4","type":"api-call-service","z":"2b78f293.de5fde","name":"Attic Light Off","server":"ec37d48.f8fae28","version":1,"debugenabled":true,"service_domain":"light","service":"turn_off","entityId":"light.extended_color_light_3","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":620,"y":1320,"wires":[[]]},{"id":"149ebcc6.db8b03","type":"Circadian Light","z":"2b78f293.de5fde","lat":"52.143839","lon":"4.689017","period":"1","topic":"","name":"","x":120,"y":1180,"wires":[["b7026b60.391e38"]]},{"id":"e6243a4b.636f58","type":"debug","z":"2b78f293.de5fde","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":750,"y":1180,"wires":[]},{"id":"b7026b60.391e38","type":"range","z":"2b78f293.de5fde","minin":"0","maxin":"100","minout":"2000","maxout":"6500","action":"scale","round":true,"property":"payload.percent","name":"percent to kelvin range","x":320,"y":1180,"wires":[["9c876a2f.d58148"]]},{"id":"9c876a2f.d58148","type":"change","z":"2b78f293.de5fde","name":"Kelvin value","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.percent","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":550,"y":1180,"wires":[["e6243a4b.636f58"]]},{"id":"ec37d48.f8fae28","type":"server","name":"Home Assistant","addon":true}]


Is er iemand die me de juiste weg kan wijzen?
Jahoor. Je kan de kelvin value ook in een flow zetten. De flow.kelvinvalue (oid) kun je vervolgens aanroepen in je call service. Daar heb je nu staan: "6500" , daar maak je dan van "{{flow.kelvinvalue}}" .

Acties:
  • 0 Henk 'm!

  • H143
  • Registratie: Juli 2006
  • Laatst online: 12:20
ik heb op het moment 2 node red configuratie's draaien
1 beneden met daar op al mijn automations
en 1 boven op zolder op een raspberry pi om mijn wp uit te lezen dmv modbus.

is het ook mogelijk om deze 2 te combineren zodat ik al mijn flow's vanaf 1 systeem kan aanpassen?

Acties:
  • 0 Henk 'm!

  • Robindd
  • Registratie: December 2012
  • Laatst online: 14-09 09:09
H143 schreef op maandag 15 februari 2021 @ 11:32:
ik heb op het moment 2 node red configuratie's draaien
1 beneden met daar op al mijn automations
en 1 boven op zolder op een raspberry pi om mijn wp uit te lezen dmv modbus.

is het ook mogelijk om deze 2 te combineren zodat ik al mijn flow's vanaf 1 systeem kan aanpassen?
Je kan toch alles van beneden (draadloos alles?) naar boven toe kopieren en daarop laten draaien?

PVOutput Youless - 9600Wp OZO+WNW | 38° | Goodwe GW6K-DT | Mitsubishi PUHZ-SW75YAA + ERSD-VM2D | Zonneplan Nexus | Gasloos


Acties:
  • 0 Henk 'm!

  • kweetnie
  • Registratie: December 2000
  • Laatst online: 13-09 20:30
denuz schreef op maandag 15 februari 2021 @ 10:22:
[...]

Jahoor. Je kan de kelvin value ook in een flow zetten. De flow.kelvinvalue (oid) kun je vervolgens aanroepen in je call service. Daar heb je nu staan: "6500" , daar maak je dan van "{{flow.kelvinvalue}}" .
Dacht leek mij ook, echter ik heb nu al zoveel varianten op die {{flow.xx}} getest en niets werkt. Ik doe zeker weten iets verkeerd, maar ik snap/zie echt niet wat.

Ook als ik het anders aanpak zoals bijvoorbeeld op deze manier:
Afbeeldingslocatie: https://tweakers.net/i/2iWKrMOK4C1LTPBbjK7L2_mFkmE=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/OEhR5KpJmH9vZRyaOLekMurX.jpg?f=user_large

Dan doet eerst die Circadian wat output geven, die zet ik om van percent naar een kelvin range, vervolgens bewerk ik die payload om enkel het getal voor kelvin over te houden.
En dan een simpele timestamp trigger naar template die het volgende doet:
Afbeeldingslocatie: https://tweakers.net/i/NFX3BhDHmS-5vhslomClysF6bOw=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/kpeBNS1o7KZGY3l9SR3Rvx7z.jpg?f=user_large

Echter dan krijg ik de melding:
15-2-2021 13:48:50node: Attic Light On (Kelvin)
msg : string[90]
"Call-service API error. Error Message: expected int for dictionary value @ data['kelvin']"

Dus blijkbaar is het in het verkeerde format? hoe pas ik dit aan?
En het zou toch niet zo moeilijk moeten zijn om een deel van de msg.payload uit een flow te gebruiken als data voor een service call?
Eerste stuk gaat wel goed:
15-2-2021 13:54:47node: e6243a4b.636f58
msg.payload : Object
{ azimuth: 0.27515707152978897, altitude: 0.4189331317161384, percent: 95.13632141730503 }

Dan aanpassen naar:
15-2-2021 13:54:47node: e6243a4b.636f58
msg.payload : Object
{ azimuth: 0.27515707152978897, altitude: 0.4189331317161384, percent: 6281 }

En dan geeft mijn debug msg output netjes
15-2-2021 13:57:47node: Kelvin_Value
msg.payload : number
6258

Ik zoek de dus een manier om die percent: 6281 als value voor kelvin in een service call te gebruiken. Maar kom er echt niet uit....

Hier de code:
code:
1
[{"id":"c82ca60c.bfa4a8","type":"debug","z":"74ddc44.7ef623c","name":"Kelvin_Value","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":670,"y":1000,"wires":[]},{"id":"8d03952.e7b1468","type":"Circadian Light","z":"74ddc44.7ef623c","lat":"2.149839","lon":"8.689817","period":"1","topic":"","name":"","x":120,"y":1000,"wires":[["d6ff582c.304eb8"]]},{"id":"d6ff582c.304eb8","type":"range","z":"74ddc44.7ef623c","minin":"0","maxin":"100","minout":"2000","maxout":"6500","action":"scale","round":true,"property":"payload.percent","name":"percent to kelvin range","x":320,"y":1000,"wires":[["6fb85563.befe1c"]]},{"id":"6fb85563.befe1c","type":"change","z":"74ddc44.7ef623c","name":"Kelvin","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.percent","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":1000,"wires":[["c82ca60c.bfa4a8"]]},{"id":"65e8d7d7.d45528","type":"inject","z":"74ddc44.7ef623c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":120,"y":1060,"wires":[["87ef8066.8f3f3"]]},{"id":"d10c9aaa.829ee8","type":"api-call-service","z":"74ddc44.7ef623c","name":"Attic Light On (Kelvin)","server":"ec37d48.f8fae28","version":1,"debugenabled":true,"service_domain":"light","service":"turn_on","entityId":"light.extended_color_light_3","data":"{\"brightness_pct\":\"100\",\"kelvin\":\"{{flow.Kelvin}}\",\"transition\":1}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":460,"y":1060,"wires":[[]]},{"id":"87ef8066.8f3f3","type":"template","z":"74ddc44.7ef623c","name":"Kelvin","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\"data\" : { \"kelvin\" : {{flow.Kelvin}} } }","output":"str","x":270,"y":1060,"wires":[["d10c9aaa.829ee8"]]},{"id":"ec37d48.f8fae28","type":"server","name":"Home Assistant","addon":true}]

Acties:
  • 0 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

Welke database gebruiken jullie met Node Red? Ik ben m'n systeem aan het migreren van een Raspi 3B+ naar een Odroid C4. Ik had een InfluxDB versie 1.8 op de Raspi 3B+. Upgraden naar 2.0 kan niet vanwege 32 bit OS.

Op de nieuwe Odroid C4 (64-bit) had ik InfluxDB 2.0 geïnstalleerd, maar het lukt niet om met backup/restore dat te regelen. Enige mogelijkheid om het netjes te doen is toch 1.8 op de Odroid te installeren en dan verder te upgraden.

Daarbij mis ik toch wel heel erg een GUI voor de database, zoals PHPMyAdmin. Dingen die met SQL super simpel zijn, zijn bij InfluxDB opeens heel complex. Even een veld toevoegen in een tabel? Nog niet gelezen hoe dat kan vanaf de commandline. Rare meetwaarde even aanpassen, ik zou het niet weten. Het gaat een beetje ver omdat via Node Red te moeten regelen.

Wat gebruiken jullie? Waarom? Tevreden?

A'dam PVOutput


Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 09:02

Gizz

Dunder-Mifflin, Inc.

@ericplan Ik gebruik deze docker container op mijn Synology, Lekker makkelijk alles bij elkaar, heb me er verder niet in verdiept :P

Volgens mij heb je in de GUI qua administration veel meer mogelijkheden in InfluxDB 2.0.
Kunnen sommige dingen die jij noemt bij <2.0 niet met Chronograf? Wederom: ik heb me daar niet in verdiept.

Canon EOS 5Dm3 + 5D + 7D + 300D + 1000FN + EF 17-40 4L + EF 35 1.4L + EF 50 1.8 + EF 80-200 2.8L + 550EX


Acties:
  • 0 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
kweetnie schreef op maandag 15 februari 2021 @ 14:02:
[...]


Dacht leek mij ook, echter ik heb nu al zoveel varianten op die {{flow.xx}} getest en niets werkt. Ik doe zeker weten iets verkeerd, maar ik snap/zie echt niet wat.

Ook als ik het anders aanpak zoals bijvoorbeeld op deze manier:
[Afbeelding]

Dan doet eerst die Circadian wat output geven, die zet ik om van percent naar een kelvin range, vervolgens bewerk ik die payload om enkel het getal voor kelvin over te houden.
En dan een simpele timestamp trigger naar template die het volgende doet:
[Afbeelding]

Echter dan krijg ik de melding:
15-2-2021 13:48:50node: Attic Light On (Kelvin)
msg : string[90]
"Call-service API error. Error Message: expected int for dictionary value @ data['kelvin']"

Dus blijkbaar is het in het verkeerde format? hoe pas ik dit aan?
En het zou toch niet zo moeilijk moeten zijn om een deel van de msg.payload uit een flow te gebruiken als data voor een service call?
Eerste stuk gaat wel goed:
15-2-2021 13:54:47node: e6243a4b.636f58
msg.payload : Object
{ azimuth: 0.27515707152978897, altitude: 0.4189331317161384, percent: 95.13632141730503 }

Dan aanpassen naar:
15-2-2021 13:54:47node: e6243a4b.636f58
msg.payload : Object
{ azimuth: 0.27515707152978897, altitude: 0.4189331317161384, percent: 6281 }

En dan geeft mijn debug msg output netjes
15-2-2021 13:57:47node: Kelvin_Value
msg.payload : number
6258

Ik zoek de dus een manier om die percent: 6281 als value voor kelvin in een service call te gebruiken. Maar kom er echt niet uit....

Hier de code:
code:
1
[{"id":"c82ca60c.bfa4a8","type":"debug","z":"74ddc44.7ef623c","name":"Kelvin_Value","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":670,"y":1000,"wires":[]},{"id":"8d03952.e7b1468","type":"Circadian Light","z":"74ddc44.7ef623c","lat":"52.143839","lon":"4.689017","period":"1","topic":"","name":"","x":120,"y":1000,"wires":[["d6ff582c.304eb8"]]},{"id":"d6ff582c.304eb8","type":"range","z":"74ddc44.7ef623c","minin":"0","maxin":"100","minout":"2000","maxout":"6500","action":"scale","round":true,"property":"payload.percent","name":"percent to kelvin range","x":320,"y":1000,"wires":[["6fb85563.befe1c"]]},{"id":"6fb85563.befe1c","type":"change","z":"74ddc44.7ef623c","name":"Kelvin","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.percent","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":1000,"wires":[["c82ca60c.bfa4a8"]]},{"id":"65e8d7d7.d45528","type":"inject","z":"74ddc44.7ef623c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":120,"y":1060,"wires":[["87ef8066.8f3f3"]]},{"id":"d10c9aaa.829ee8","type":"api-call-service","z":"74ddc44.7ef623c","name":"Attic Light On (Kelvin)","server":"ec37d48.f8fae28","version":1,"debugenabled":true,"service_domain":"light","service":"turn_on","entityId":"light.extended_color_light_3","data":"{\"brightness_pct\":\"100\",\"kelvin\":\"{{flow.Kelvin}}\",\"transition\":1}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":460,"y":1060,"wires":[[]]},{"id":"87ef8066.8f3f3","type":"template","z":"74ddc44.7ef623c","name":"Kelvin","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\"data\" : { \"kelvin\" : {{flow.Kelvin}} } }","output":"str","x":270,"y":1060,"wires":[["d10c9aaa.829ee8"]]},{"id":"ec37d48.f8fae28","type":"server","name":"Home Assistant","addon":true}]
Je change Kelvin node is onjuist. Daarnaast is je Kelvin template overbodig. Je specificeert namelijk in je call service.
Ik heb het voor je aangepast
code:
1
[{"id":"c82ca60c.bfa4a8","type":"debug","z":"2838595f.c700c6","name":"Kelvin_Value","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":810,"y":2100,"wires":[]},{"id":"d6ff582c.304eb8","type":"range","z":"2838595f.c700c6","minin":"0","maxin":"100","minout":"2000","maxout":"6500","action":"scale","round":true,"property":"payload.percent","name":"percent to kelvin range","x":390,"y":2060,"wires":[["6fb85563.befe1c"]]},{"id":"6fb85563.befe1c","type":"change","z":"2838595f.c700c6","name":"Kelvin","rules":[{"t":"set","p":"Kelvin","pt":"flow","to":"payload.percent","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":2100,"wires":[["c82ca60c.bfa4a8"]]},{"id":"65e8d7d7.d45528","type":"inject","z":"2838595f.c700c6","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":260,"y":2160,"wires":[["d10c9aaa.829ee8"]]},{"id":"d10c9aaa.829ee8","type":"api-call-service","z":"2838595f.c700c6","name":"Attic Light On (Kelvin)","server":"8c51b0bb.698c3","version":1,"debugenabled":true,"service_domain":"light","service":"turn_on","entityId":"light.extended_color_light_3","data":"{\"brightness_pct\":\"100\",\"kelvin\":\"{{{flow.Kelvin}}}\",\"transition\":1}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":600,"y":2160,"wires":[[]]},{"id":"8d03952.e7b1468","type":"Circadian Light","z":"2838595f.c700c6","lat":"52.143839","lon":"4.689017","period":"1","topic":"","name":"","x":120,"y":2080,"wires":[["d6ff582c.304eb8"]]},{"id":"8c51b0bb.698c3","type":"server","name":"Home Assistant","addon":true}]

en.. om je gerust te stellen. Tegen dit soort dingen loop je wel is aan, zeker als je net begint. Komt goed ;)

Acties:
  • 0 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

Om maar direct mezelf te antwoorden, het is een MariaDB geworden. Die, zo bedacht ik later, heb ik al draaien op m'n NAS. Beetje stom dat ik daar niet eerder aan gedacht heb. De Synology draait op SSD's, dus het geeft ook verder geen lawaai.

A'dam PVOutput


Acties:
  • 0 Henk 'm!

  • kweetnie
  • Registratie: December 2000
  • Laatst online: 13-09 20:30
denuz schreef op maandag 15 februari 2021 @ 16:15:
[...]


Je change Kelvin node is onjuist. Daarnaast is je Kelvin template overbodig. Je specificeert namelijk in je call service.
Ik heb het voor je aangepast
code:
1
[{"id":"c82ca60c.bfa4a8","type":"debug","z":"2838595f.c700c6","name":"Kelvin_Value","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":810,"y":2100,"wires":[]},{"id":"d6ff582c.304eb8","type":"range","z":"2838595f.c700c6","minin":"0","maxin":"100","minout":"2000","maxout":"6500","action":"scale","round":true,"property":"payload.percent","name":"percent to kelvin range","x":390,"y":2060,"wires":[["6fb85563.befe1c"]]},{"id":"6fb85563.befe1c","type":"change","z":"2838595f.c700c6","name":"Kelvin","rules":[{"t":"set","p":"Kelvin","pt":"flow","to":"payload.percent","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":2100,"wires":[["c82ca60c.bfa4a8"]]},{"id":"65e8d7d7.d45528","type":"inject","z":"2838595f.c700c6","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":260,"y":2160,"wires":[["d10c9aaa.829ee8"]]},{"id":"d10c9aaa.829ee8","type":"api-call-service","z":"2838595f.c700c6","name":"Attic Light On (Kelvin)","server":"8c51b0bb.698c3","version":1,"debugenabled":true,"service_domain":"light","service":"turn_on","entityId":"light.extended_color_light_3","data":"{\"brightness_pct\":\"100\",\"kelvin\":\"{{{flow.Kelvin}}}\",\"transition\":1}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":600,"y":2160,"wires":[[]]},{"id":"8d03952.e7b1468","type":"Circadian Light","z":"2838595f.c700c6","lat":"52.143839","lon":"4.689017","period":"1","topic":"","name":"","x":120,"y":2080,"wires":[["d6ff582c.304eb8"]]},{"id":"8c51b0bb.698c3","type":"server","name":"Home Assistant","addon":true}]

en.. om je gerust te stellen. Tegen dit soort dingen loop je wel is aan, zeker als je net begint. Komt goed ;)
!! super! thanks! het werkt nu idd. Geen 2x { maar 3x... pfff ik wist dat het iets simpels moest zijn.
Nu kan ik weer verder met het bouwen aan iets dat ook de lichtsterkte (brightness) automatisch om bepaalde tijden doet.

Acties:
  • 0 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
kweetnie schreef op maandag 15 februari 2021 @ 17:54:
[...]


!! super! thanks! het werkt nu idd. Geen 2x { maar 3x... pfff ik wist dat het iets simpels moest zijn.
Nu kan ik weer verder met het bouwen aan iets dat ook de lichtsterkte (brightness) automatisch om bepaalde tijden doet.
Die {{{ of {{ maken het verschil niet hoor. Kijk maar naar je oude en naar je nieuwe flow. In sommige gevallen maken 2 of 3 {{}} wel uit. Maar in dit geval niet.
En als je Home assistant gebruikt kun je ook dit gebruiken.

Acties:
  • 0 Henk 'm!

  • kweetnie
  • Registratie: December 2000
  • Laatst online: 13-09 20:30
denuz schreef op maandag 15 februari 2021 @ 17:58:
[...]

Die {{{ of {{ maken het verschil niet hoor. Kijk maar naar je oude en naar je nieuwe flow. In sommige gevallen maken 2 of 3 {{}} wel uit. Maar in dit geval niet.
En als je Home assistant gebruikt kun je ook dit gebruiken.
Ah oke, dan was het puur die flow.Kelvin die ik op msg.Kelvin had staan. Ieder geval bedankt! ben hier echt al heel wat uurtjes aan kwijt geweest.

En ja ik gebruik home assistant, nu zit "alles" nog in Homey, maar dat is niet helemaal wat ik zoek. Dus ben druk bezig met bouwen en migreren naar HA. Had inderdaad ook al die HA addon gevonden, maar wil graag alle automatiseringen via NR laten lopen. Dat is ook na een lange tijd, voor een niet kenner/programmeur nog redelijk goed te lezen en snappen als er iets aangepast moet worden. En wil graag HA zoveel mogelijk "puur" houden. Maar sta altijd open voor tips en suggesties als het anders beter kan.

Nu weer verder met prutsen, voor een tijdgeschakelde lichtsterkte. Heb nu verschillende tijdsblokken met dan weer aparte "Lights On 100%" , 'Lights On 80%" etc. schakeling, maar ook dat moet beter/overzichtelijker kunnen.

Acties:
  • 0 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
kweetnie schreef op maandag 15 februari 2021 @ 18:21:
[...]


Ah oke, dan was het puur die flow.Kelvin die ik op msg.Kelvin had staan. Ieder geval bedankt! ben hier echt al heel wat uurtjes aan kwijt geweest.

En ja ik gebruik home assistant, nu zit "alles" nog in Homey, maar dat is niet helemaal wat ik zoek. Dus ben druk bezig met bouwen en migreren naar HA. Had inderdaad ook al die HA addon gevonden, maar wil graag alle automatiseringen via NR laten lopen. Dat is ook na een lange tijd, voor een niet kenner/programmeur nog redelijk goed te lezen en snappen als er iets aangepast moet worden. En wil graag HA zoveel mogelijk "puur" houden. Maar sta altijd open voor tips en suggesties als het anders beter kan.

Nu weer verder met prutsen, voor een tijdgeschakelde lichtsterkte. Heb nu verschillende tijdsblokken met dan weer aparte "Lights On 100%" , 'Lights On 80%" etc. schakeling, maar ook dat moet beter/overzichtelijker kunnen.
Ik snap dat je alle automations in home assistant wil hebben... maar de link die ik je stuurde is geen automation. Je geeft enkel in de config op welke lampen onder circadian light vallen. Vervolgens wordt alles geregeld. Je hebt een switch die je on/off kan doen. Je doet verder dus niets in HA. Qua gebruikersgemak is dat wel een aanrader. Al blijft het natuurlijk leuk om zelf dingen te doen :).

Acties:
  • 0 Henk 'm!

  • kweetnie
  • Registratie: December 2000
  • Laatst online: 13-09 20:30
Gelijk een volgende vraag, hoe krijg ik voor elkaar dat dit:
Afbeeldingslocatie: https://tweakers.net/i/RRN8Y95PP-SxVEI-giJuyKBO3dM=/800x/filters:strip_icc():strip_exif()/f/image/aFTprAQ6H1xdTStqHj5oNmbl.jpg?f=fotoalbum_large

Net als bij Kelvin een bruikbare variable wordt? Die ik dus weer binnen de service kan aanroepen.

Doel is zeg maar om bij verschillende tijdsloten verschillende brightness te gebruiken. Dus heb ik ter illustratie bovenstaande gemaakt, met een debug node. Maar dat zou dus de waarde moeten worden die ik weer bij mijn call service als data will gebruiken. Zodoende kan ik het gelijk gebruiken voor al mijn verlichting en hoef ik niet apart alles per lichtset aan te geven.

Zoals ik hier doe:
Afbeeldingslocatie: https://tweakers.net/i/CbG7HrAZvxHeCzG5YfGbJeq4aVo=/800x/filters:strip_icc():strip_exif()/f/image/Zzx3Uzs91eIU1YHM9lPyaGw3.jpg?f=fotoalbum_large

Zit genoeg met switch en change nodes te proberen. Maar krijg het nog niet voor elkaar.
Kan me overigens voorstellen dat er betere mooiere methodes zijn als de "tijdlus" die ik nu heb gemaakt...


code:
1
[{"id":"149ebcc6.db8b03","type":"Circadian Light","z":"2b78f293.de5fde","lat":"52.143839","lon":"4.689017","period":"1","topic":"","name":"Light Temperature","x":130,"y":260,"wires":[["b7026b60.391e38"]]},{"id":"b7026b60.391e38","type":"range","z":"2b78f293.de5fde","minin":"0","maxin":"100","minout":"2000","maxout":"6500","action":"scale","round":true,"property":"payload.percent","name":"percent to kelvin range","x":360,"y":260,"wires":[["9c876a2f.d58148"]]},{"id":"9c876a2f.d58148","type":"change","z":"2b78f293.de5fde","name":"Kelvin","rules":[{"t":"set","p":"Kelvin","pt":"flow","to":"payload.percent","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":260,"wires":[[]]},{"id":"fe81e1c7.e57c7","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 06:01-08:00","lat":"","lon":"","startTime":"06:01","endTime":"08:00","startOffset":0,"endOffset":0,"x":450,"y":320,"wires":[["b473598b.c6b188"],["583c5acb.839644"]]},{"id":"583c5acb.839644","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 08:01-10:00","lat":"","lon":"","startTime":"08:01","endTime":"10:00","startOffset":0,"endOffset":0,"x":450,"y":380,"wires":[["1f712b90.854254"],["a18283c0.b7485"]]},{"id":"a18283c0.b7485","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 10:01-19:00","lat":"","lon":"","startTime":"10:01","endTime":"19:00","startOffset":0,"endOffset":0,"x":450,"y":440,"wires":[["197ba111.c0369f"],["6ccf6980.cc1ef8"]]},{"id":"6ccf6980.cc1ef8","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 19:01 - 21:00","lat":"","lon":"","startTime":"19:01","endTime":"21:00","startOffset":0,"endOffset":0,"x":450,"y":500,"wires":[["1f712b90.854254"],["c6e6b3ac.d3282"]]},{"id":"c6e6b3ac.d3282","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 21:01 - 22:00","lat":"","lon":"","startTime":"21:01","endTime":"22:00","startOffset":0,"endOffset":0,"x":450,"y":560,"wires":[["b473598b.c6b188"],["c5481b7c.b830d8"]]},{"id":"c5481b7c.b830d8","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 22:01 - 23:00","lat":"","lon":"","startTime":"22:01","endTime":"23:00","startOffset":0,"endOffset":0,"x":450,"y":620,"wires":[["5442d1ff.496ed"],["c250af7d.916bd"]]},{"id":"c250af7d.916bd","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 23:01 - 06:00","lat":"","lon":"","startTime":"23:01","endTime":"06:00","startOffset":0,"endOffset":0,"x":450,"y":680,"wires":[["13f4cb9a.f0e024"],[]]},{"id":"2861ae6b.acf402","type":"inject","z":"2b78f293.de5fde","name":"Check 15 min","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"900","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":140,"y":320,"wires":[["fe81e1c7.e57c7"]]},{"id":"197ba111.c0369f","type":"debug","z":"2b78f293.de5fde","name":"100%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":320,"wires":[]},{"id":"1f712b90.854254","type":"debug","z":"2b78f293.de5fde","name":"70%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":380,"wires":[]},{"id":"b473598b.c6b188","type":"debug","z":"2b78f293.de5fde","name":"40%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":440,"wires":[]},{"id":"5442d1ff.496ed","type":"debug","z":"2b78f293.de5fde","name":"10%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":500,"wires":[]},{"id":"13f4cb9a.f0e024","type":"debug","z":"2b78f293.de5fde","name":"1%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":560,"wires":[]}]

Acties:
  • 0 Henk 'm!

  • Snoekieboe
  • Registratie: December 2000
  • Laatst online: 10-10-2024
kweetnie schreef op maandag 15 februari 2021 @ 20:32:
Gelijk een volgende vraag, hoe krijg ik voor elkaar dat dit.......
Dan vind je dit waarschijnlijk ook wel leuk.

Circadian lights, verlichting die dezelfde kleur aanneemt als de kleurtemp buiten en meeveranderd gedurende de dag.


Afbeeldingslocatie: https://tweakers.net/i/wVJF_ably8ybuwadApJ_SxWSusc=/800x/filters:strip_exif()/f/image/mSOg6gpFKflgsdJ8CziOJRMm.png?f=fotoalbum_large

8000WP op Z-W & 1800WP op Z


Acties:
  • 0 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
kweetnie schreef op maandag 15 februari 2021 @ 20:32:
Gelijk een volgende vraag, hoe krijg ik voor elkaar dat dit:
[Afbeelding]

Net als bij Kelvin een bruikbare variable wordt? Die ik dus weer binnen de service kan aanroepen.

Doel is zeg maar om bij verschillende tijdsloten verschillende brightness te gebruiken. Dus heb ik ter illustratie bovenstaande gemaakt, met een debug node. Maar dat zou dus de waarde moeten worden die ik weer bij mijn call service als data will gebruiken. Zodoende kan ik het gelijk gebruiken voor al mijn verlichting en hoef ik niet apart alles per lichtset aan te geven.

Zoals ik hier doe:
[Afbeelding]

Zit genoeg met switch en change nodes te proberen. Maar krijg het nog niet voor elkaar.
Kan me overigens voorstellen dat er betere mooiere methodes zijn als de "tijdlus" die ik nu heb gemaakt...


code:
1
[{"id":"149ebcc6.db8b03","type":"Circadian Light","z":"2b78f293.de5fde","lat":"52.143839","lon":"4.689017","period":"1","topic":"","name":"Light Temperature","x":130,"y":260,"wires":[["b7026b60.391e38"]]},{"id":"b7026b60.391e38","type":"range","z":"2b78f293.de5fde","minin":"0","maxin":"100","minout":"2000","maxout":"6500","action":"scale","round":true,"property":"payload.percent","name":"percent to kelvin range","x":360,"y":260,"wires":[["9c876a2f.d58148"]]},{"id":"9c876a2f.d58148","type":"change","z":"2b78f293.de5fde","name":"Kelvin","rules":[{"t":"set","p":"Kelvin","pt":"flow","to":"payload.percent","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":260,"wires":[[]]},{"id":"fe81e1c7.e57c7","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 06:01-08:00","lat":"","lon":"","startTime":"06:01","endTime":"08:00","startOffset":0,"endOffset":0,"x":450,"y":320,"wires":[["b473598b.c6b188"],["583c5acb.839644"]]},{"id":"583c5acb.839644","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 08:01-10:00","lat":"","lon":"","startTime":"08:01","endTime":"10:00","startOffset":0,"endOffset":0,"x":450,"y":380,"wires":[["1f712b90.854254"],["a18283c0.b7485"]]},{"id":"a18283c0.b7485","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 10:01-19:00","lat":"","lon":"","startTime":"10:01","endTime":"19:00","startOffset":0,"endOffset":0,"x":450,"y":440,"wires":[["197ba111.c0369f"],["6ccf6980.cc1ef8"]]},{"id":"6ccf6980.cc1ef8","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 19:01 - 21:00","lat":"","lon":"","startTime":"19:01","endTime":"21:00","startOffset":0,"endOffset":0,"x":450,"y":500,"wires":[["1f712b90.854254"],["c6e6b3ac.d3282"]]},{"id":"c6e6b3ac.d3282","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 21:01 - 22:00","lat":"","lon":"","startTime":"21:01","endTime":"22:00","startOffset":0,"endOffset":0,"x":450,"y":560,"wires":[["b473598b.c6b188"],["c5481b7c.b830d8"]]},{"id":"c5481b7c.b830d8","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 22:01 - 23:00","lat":"","lon":"","startTime":"22:01","endTime":"23:00","startOffset":0,"endOffset":0,"x":450,"y":620,"wires":[["5442d1ff.496ed"],["c250af7d.916bd"]]},{"id":"c250af7d.916bd","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 23:01 - 06:00","lat":"","lon":"","startTime":"23:01","endTime":"06:00","startOffset":0,"endOffset":0,"x":450,"y":680,"wires":[["13f4cb9a.f0e024"],[]]},{"id":"2861ae6b.acf402","type":"inject","z":"2b78f293.de5fde","name":"Check 15 min","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"900","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":140,"y":320,"wires":[["fe81e1c7.e57c7"]]},{"id":"197ba111.c0369f","type":"debug","z":"2b78f293.de5fde","name":"100%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":320,"wires":[]},{"id":"1f712b90.854254","type":"debug","z":"2b78f293.de5fde","name":"70%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":380,"wires":[]},{"id":"b473598b.c6b188","type":"debug","z":"2b78f293.de5fde","name":"40%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":440,"wires":[]},{"id":"5442d1ff.496ed","type":"debug","z":"2b78f293.de5fde","name":"10%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":500,"wires":[]},{"id":"13f4cb9a.f0e024","type":"debug","z":"2b78f293.de5fde","name":"1%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":560,"wires":[]}]
Kan hetzelfde.Alle time nodes verbind je met een change node. Set flow.helderheid to number 10 (of 20) etc. Vervolgens kun je bij het aanroepen van je call service weer "{{flow.helderheid}}" gebruiken.

Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
kweetnie schreef op maandag 15 februari 2021 @ 20:32:
Gelijk een volgende vraag, hoe krijg ik voor elkaar dat dit:
[Afbeelding]

Net als bij Kelvin een bruikbare variable wordt? Die ik dus weer binnen de service kan aanroepen.

Doel is zeg maar om bij verschillende tijdsloten verschillende brightness te gebruiken. Dus heb ik ter illustratie bovenstaande gemaakt, met een debug node. Maar dat zou dus de waarde moeten worden die ik weer bij mijn call service als data will gebruiken. Zodoende kan ik het gelijk gebruiken voor al mijn verlichting en hoef ik niet apart alles per lichtset aan te geven.

Zoals ik hier doe:
[Afbeelding]

Zit genoeg met switch en change nodes te proberen. Maar krijg het nog niet voor elkaar.
Kan me overigens voorstellen dat er betere mooiere methodes zijn als de "tijdlus" die ik nu heb gemaakt...


code:
1
[{"id":"149ebcc6.db8b03","type":"Circadian Light","z":"2b78f293.de5fde","lat":"52.143839","lon":"4.689017","period":"1","topic":"","name":"Light Temperature","x":130,"y":260,"wires":[["b7026b60.391e38"]]},{"id":"b7026b60.391e38","type":"range","z":"2b78f293.de5fde","minin":"0","maxin":"100","minout":"2000","maxout":"6500","action":"scale","round":true,"property":"payload.percent","name":"percent to kelvin range","x":360,"y":260,"wires":[["9c876a2f.d58148"]]},{"id":"9c876a2f.d58148","type":"change","z":"2b78f293.de5fde","name":"Kelvin","rules":[{"t":"set","p":"Kelvin","pt":"flow","to":"payload.percent","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":260,"wires":[[]]},{"id":"fe81e1c7.e57c7","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 06:01-08:00","lat":"","lon":"","startTime":"06:01","endTime":"08:00","startOffset":0,"endOffset":0,"x":450,"y":320,"wires":[["b473598b.c6b188"],["583c5acb.839644"]]},{"id":"583c5acb.839644","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 08:01-10:00","lat":"","lon":"","startTime":"08:01","endTime":"10:00","startOffset":0,"endOffset":0,"x":450,"y":380,"wires":[["1f712b90.854254"],["a18283c0.b7485"]]},{"id":"a18283c0.b7485","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 10:01-19:00","lat":"","lon":"","startTime":"10:01","endTime":"19:00","startOffset":0,"endOffset":0,"x":450,"y":440,"wires":[["197ba111.c0369f"],["6ccf6980.cc1ef8"]]},{"id":"6ccf6980.cc1ef8","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 19:01 - 21:00","lat":"","lon":"","startTime":"19:01","endTime":"21:00","startOffset":0,"endOffset":0,"x":450,"y":500,"wires":[["1f712b90.854254"],["c6e6b3ac.d3282"]]},{"id":"c6e6b3ac.d3282","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 21:01 - 22:00","lat":"","lon":"","startTime":"21:01","endTime":"22:00","startOffset":0,"endOffset":0,"x":450,"y":560,"wires":[["b473598b.c6b188"],["c5481b7c.b830d8"]]},{"id":"c5481b7c.b830d8","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 22:01 - 23:00","lat":"","lon":"","startTime":"22:01","endTime":"23:00","startOffset":0,"endOffset":0,"x":450,"y":620,"wires":[["5442d1ff.496ed"],["c250af7d.916bd"]]},{"id":"c250af7d.916bd","type":"time-range-switch","z":"2b78f293.de5fde","name":"Time 23:01 - 06:00","lat":"","lon":"","startTime":"23:01","endTime":"06:00","startOffset":0,"endOffset":0,"x":450,"y":680,"wires":[["13f4cb9a.f0e024"],[]]},{"id":"2861ae6b.acf402","type":"inject","z":"2b78f293.de5fde","name":"Check 15 min","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"900","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":140,"y":320,"wires":[["fe81e1c7.e57c7"]]},{"id":"197ba111.c0369f","type":"debug","z":"2b78f293.de5fde","name":"100%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":320,"wires":[]},{"id":"1f712b90.854254","type":"debug","z":"2b78f293.de5fde","name":"70%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":380,"wires":[]},{"id":"b473598b.c6b188","type":"debug","z":"2b78f293.de5fde","name":"40%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":440,"wires":[]},{"id":"5442d1ff.496ed","type":"debug","z":"2b78f293.de5fde","name":"10%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":500,"wires":[]},{"id":"13f4cb9a.f0e024","type":"debug","z":"2b78f293.de5fde","name":"1%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":560,"wires":[]}]
zoiets?
code:
1
[{"id":"a18283c0.b7485","type":"time-range-switch","z":"f3132bbe.4c31b","name":"Time 10:01-19:00","lat":"","lon":"","startTime":"10:01","endTime":"19:00","startOffset":0,"endOffset":0,"x":630,"y":460,"wires":[["197ba111.c0369f","e2674678.2da51"],["6ccf6980.cc1ef8"]]},{"id":"197ba111.c0369f","type":"debug","z":"f3132bbe.4c31b","name":"100%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":890,"y":340,"wires":[]},{"id":"e2674678.2da51","type":"change","z":"f3132bbe.4c31b","name":"100%","rules":[{"t":"set","p":"brightness_pct","pt":"flow","to":"100","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1050,"y":340,"wires":[[]]},{"id":"d10c9aaa.829ee8","type":"api-call-service","z":"f3132bbe.4c31b","name":"Attic Light On (Kelvin)","server":"8c51b0bb.698c3","version":1,"debugenabled":true,"service_domain":"light","service":"turn_on","entityId":"light.extended_color_light_3","data":"{\"brightness_pct\":\"{{{flow.brightness_pct}}}\",\"kelvin\":\"{{{flow.Kelvin}}}\",\"transition\":1}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1100,"y":380,"wires":[[]]},{"id":"8c51b0bb.698c3","type":"server","name":"Home Assistant","addon":true}]


misschien is de clock-timer node van contrib-sun-position iets?
Kun je al je regeltjes invoegen van je tijden, en dan per regel een payload en/of topic instellen. Maar misschien wat te uitgebreid. Kan zichzelf triggeren wanneer een bepaalde tijd actief wordt.
Heeft ook "within-time", soortgelijk als jouw gebruikte time-range maar kun je nog dagen en/of maanden aanvinken

Acties:
  • 0 Henk 'm!

  • kweetnie
  • Registratie: December 2000
  • Laatst online: 13-09 20:30
Snoekieboe schreef op maandag 15 februari 2021 @ 21:00:
[...]


Dan vind je dit waarschijnlijk ook wel leuk.

Circadian lights, verlichting die dezelfde kleur aanneemt als de kleurtemp buiten en meeveranderd gedurende de dag.


[Afbeelding]
Jazeker, daar is dit meebegonnen. Eerst was het gewoon een motion aan = licht aan. Toen wat logica erbij wanneer wel en niet. Vervolgens liep ik tegen Circadian aan in HA en zag dat het ook in NR kon. Dus nu dat er met de hulp van hier in zit, is de volgende stap om het ook te sturen op helderheid. Waar ik nu dus aangekomen ben.
denuz schreef op maandag 15 februari 2021 @ 21:04:
[...]

Kan hetzelfde.Alle time nodes verbind je met een change node. Set flow.helderheid to number 10 (of 20) etc. Vervolgens kun je bij het aanroepen van je call service weer "{{flow.helderheid}}" gebruiken.
Dat is volgens mij inderdaad wat ik zoek. Ga het morgen gelijk bouwen en testen, heb er nu geen tijd meer voor.
Step5 schreef op maandag 15 februari 2021 @ 21:09:
[...]


zoiets?
code:
1
[{"id":"a18283c0.b7485","type":"time-range-switch","z":"f3132bbe.4c31b","name":"Time 10:01-19:00","lat":"","lon":"","startTime":"10:01","endTime":"19:00","startOffset":0,"endOffset":0,"x":630,"y":460,"wires":[["197ba111.c0369f","e2674678.2da51"],["6ccf6980.cc1ef8"]]},{"id":"197ba111.c0369f","type":"debug","z":"f3132bbe.4c31b","name":"100%","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":890,"y":340,"wires":[]},{"id":"e2674678.2da51","type":"change","z":"f3132bbe.4c31b","name":"100%","rules":[{"t":"set","p":"brightness_pct","pt":"flow","to":"100","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1050,"y":340,"wires":[[]]},{"id":"d10c9aaa.829ee8","type":"api-call-service","z":"f3132bbe.4c31b","name":"Attic Light On (Kelvin)","server":"8c51b0bb.698c3","version":1,"debugenabled":true,"service_domain":"light","service":"turn_on","entityId":"light.extended_color_light_3","data":"{\"brightness_pct\":\"{{{flow.brightness_pct}}}\",\"kelvin\":\"{{{flow.Kelvin}}}\",\"transition\":1}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1100,"y":380,"wires":[[]]},{"id":"8c51b0bb.698c3","type":"server","name":"Home Assistant","addon":true}]


misschien is de clock-timer node van contrib-sun-position iets?
Kun je al je regeltjes invoegen van je tijden, en dan per regel een payload en/of topic instellen. Maar misschien wat te uitgebreid. Kan zichzelf triggeren wanneer een bepaalde tijd actief wordt.
Heeft ook "within-time", soortgelijk als jouw gebruikte time-range maar kun je nog dagen en/of maanden aanvinken
Dank je dat ziet er inderdaad goed uit, ga het morgen gelijk proberen.

Die node klinkt inderdaad een stuk netter als mijn "spagetti" ga hem morgen ook bekijken.

Super bedankt allen zover! Toch blijf ik me verbazen, dat in mijn ogen deze redelijk basis dingen. In weinig voorbeelden terug komen. Op youtube tutorials of andere sites, alle info is zo verspinterd. Genoeg voorbeelden van motion met licht, maar dan een stap verder en het ook nog op kleur en sterkte regelen is niet te vinden. Wat me ook opvalt is dat er erg veel mensen werken met MQTT en NR, is dat echt zoveel beter/makkelijker? ik heb wel wat wifi dingen die ook via MQTT werken zoals mijn shelly's. Maar ben nog in twijfel of ik ook mijn zigbee spul moet omgooien..

Anyway thanks again!

Acties:
  • +1 Henk 'm!

  • ericplan
  • Registratie: Mei 2006
  • Nu online

ericplan

5180 Wp PV

Een soort van bezigheidstherapie: een databaseconnectie opzetten vanuit een Odroid naar een Synology waarop een MariaDB draait. Hele dag bezig geweest met allerlei instellingen en wat blijkt? Er zit een \ in m'n wachtwoord en dat lust de MariaDB niet. Voordat je dat probleem getackeld hebt....
https://stackoverflow.com...racters-in-mysql-password

A'dam PVOutput


Acties:
  • 0 Henk 'm!

  • kweetnie
  • Registratie: December 2000
  • Laatst online: 13-09 20:30
ericplan schreef op dinsdag 16 februari 2021 @ 15:44:
Een soort van bezigheidstherapie: een databaseconnectie opzetten vanuit een Odroid naar een Synology waarop een MariaDB draait. Hele dag bezig geweest met allerlei instellingen en wat blijkt? Er zit een \ in m'n wachtwoord en dat lust de MariaDB niet. Voordat je dat probleem getackeld hebt....
https://stackoverflow.com...racters-in-mysql-password
Geeft dan juist extra veel voldoening als je het oplost! Maar terwijl je ermee bezig bent denk je er anders over.

Allemaal nog bedankt voor de hulp en tips. Ik heb mijn motion licht sturing nu zoals ik hem wil, nu verder door het huis uitrollen en dat alvast weg migreren van Homey.
Daarna op naar de volgende flow uitdagingen, er staan er nog genoeg op me te wachten (home/away status, tv/mediaplayers sturing, koppeling alle shelly schakelaar en wat slimme dingen ermee doen etc...) kort om hoef me niet te vervelen :)

Acties:
  • 0 Henk 'm!

  • kweetnie
  • Registratie: December 2000
  • Laatst online: 13-09 20:30
Laat maar fout gevonden, iets hergebruik in een andere flow en vergeten de naam aan te passen. Dus de variable werd op 2 plaatsen ingesteld.

Toch nog iets gevonden met mijn automation. Nu het weer wat lichter is valt me op dat mijn threshold schakeling op lux niet werkt. Althans hij lijkt wel te werken, maar toch gaat het licht aan als light disabled zou moeten zijn.

Wat gaat hier mis?

Afbeeldingslocatie: https://tweakers.net/i/WpaGFqPKAEFG-WzWAvSslv8detY=/800x/filters:strip_icc():strip_exif()/f/image/gHKpJQOuyRLuLL4Kg9NngCAZ.jpg?f=fotoalbum_large

De waarde van de light sensor is 153.7 en die is => 61, daardoor gaat die naar "Disable Light", die set flow.Light_enabled to No.
Maar als vervolgens de Motion sensor op On gaat en door switch "Light Enabled?" gaat welke staat op == Yes -> 1
Gaat vervolgens toch de lamp aan door de payload? van de motion sensor...of wat zorgt hiervoor.
Of ik nu die "Already On?" state check wel of niet gebruik. Effect blijft het zelfde lamp gaat aan terwijl Light Enabled op No staat.. :( en dus de lux waarde boven de threshold is.


code:
1
[{"id":"6abfa3dd.1e4c7c","type":"poll-state","z":"e301e5de.9fc448","name":"Attic Light Sensor","server":"ec37d48.f8fae28","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"updateinterval":"5","updateIntervalUnits":"minutes","outputinitially":true,"outputonchanged":false,"entity_id":"sensor.lightlevel_4","state_type":"str","halt_if":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"x":100,"y":700,"wires":[["8fc4f8fa.8cae28"]]},{"id":"8fc4f8fa.8cae28","type":"switch","z":"e301e5de.9fc448","name":"Lux Threshold","property":"payload","propertyType":"msg","rules":[{"t":"lte","v":"60","vt":"num"},{"t":"gte","v":"61","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":320,"y":700,"wires":[["6b76e71c.b02658"],["63d4ef0f.69306"]]},{"id":"6b76e71c.b02658","type":"change","z":"e301e5de.9fc448","name":"Enable Light","rules":[{"t":"set","p":"Light_enabled","pt":"flow","to":"Yes","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":660,"wires":[[]]},{"id":"63d4ef0f.69306","type":"change","z":"e301e5de.9fc448","name":"Disable Light","rules":[{"t":"set","p":"Light_enabled","pt":"flow","to":"No","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":720,"wires":[[]]},{"id":"fb85665d.b74be8","type":"server-state-changed","z":"e301e5de.9fc448","name":"Attic motion","server":"ec37d48.f8fae28","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.presence_2","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":90,"y":800,"wires":[["b6888b7c.9e85b8","1db1aea2.5b18c1"]]},{"id":"b6888b7c.9e85b8","type":"switch","z":"e301e5de.9fc448","name":"Light Enabled?","property":"Light_enabled","propertyType":"flow","rules":[{"t":"eq","v":"Yes","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":320,"y":800,"wires":[["5ae97ca0.4e3194"]]},{"id":"5ae97ca0.4e3194","type":"api-current-state","z":"e301e5de.9fc448","name":"Already On?","server":"ec37d48.f8fae28","version":1,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.extended_color_light_3","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":530,"y":800,"wires":[[],["6d3743e3.a7e11c"]]},{"id":"6d3743e3.a7e11c","type":"api-call-service","z":"e301e5de.9fc448","name":"Attic Light On","server":"ec37d48.f8fae28","version":1,"debugenabled":true,"service_domain":"light","service":"turn_on","entityId":"light.extended_color_light_3","data":"{\"brightness_pct\":\"{{{flow.brightness_pct}}}\",\"kelvin\":\"{{{flow.Kelvin}}}\",\"transition\":1}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":760,"y":800,"wires":[[]]},{"id":"1db1aea2.5b18c1","type":"trigger","z":"e301e5de.9fc448","name":"Switch off delay","op1":"","op2":"off","op1type":"nul","op2type":"str","duration":"30","extend":false,"overrideDelay":false,"units":"s","reset":"on","bytopic":"all","topic":"topic","outputs":1,"x":560,"y":860,"wires":[["9a4fbe0.16db74"]]},{"id":"9a4fbe0.16db74","type":"api-call-service","z":"e301e5de.9fc448","name":"Attic Light Off","server":"ec37d48.f8fae28","version":1,"debugenabled":true,"service_domain":"light","service":"turn_off","entityId":"light.extended_color_light_3","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":760,"y":860,"wires":[[]]},{"id":"ec37d48.f8fae28","type":"server","name":"Home Assistant","addon":true}]

Acties:
  • 0 Henk 'm!

  • kweetnie
  • Registratie: December 2000
  • Laatst online: 13-09 20:30
Is er toevallig iemand die een werkend voorbeeld heeft van een long/short press switch config. Bijvoorkeur met een shelly incombinatie met een pulsdrukker.
Ben er zelf al mee aan de slag gegaan, maar loop tegen het probleem aan dat de 2de puls (knop loslaten) mijn schakeling meteen weer uitzet.

Afbeeldingslocatie: https://tweakers.net/i/kTnVNkCWFg0j4sDUDYCRcq2rMDE=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/co7haLQyFuZLyL3XYMzL3J7X.jpg?f=user_large

Heb nu dus even bovenstaande gemaakt om te kijken wat die, doet bij een button push. En dat is bij indrukken netjes aangaan. Maar bij loslaten gaat het weer uit. Hoe werk ik hier omheen of hoe vertel ik het systeem dat dit normaal gedrag is?
Knop indrukken:
17-2-2021 19:02:08node: short push
binary_sensor.shelly_1l_8caab5616c27_shortpush_0 : msg.payload : string[2]
"on"
17-2-2021 19:02:08node: Input 0
binary_sensor.shelly_1l_8caab5616c27_input_0 : msg.payload : string[2]
"on"
Knop loslaten:
17-2-2021 19:02:08node: Input 0
binary_sensor.shelly_1l_8caab5616c27_input_0 : msg.payload : string[3]
"off"
17-2-2021 19:02:10node: short push
binary_sensor.shelly_1l_8caab5616c27_shortpush_0 : msg.payload : string[3]
"off"
Hoe en waarmee ga ik dit maken?

code:
1
[{"id":"8f1c2fb3.1364c","type":"server-state-changed","z":"e301e5de.9fc448","name":"Short Push 0","server":"ec37d48.f8fae28","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.shelly_1l_8caab5616c27_shortpush_0","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":110,"y":1660,"wires":[["205822e8.7fedfe"]]},{"id":"738943a7.4c207c","type":"server-state-changed","z":"e301e5de.9fc448","name":"Long Push 0","server":"ec37d48.f8fae28","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.shelly_1l_8caab5616c27_longpush_0","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":110,"y":1600,"wires":[["e61cfe35.2dbbe"]]},{"id":"e61cfe35.2dbbe","type":"debug","z":"e301e5de.9fc448","name":"Long Push","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":350,"y":1600,"wires":[]},{"id":"205822e8.7fedfe","type":"debug","z":"e301e5de.9fc448","name":"short push","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":350,"y":1660,"wires":[]},{"id":"8a1838.78aa87c8","type":"server-state-changed","z":"e301e5de.9fc448","name":"Input 0","server":"ec37d48.f8fae28","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.shelly_1l_8caab5616c27_input_0","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":90,"y":1720,"wires":[["d95e1c55.ccfb4"]]},{"id":"d95e1c55.ccfb4","type":"debug","z":"e301e5de.9fc448","name":"Input 0","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":330,"y":1720,"wires":[]},{"id":"ec37d48.f8fae28","type":"server","name":"Home Assistant","addon":true}]

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 09:47
kweetnie schreef op woensdag 17 februari 2021 @ 19:11:
Is er toevallig iemand die een werkend voorbeeld heeft van een long/short press switch config. Bijvoorkeur met een shelly incombinatie met een pulsdrukker.
Ben er zelf al mee aan de slag gegaan, maar loop tegen het probleem aan dat de 2de puls (knop loslaten) mijn schakeling meteen weer uitzet.

[Afbeelding]

Heb nu dus even bovenstaande gemaakt om te kijken wat die, doet bij een button push. En dat is bij indrukken netjes aangaan. Maar bij loslaten gaat het weer uit. Hoe werk ik hier omheen of hoe vertel ik het systeem dat dit normaal gedrag is?
Knop indrukken:
17-2-2021 19:02:08node: short push
binary_sensor.shelly_1l_8caab5616c27_shortpush_0 : msg.payload : string[2]
"on"
17-2-2021 19:02:08node: Input 0
binary_sensor.shelly_1l_8caab5616c27_input_0 : msg.payload : string[2]
"on"
Knop loslaten:
17-2-2021 19:02:08node: Input 0
binary_sensor.shelly_1l_8caab5616c27_input_0 : msg.payload : string[3]
"off"
17-2-2021 19:02:10node: short push
binary_sensor.shelly_1l_8caab5616c27_shortpush_0 : msg.payload : string[3]
"off"
Hoe en waarmee ga ik dit maken?

code:
1
[{"id":"8f1c2fb3.1364c","type":"server-state-changed","z":"e301e5de.9fc448","name":"Short Push 0","server":"ec37d48.f8fae28","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.shelly_1l_8caab5616c27_shortpush_0","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":110,"y":1660,"wires":[["205822e8.7fedfe"]]},{"id":"738943a7.4c207c","type":"server-state-changed","z":"e301e5de.9fc448","name":"Long Push 0","server":"ec37d48.f8fae28","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.shelly_1l_8caab5616c27_longpush_0","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":110,"y":1600,"wires":[["e61cfe35.2dbbe"]]},{"id":"e61cfe35.2dbbe","type":"debug","z":"e301e5de.9fc448","name":"Long Push","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":350,"y":1600,"wires":[]},{"id":"205822e8.7fedfe","type":"debug","z":"e301e5de.9fc448","name":"short push","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":350,"y":1660,"wires":[]},{"id":"8a1838.78aa87c8","type":"server-state-changed","z":"e301e5de.9fc448","name":"Input 0","server":"ec37d48.f8fae28","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.shelly_1l_8caab5616c27_input_0","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":90,"y":1720,"wires":[["d95e1c55.ccfb4"]]},{"id":"d95e1c55.ccfb4","type":"debug","z":"e301e5de.9fc448","name":"Input 0","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":330,"y":1720,"wires":[]},{"id":"ec37d48.f8fae28","type":"server","name":"Home Assistant","addon":true}]
Wat probeer je te bereiken? (ik begrijp niet helemaal wat het probleem is, heb zelf geen shelly devices, wel andere devices met long/short press).
Je kan in de event state de if state opgeven, of gebruik maken van een switch. De switch kun je instellen op de payload.

  • kweetnie
  • Registratie: December 2000
  • Laatst online: 13-09 20:30
@denuz het voornaamste probleem is de 2de klik, van de pulsdrukker, dus zeg maar het loslaten van de knop na het indrukken. Dus die stuurt dezelfde seconde nog een "Off" commando na de "On" van het initieel indrukken.
Dus ik kan wel van alles bouwen nu, maar alles gaat alleen maar aan terwijl ik de knop blijf indrukken, omdat het een pulsdrukker is. Quick en dirty zou zijn om na de "On" (indrukken) de volgende commando's voor 1 sec te negeren. Afgezien van dat ik geen idee heb hoe dat zou moeten, lijkt me dat er een elegantere oplossing is voor dit type schakelaar. Ook zou daardoor een dubbelklik of longpress niet meer werken lijkt me.

Oh ja en niet onbelangrijk de shelly, weet hier wel gewoon netjes mee om te gaan. Dus blijft de lamp gewoon aan bij een press/release van de knop.
*Edit* zit me net te bedenken dat het natuurlijk niet helemaal waar is, want het is de shelly die de commando's doorzet. Alleen doet de shelly zelf niets met de direct volgende off en laat dus het relay netjes op on staan.

Afbeeldingslocatie: https://tweakers.net/i/7zcgyFQYlPSwr_hTS_9aTBQEwqs=/800x/filters:strip_icc():strip_exif()/f/image/KTpWD63gE342OnYCPTD0hFIU.jpg?f=fotoalbum_large

En als je daarna dan dus weer klikt, gaat die weer uit etc. Maar in de tussentijd ziet NR continue on/off on/off commando's dus wanneer ik die laat meedoen, gaat het aan maar gelijk weer uit.

Hopelijk is het zo iets duidelijker.

[ Voor 44% gewijzigd door kweetnie op 18-02-2021 19:30 ]

Pagina: 1 ... 18 ... 32 Laatste