Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

  • ThinkPad
  • Registratie: juni 2005
  • Nu online

ThinkPad

Moderator Duurzame Energie & Domotica

L460

z1rconium schreef op donderdag 21 februari 2019 @ 16:48:
[...]

Het is makkelijker om de via de palette manager de buienradar node te installen, die is onlangs geupdate voor de wijziging.
Zie https://github.com/dkijkuit/node-red-contrib-buienradar
Maar daar leer ik niks van ;) En het is een simpele HTTP-request, JSON parsen en de juiste waarde eruit plukken. Vind ik overkill om een speciale node voor te installeren ;)

Gas besparen door CV-tuning | Elektriciteit besparen
Geen (Domoticz) vragen via privébericht die ook via het forum kunnen a.u.b.


  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 15-07 12:01
ThinkPad schreef op donderdag 21 februari 2019 @ 18:19:
[...]

Maar daar leer ik niks van ;) En het is een simpele HTTP-request, JSON parsen en de juiste waarde eruit plukken. Vind ik overkill om een speciale node voor te installeren ;)
Maar gewoon wat kopiëren van het internet leer je ook niets van, het is 3x klikken en je kunt verder, precies waar node-red voor bedacht is.

maar goed, je oplossing:

code:
1
2
3
m = msg.payload.actual.stationmeasurements
temp = m.find(station => station.stationid === 6279).temperature
return {payload:temp};


  • Milmoor
  • Registratie: januari 2000
  • Laatst online: 12:23

Milmoor

Footsteps and pictures.

ThinkPad schreef op donderdag 21 februari 2019 @ 18:19:
[...]

Maar daar leer ik niks van ;) En het is een simpele HTTP-request, JSON parsen en de juiste waarde eruit plukken. Vind ik overkill om een speciale node voor te installeren ;)
Hier twee voorbeelden, 1x JSONata en 1x javascript. Deze kan je importeren in Node-Red. De tweede heeft meer tijd gekost dan ik had verwacht. Javascript zonder IDE is piep om te debuggen. De oplossing van @z1rconium is mooier, maar ik heb me bewust dicht bij je eigen code gehouden. War je de fout in ging is in het ophalen van de temperatuur. Je zocht wel de stationsnaam, maar deed niets met de temperatuur. Hij zit er nu niet in, maar voor de overzichtelijkheid is de "var stations = msg.payload.actual.stationmeasurements;" wel een goed plan.
In de Change node rommel ik wat met payload, die gooi ik leeg. Dat is in de meeste gevallen niet nodig, dat is voor het demo effect.

code:
1
[{"id":"f7edaeda.ef3a5","type":"function","z":"2e430537.1332da","name":"temperatuur Heino","func":"var numStations = msg.payload.actual.stationmeasurements.length;\nvar station = {name: \"\", temp: 999};\n\nfor(var current = 0; current < numStations; current++)\n{\n \n  if (msg.payload.actual.stationmeasurements[current].stationid == 6278) {\n    station.name = msg.payload.actual.stationmeasurements[current].stationname;\n    station.temp = msg.payload.actual.stationmeasurements[current].temperature;\n  }\n\n}\nmsg.payload = station;\nreturn msg;","outputs":1,"noerr":0,"x":1550,"y":1840,"wires":[["9ca0c90c.dcc1e8"]]},{"id":"34702f06.08cdf","type":"http request","z":"2e430537.1332da","name":"GET buienrader","method":"GET","ret":"txt","url":"https://data.buienradar.nl/2.0/feed/json","tls":"","x":1200,"y":1860,"wires":[["41250e6d.c55c9"]]},{"id":"41250e6d.c55c9","type":"json","z":"2e430537.1332da","name":"","property":"payload","action":"","pretty":false,"x":1370,"y":1860,"wires":[["f7edaeda.ef3a5","d0e4351b.4a59b8"]]},{"id":"d0e4351b.4a59b8","type":"change","z":"2e430537.1332da","name":"temperatuur Hoogeveen","rules":[{"t":"set","p":"temperatuur","pt":"msg","to":"{\t   \"name\": payload.actual.stationmeasurements[stationid = 6279].stationname,\t   \"temp\": payload.actual.stationmeasurements[stationid = 6279].temperature\t}","tot":"jsonata"},{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload","pt":"msg","to":"temperatuur","tot":"msg"},{"t":"delete","p":"temperatuur","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1570,"y":1880,"wires":[["4fa15f95.b2d44"]]},{"id":"9ca0c90c.dcc1e8","type":"debug","z":"2e430537.1332da","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1790,"y":1840,"wires":[]},{"id":"4fa15f95.b2d44","type":"debug","z":"2e430537.1332da","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1790,"y":1880,"wires":[]},{"id":"5d8c3796.7b56e8","type":"inject","z":"2e430537.1332da","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":1020,"y":1860,"wires":[["34702f06.08cdf"]]}]

Milmoor wijzigde deze reactie 21-02-2019 21:53 (7%)

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 15-07 12:01
Milmoor schreef op donderdag 21 februari 2019 @ 19:59:
[...]

Hier twee voorbeelden, 1x JSONata en 1x javascript. Deze kan je importeren in Node-Red. De tweede heeft meer tijd gekost dan ik had verwacht. Javascript zonder IDE is piep om te debuggen. De oplossing van @z1rconium is mooier, maar ik heb me bewust dicht bij je eigen code gehouden. War je de fout in ging is in het ophalen van de temperatuur. Je zocht wel de stationsnaam, maar deed niets met de temperatuur.
Die http node kan ook direct een parsed json object sturen naar de output, dan kun je de json node verwijderen.

  • ThinkPad
  • Registratie: juni 2005
  • Nu online

ThinkPad

Moderator Duurzame Energie & Domotica

L460

Bedankt voor het meedenken beiden :) Ik zie dat ik er met het Javascript-script al een heel eind in de buurt zat. De oplossing van @z1rconium is heel compact inderdaad _O_

Gas besparen door CV-tuning | Elektriciteit besparen
Geen (Domoticz) vragen via privébericht die ook via het forum kunnen a.u.b.


  • Kaspers
  • Registratie: juni 2004
  • Laatst online: 17-07 22:07

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
44
45
46
47
48
49
{
  "_msgid": "998d4536.ecad78",
  "topic": "",
  "payload": [
    [
      {
        "attributes": {
          "battery": 100,
          "device_class": "motion",
          "friendly_name": "Keuken",
          "last_seen": "2019-01-19T14:28:22.600Z",
          "linkquality": 31,
          "occupancy": false,
          "voltage": 3005
        },
        "context": {
          "id": "d54dc773dcde4684b02169cd2a3b7279",
          "user_id": null
        },
        "entity_id": "binary_sensor.0x00158d000223cbbf_occupancy",
        "last_changed": "2019-02-22T05:13:42.820000+00:00",
        "last_updated": "2019-02-22T05:13:42.820000+00:00",
        "state": "off"
      },
      {
        "attributes": {
          "battery": 100,
          "device_class": "motion",
          "friendly_name": "Keuken",
          "last_seen": "2019-01-19T14:28:22.600Z",
          "linkquality": 31,
          "occupancy": true,
          "voltage": 3005
        },
        "context": {
          "id": "f9d9aff6e7da42119f0ede3e7aff6d3b",
          "user_id": null
        },
        "entity_id": "binary_sensor.0x00158d000223cbbf_occupancy",
        "last_changed": "2019-02-22T08:28:20.362000+00:00",
        "last_updated": "2019-02-22T08:28:20.362000+00:00",
        "state": "on"
      }
    ]
  ],
  "startdate": "2019-02-22T05:13:42.820Z",
  "enddate": null,
  "entityid": "binary_sensor.0x00158d000223cbbf_occupancy"
}


Iemand enig idee waarom deze expressie geen resultaat oplevert:



En deze wel:



Als ik een index meegeef, werkt het overigens wel:


Ik was echter in de veronderstelling dat het niet meegeven van een index de gehele hele array zou moeten selecteren..

Kaspers wijzigde deze reactie 22-02-2019 17:47 (9%)


  • Milmoor
  • Registratie: januari 2000
  • Laatst online: 12:23

Milmoor

Footsteps and pictures.

Dat komt doordat jouw payload geen array van objecten is, maar begint met een array van een array van objecten. Deze array heeft weliswaar maar een item/hokje/cel, maar het is wel een array. In de eerste vraag je om alle objecten met state = on in payload. In de tweede om alle objecten met state = on in hokje 0 van payload.

Milmoor wijzigde deze reactie 22-02-2019 20:27 (17%)

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


  • H143
  • Registratie: juli 2006
  • Laatst online: 20-07 10:20
heeft iemand het al voor elkaar gekregen om de hoog en laag tariefen tijden in nodered te krijgen?
ik wil graag mijn dommen draaischijfmeter uitlezen en ook de verdeling tussen hoog en laag kunnen monitoren
@H143 Misschien kun je hier iets mee als inspiratie? Ik haal mijn tarieven uit DSMRreader, maar die kun je ook op andere manieren (desnoods handmatig, wijzigt maar eens per jaar of minder) in NR krijgen.
lolgast in "Node-RED - grafisch 'programmeren' (bijv. voor domotica)"

  • H143
  • Registratie: juli 2006
  • Laatst online: 20-07 10:20
lolgast schreef op dinsdag 15 januari 2019 @ 21:17:
Een eerste opzetje, maar ter lering en vermaak. En sta uiteraard open voor verbeteringen of andere denkwijzen
[Afbeelding]

Wat ik wil (lees; ik heb de onderdelen binnen maar moet het nog in elkaar knutselen) is een op de HX711 gebaseerde sensor om te controleren of we in bed liggen. Als we/een van ons dan in de nacht uit bed stappen, moet de lamp op de gang op 20% gaan branden totdat we beide weer in bed liggen, of de lamp uitschakelen met de Hue Tap aan de muur. Tot daar geen problemen, maar toen :+ Ik heb onze Hue Taps zo ingesteld dat ze vanuit de Hue bridge bij schakelen de status van daarvoor herpakken. Simpele toggle switch dus eigenlijk. Maar ik wil niet dat ze aangaan op 20% :9 Vandaar mijn bouwsel hierboven.

Stapt er iemand uit bed: lamp aan op 20% en de bovenste Traffic Light gaat aan. Stapt diegene weer in bed, gaat de bovenste Traffic Light uit. Perfect scenario, want daarin wordt de lamp op 65% (normaal) ingesteld en meteen daarna weer uit. Die oplichting naar 65% zie je niet eens.
Máár: Je stapt uit bed, lamp op 20% en zet de lamp uit met de Hue Tap. Lamp met de laatste status van 20%... In dit scenario staan beide Traffic Lights aan zodat bij het inschakelen van de lamp via de Hue Tap, de lamp alsnog op 65% gezet wordt. Dan gaat het bovenste Traffic Light weer off zodat in het vervolg bij gebruik van de Tap niet doelloos via NR ook nog geschakeld wordt
zoiets wil ik ook gaan maken maar dan adhv tijd en een motion sensor,
kan jij je code hiervoor ook delen?

  • king_bass
  • Registratie: januari 2005
  • Laatst online: 14:12
Zelf nu ook begonnen met het toepassen van Node-Red.
Ten eerste natuurlijk mijn Hue verlichting automatiseren.
Daarbij heb ik de volgende flow gecreëerd:



Wat ik me hier nog bij afvraag:
Kan dit zonder de check of mijn verlichting aan is of belast ik dan mijn hue teveel?
En ten tweede gebruik ik hierbij mijn trigger correct aangezien ik hier nu een changer heb voor heb toegevoegd die de status reset doorgeeft.

De delay van 1 seconde zit erin aangezien de bridge zoveel aansturing in 1 keer niet kan omzetten.

Code toegevoegd:

code:
1
[{"id":"345e9f65.87b2f","type":"hue-motion","z":"1aaf8bf7.c49224","name":"Hue motion sensor 2","bridge":"1cfa8d8d.2b8e4a","sensorid":"27","x":136,"y":90,"wires":[["eaf54167.7a0c7"]]},{"id":"89f72679.16dcd8","type":"hue-brightness","z":"1aaf8bf7.c49224","name":"Hue ambient light sensor 1","bridge":"1cfa8d8d.2b8e4a","sensorid":"11","x":150,"y":40,"wires":[["bbafe7db.2d579"]]},{"id":"eaf54167.7a0c7","type":"switch","z":"1aaf8bf7.c49224","name":"Movement?","property":"payload.motion","propertyType":"msg","rules":[{"t":"cont","v":"true","vt":"str"},{"t":"cont","v":"false","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":350,"y":100,"wires":[["bbafe7db.2d579","8d1851b.48cbdb"],["7e9e27ae.ad2f78"]]},{"id":"e4794c16.3695e8","type":"hue-motion","z":"1aaf8bf7.c49224","name":"Hue motion sensor 1","bridge":"1cfa8d8d.2b8e4a","sensorid":"10","x":136,"y":144,"wires":[["eaf54167.7a0c7"]]},{"id":"b29391b2.8abb78","type":"debug","z":"1aaf8bf7.c49224","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":910,"y":340,"wires":[]},{"id":"bbafe7db.2d579","type":"traffic","z":"1aaf8bf7.c49224","name":"Dark?","property_allow":"payload.dark","filter_allow":"true","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload.dark","filter_stop":"false","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":false,"differ":false,"x":350,"y":40,"wires":[["7e4668df.8316a"]]},{"id":"26f4c0f6.c08608","type":"hue-light","z":"1aaf8bf7.c49224","name":"Hue lightstrip plus 1","bridge":"1cfa8d8d.2b8e4a","lightid":"9","colornamer":true,"x":905.5,"y":72.79997253417969,"wires":[["7e4668df.8316a"]]},{"id":"7e4668df.8316a","type":"traffic","z":"1aaf8bf7.c49224","name":"Lamp aan?","property_allow":"payload.on","filter_allow":"false","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload.on","filter_stop":"true","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":false,"differ":false,"x":550,"y":40,"wires":[["5d4448f7.e97048"]]},{"id":"242b9c36.07267c","type":"hue-group","z":"1aaf8bf7.c49224","name":"Tv","bridge":"1cfa8d8d.2b8e4a","groupid":"2","colornamer":true,"x":950,"y":120,"wires":[[]]},{"id":"c61fd6d7.9ce0d","type":"hue-group","z":"1aaf8bf7.c49224","name":"Voor","bridge":"1cfa8d8d.2b8e4a","groupid":"3","colornamer":true,"x":950,"y":167,"wires":[[]]},{"id":"8809773d.c83c48","type":"hue-group","z":"1aaf8bf7.c49224","name":"Trap","bridge":"1cfa8d8d.2b8e4a","groupid":"4","colornamer":true,"x":950,"y":216,"wires":[[]]},{"id":"367d2c68.071e1c","type":"hue-group","z":"1aaf8bf7.c49224","name":"Woonkamer","bridge":"1cfa8d8d.2b8e4a","groupid":"1","colornamer":true,"x":930,"y":264,"wires":[[]]},{"id":"5d4448f7.e97048","type":"change","z":"1aaf8bf7.c49224","name":"Aan","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":40,"wires":[["26f4c0f6.c08608","242b9c36.07267c","c61fd6d7.9ce0d","3711c7f4.d74388"]]},{"id":"3711c7f4.d74388","type":"delay","z":"1aaf8bf7.c49224","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":560,"y":100,"wires":[["8809773d.c83c48","367d2c68.071e1c"]]},{"id":"8d1851b.48cbdb","type":"change","z":"1aaf8bf7.c49224","name":"Reset","rules":[{"t":"set","p":"payload","pt":"msg","to":"reset","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":140,"wires":[["7e9e27ae.ad2f78"]]},{"id":"7e9e27ae.ad2f78","type":"trigger","z":"1aaf8bf7.c49224","op1":"","op2":"false","op1type":"nul","op2type":"bool","duration":"5","extend":false,"units":"min","reset":"reset","bytopic":"all","name":"","x":570,"y":160,"wires":[["b29391b2.8abb78","c22c83a8.69d46"]]},{"id":"c22c83a8.69d46","type":"change","z":"1aaf8bf7.c49224","name":"Uit","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":100,"wires":[["3711c7f4.d74388","26f4c0f6.c08608","242b9c36.07267c","c61fd6d7.9ce0d"]]},{"id":"1cfa8d8d.2b8e4a","type":"hue-bridge","z":"","name":"Philips hue","bridge":"192.168.0.100","key":"sMZn5MXxE7Eu-AvIvHEdE91Cx8MaBREndJBgLzc-","interval":"3000"}]

king_bass wijzigde deze reactie 10-03-2019 19:46 (76%)


  • xinud
  • Registratie: maart 2019
  • Laatst online: 08-06 21:02
Goedenavond

Ik probeer via node red drukknoppen (hardware) te bedienen, kort drukken en lang drukken.

Voor elk event een andere uitgang of resultaat.
bvb
kort is lamp aan
kort is lamp uit

lang drukken zou bvb overeen komen met dimfunctie 0-100 en van 100-0

Ik vind niet zo direct een oplossing tussen de node's in node red en google helpt me ook al niet echt vooruit.

Node red draait op pi 3

Alvast bedankt voor antwoord.

  • king_bass
  • Registratie: januari 2005
  • Laatst online: 14:12
Welke hardware probeer je hiervoor te gebruiken?

  • Pixal
  • Registratie: oktober 2001
  • Niet online

Pixal

Mijn poes popelt.

Ik ben van Domoticz aan het overstappen op Hass. Hoewel ik met domoticz alles aardig voor elkaar heb en geen knop meer aan raak, voel ik me ook steeds vaker beperkt. Net Node-Red ontdekt.

Nu kom ik even niet meer verder. Ik wil de lichten in de woonkamer inschakelen bij een aantal voorwaarden, zoals, we zijn thuis, we slapen niet, het wordt donker etc, maar alleen als er in de laatste 60 minuten beweging is geweest in de woonkamer. Dat laatste lukt me niet, ik kan niet gewoon de status van de motion sensor uitlezen want die gaat na een paar minuten bankzitten op "uit". Maar als we al een tijdje op de bank zitten en het gaat schemeren moet wel het licht aan. In feite wil ik gewoon uitlezen of de motion sensor in de laatste 60 minuten van status is veranderd, dan kan ik er vanuit gaan dat er iemand beneden is.

Volgens mij heb ik nu alle nodes geprobeerd en combinaties gemaakt. :S
@Pixal Ik kom op zoiets uit. Als de bewegingssensor melding geeft van beweging gaat de traffic light op allow. Op die ingang zet je dus je verlichting. Als er al een uur geen beweging is, gaat de traffic light deny. Als je verlichting wil inschakelen moet hij via de traffic light, die staat op deny dus gaat er niets aan.

code:
1
[{"id":"de2861b0.a96b1","type":"debug","z":"ba68260d.f9c468","name":"Gelukt?","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":780,"y":1710,"wires":[]},{"id":"9739d586.f20938","type":"traffic","z":"ba68260d.f9c468","name":"","property_allow":"payload.motion","filter_allow":"true","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload.motion","filter_stop":"false","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":false,"differ":false,"x":580,"y":1770,"wires":[["de2861b0.a96b1"]]},{"id":"79df75c5.3b33ac","type":"switch","z":"ba68260d.f9c468","name":"","property":"payload.motion","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":1820,"wires":[["9739d586.f20938"],["6d74447d.a1956c"]]},{"id":"6d74447d.a1956c","type":"trigger","z":"ba68260d.f9c468","op1":"","op2":"","op1type":"nul","op2type":"pay","duration":"1","extend":true,"units":"hr","reset":"","bytopic":"all","name":"","x":580,"y":1820,"wires":[["9739d586.f20938"]]},{"id":"2043c870.867378","type":"inject","z":"ba68260d.f9c468","name":"Klik mij","topic":"","payload":"Ik ben een lamp, ik wil aan!","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":360,"y":1720,"wires":[["9739d586.f20938"]]},{"id":"b097aae2.c24e78","type":"hue-motion","z":"ba68260d.f9c468","name":"Keuken sensor","bridge":"e9503c7a.ea5fe8","sensorid":"23","x":200,"y":1820,"wires":[["79df75c5.3b33ac"]]}]

lolgast wijzigde deze reactie 12-03-2019 07:55 (14%)


Acties:
  • +2Henk 'm!

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
Node-Red 0.20 is uit. Ik gebruikte tot nu toe de 'node-red-contrib-mqtt-json' module om een binnenkomend MQTT-bericht meteen te converteren naar een JSON-structuur, maar de standaard 'MQTT' (input) node heeft nu zelf die mogelijkheid gekregen:
The MQTT In node can now be configured to assume messages it receives are JSON and to emit the parsed object. That will save you from adding a JSON node after your MQTT In nodes if you are sure that everything you receive will be valid JSON. If the node receives something that isn’t valid JSON, it’ll log an error that can be handled with a Catch node.
https://nodered.org/blog/2019/03/12/version-0-20-released

  • xinud
  • Registratie: maart 2019
  • Laatst online: 08-06 21:02
king_bass schreef op maandag 11 maart 2019 @ 23:33:
[...]


Welke hardware probeer je hiervoor te gebruiken?
Bticino living
https://gigatek.be/nl/bti...Ddf0OSIHfPU4aArzpEALw_wcB

Als uitgang een relais, via I2C om meerdere (56 uitgangen te bekomen)

Acties:
  • +1Henk 'm!

  • Kaspers
  • Registratie: juni 2004
  • Laatst online: 17-07 22:07
In de releasenotes van Node-Red 0.20 staat tevens een uitnodiging om een survey in te vullen. Misschien ook voor jullie aardig om hier aan deel te nemen (2 min):
We speak to lots of you in Slack and the Forum and love hearing about how Node-RED is being used. But we know there’s a much larger community of users and developers out there who are using Node-RED that we haven’t spoken to.

This survey is an opportunity for us to get a better understanding of who our users are, what they do with Node-RED and to help the project stay pointed in the right direction.

Please spare us 10 minutes of your time to fill in the survey here: https://tiny.cc/NodeRED2019Survey

  • Pixal
  • Registratie: oktober 2001
  • Niet online

Pixal

Mijn poes popelt.

lolgast schreef op dinsdag 12 maart 2019 @ 07:53:
@Pixal Ik kom op zoiets uit. Als de bewegingssensor melding geeft van beweging gaat de traffic light op allow. Op die ingang zet je dus je verlichting. Als er al een uur geen beweging is, gaat de traffic light deny. Als je verlichting wil inschakelen moet hij via de traffic light, die staat op deny dus gaat er niets aan.

code:
1
[{"id":"de2861b0.a96b1","type":"debug","z":"ba68260d.f9c468","name":"Gelukt?","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":780,"y":1710,"wires":[]},{"id":"9739d586.f20938","type":"traffic","z":"ba68260d.f9c468","name":"","property_allow":"payload.motion","filter_allow":"true","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload.motion","filter_stop":"false","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":false,"differ":false,"x":580,"y":1770,"wires":[["de2861b0.a96b1"]]},{"id":"79df75c5.3b33ac","type":"switch","z":"ba68260d.f9c468","name":"","property":"payload.motion","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":1820,"wires":[["9739d586.f20938"],["6d74447d.a1956c"]]},{"id":"6d74447d.a1956c","type":"trigger","z":"ba68260d.f9c468","op1":"","op2":"","op1type":"nul","op2type":"pay","duration":"1","extend":true,"units":"hr","reset":"","bytopic":"all","name":"","x":580,"y":1820,"wires":[["9739d586.f20938"]]},{"id":"2043c870.867378","type":"inject","z":"ba68260d.f9c468","name":"Klik mij","topic":"","payload":"Ik ben een lamp, ik wil aan!","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":360,"y":1720,"wires":[["9739d586.f20938"]]},{"id":"b097aae2.c24e78","type":"hue-motion","z":"ba68260d.f9c468","name":"Keuken sensor","bridge":"e9503c7a.ea5fe8","sensorid":"23","x":200,"y":1820,"wires":[["79df75c5.3b33ac"]]}]

_/-\o_ ik heb deze stappen in mijn flow ingebouwd, alleen nog niet kunnen testen (zwave antenne hangt nog aan Domoticz...). Maar dit zijn echt van die voorbeeldjes waarmee ik weer tien andere problemen kan oplossen. :D

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
De PostNL sensor blijft bij mij niet lekker werken. Want ik vaak zie is dat zodra de sensor vanuit HA van waarde 0 naar 1 verspringt (= er is een aankomend pakket), dat er op dat moment nog niet alle gegevens bekend zijn. Dan is bijv. een pakket wel aangemeld vanuit de webshop, maar ontbreken nog de gegevens zoals ontvanger/verzender/verwachte bezorgtijd. Of dat het een tekst heeft zoals 'pakket is aangemeld maar nog niet ontvangen bij PostNL'

Op zich is dat geen probleem, je zou natuurlijk met wat checks ervoor kunnen zorgen dat je in die gevallen geen notificatie krijgt.

Het probleem lijkt echter te zijn dat op een later moment die gegevens wel aangevuld worden, maar binnen HA blijft de status op 1 staan, enkel de details (binnen het object) wijzigen. Dat triggert dan binnen Node-Red geen nieuwe sequence en dus geen mogelijkheid om er wat mee te doen.

Herkennen jullie dit? Misschien is het dan beter om via een inject node op een bepaalde tijd, bijv. elke ochtend, zelf de sensor uit te lezen en een notificatie te krijgen, mits er voldoende data bekend is. Evt. met een RBE node vlak voor het eind om niet exact dezelfde notificatie te versturen t.o.v. de vorige keer.

DeadMetal wijzigde deze reactie 13-03-2019 11:52 (8%)

@DeadMetal Wat nou als je het omdraait:
Stel de sensor wijzigt van 0 naar 1, dan stuur je met een delay van bijvoorbeeld 2 uur een bericht. Dan zijn de details wel gevuld toch neem ik aan? Zelfs PostNL is niet zo langzaam :+

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
Mooie suggestie. Ik zal eens iets bouwen in de trant van direct notificeren als de data beschikbaar is, en anders een delay. Als het goed werkt deel ik hier t.z.t. wel de code. Kan wat tijd overheen gaan want ik bestel niet wekelijks online ;)

  • Jlo88
  • Registratie: augustus 2014
  • Laatst online: 20-07 21:21
Ik ben nu ook een tijdje met HA en node-red bezig en ik moet zeggen dat het me super bevalt! Sinds kort ondersteunt de zigbee2mqtt addon ook de ikea remote control. Ik heb deze nu succesvol gepaired en ik ben nu aan het proberen om een algemene subflow te maken waar deze remote wordt nagebootst.

Dit is wat ik tot nu toe gemaakt heb:



code:
1
 [{"id":"89b2e43.9051118","type":"switch","z":"b7f02e99.81c44","name":"Parse","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"toggle","vt":"str"},{"t":"eq","v":"brightness_up_click","vt":"str"},{"t":"eq","v":"brightness_down_click","vt":"str"},{"t":"eq","v":"arrow_right_click","vt":"str"},{"t":"eq","v":"arrow_left_click","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":350,"y":180,"wires":[["a41971ba.31ca7"],["19fbce3c.72f872"],["d99599ee.909e28"],["28864d0f.820bb2"],["7b0adee.3e5262"]]},{"id":"a41971ba.31ca7","type":"api-call-service","z":"b7f02e99.81c44","name":"Toggle","server":"7919b5c7.98b45c","service_domain":"light","service":"toggle","data":"{\"entity_id\":\"{{data.entity_id}}\"}","mergecontext":"","output_location":"","output_location_type":"none","x":530,"y":80,"wires":[[]]},{"id":"95bdb06c.d8e93","type":"function","z":"b7f02e99.81c44","name":"Increase brightness","func":"function newBrightness(current_brightness) {\n    newBrightness_tmp = current_brightness + 50\n    return Math.max(0, Math.min(255, Math.round(newBrightness_tmp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"brightness\": newBrightness(msg.data.attributes.brightness)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":710,"y":140,"wires":[["20310ef.eb005f2"]]},{"id":"f66cc129.e0b09","type":"function","z":"b7f02e99.81c44","name":"Decrease brightness","func":"function newBrightness(current_brightness) {\n    newBrightness_tmp = current_brightness - 50\n    return Math.max(0, Math.min(255, Math.round(newBrightness_tmp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"brightness\": newBrightness(msg.data.attributes.brightness)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":720,"y":200,"wires":[["20310ef.eb005f2"]]},{"id":"eb91116a.814af","type":"function","z":"b7f02e99.81c44","name":"Increase temperature","func":"function IncreaseColorTemp(current_color_temp,min_mireds,max_mireds) {\n    new_color_temp = current_color_temp + 50\n    return Math.max(min_mireds, Math.min(max_mireds, Math.round(new_color_temp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"color_temp\": IncreaseColorTemp(msg.data.attributes.color_temp,msg.data.attributes.min_mireds,msg.data.attributes.max_mireds)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":720,"y":320,"wires":[["20310ef.eb005f2"]]},{"id":"8b4d032a.7f867","type":"function","z":"b7f02e99.81c44","name":"Decrease temperature","func":"function DecreaseColorTemp(current_color_temp,min_mireds,max_mireds) {\n    new_color_temp = current_color_temp - 50\n    return Math.max(min_mireds, Math.min(max_mireds, Math.round(new_color_temp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"color_temp\": DecreaseColorTemp(msg.data.attributes.color_temp,msg.data.attributes.min_mireds,msg.data.attributes.max_mireds)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":720,"y":260,"wires":[["20310ef.eb005f2"]]},{"id":"20310ef.eb005f2","type":"api-call-service","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","service_domain":"light","service":"turn_on","data":"{\"entity_id\":\"{{data.entity_id}}\"}","mergecontext":"","output_location":"","output_location_type":"none","x":930,"y":140,"wires":[[]]},{"id":"46d22cf4.1fb614","type":"change","z":"b7f02e99.81c44","name":"Change entity","rules":[{"t":"set","p":"data.entity_id","pt":"msg","to":"light_entity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":180,"y":180,"wires":[["89b2e43.9051118"]]},{"id":"19fbce3c.72f872","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"light.panel_bathroom","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":140,"wires":[["95bdb06c.d8e93"]]},{"id":"d99599ee.909e28","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"light.panel_bathroom","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":200,"wires":[["f66cc129.e0b09"]]},{"id":"28864d0f.820bb2","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"light.panel_bathroom","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":260,"wires":[["8b4d032a.7f867"]]},{"id":"7b0adee.3e5262","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"light.panel_bathroom","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":320,"wires":[["eb91116a.814af"]]},{"id":"7919b5c7.98b45c","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open"}]



Dit werkt allemaal prima maar ik zou eigenlijk af willen van de definitie van het licht in de Light blokjes:



Het idee daar zou zijn om het entity_id te halen uit een globale variable die ik light_entity heb genoemd. In de call service blokjes is dit gelukt:



Helaas lukt dit in de get current state blokjes niet. Wanneer ik dat zo doe kan de entity id niet gevonden worden. Heeft iemand misschien een idee hoe dit te doen? :?

Ik zou het nog mooier vinden als ik de remote aan de ingang kan hangen en aan de uitgang een licht en dat ik geen globale variabele moet gebruiken maar ik heb geen idee hoe ik dit kan doen.. |:(
@Jlo88 :? Veel duidelijker gaat de uitleg toch niet worden volgens mij


POC:
code:
1
[{"id":"e702f0ce.8e69a8","type":"api-current-state","z":"ba68260d.f9c468","name":"","server":"39fd7a9b.252f86","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":590,"y":1810,"wires":[["42ef5f78.251a48"]]},{"id":"42ef5f78.251a48","type":"debug","z":"ba68260d.f9c468","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":850,"y":1730,"wires":[]},{"id":"5d1df3c4.bc1b6c","type":"change","z":"ba68260d.f9c468","name":"","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.entity_id","pt":"msg","to":"light.bank","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":270,"y":1790,"wires":[["e702f0ce.8e69a8"]]},{"id":"6e91c734.8e3848","type":"inject","z":"ba68260d.f9c468","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":280,"y":1900,"wires":[["5d1df3c4.bc1b6c"]]}]

lolgast wijzigde deze reactie 14-03-2019 16:40 (77%)


  • Jlo88
  • Registratie: augustus 2014
  • Laatst online: 20-07 21:21
@lolgast Hmm ja true, zo werkt het inderdaad wel. Ik snap nog niet zo goed waarom je de hele message eerst weggooit? Ik heb het nu aan de praat als ik het change entity blok na het parsen plaats, dan heb ik em wel 5x nodig. Zou toch makkelijker moeten kunnen zou je zeggen?


code:
1
[{"id":"b7f02e99.81c44","type":"subflow","name":"Ikea Tradfri Remote Mimic","info":"","category":"Jan","in":[{"x":60,"y":180,"wires":[{"id":"89b2e43.9051118"}]}],"out":[],"env":[{"name":"light_entity","type":"str","value":"light.panel_bathroom"}]},{"id":"89b2e43.9051118","type":"switch","z":"b7f02e99.81c44","name":"Parse","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"toggle","vt":"str"},{"t":"eq","v":"brightness_up_click","vt":"str"},{"t":"eq","v":"brightness_down_click","vt":"str"},{"t":"eq","v":"arrow_right_click","vt":"str"},{"t":"eq","v":"arrow_left_click","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":170,"y":180,"wires":[["46d22cf4.1fb614"],["4a843006.67777"],["618f224c.a385fc"],["cc6d61cf.005ed"],["4ddc45c1.2ec4bc"]]},{"id":"a41971ba.31ca7","type":"api-call-service","z":"b7f02e99.81c44","name":"Toggle","server":"7919b5c7.98b45c","service_domain":"light","service":"toggle","data":"{\"entity_id\":\"{{data.entity_id}}\"}","mergecontext":"","output_location":"","output_location_type":"none","x":530,"y":80,"wires":[[]]},{"id":"95bdb06c.d8e93","type":"function","z":"b7f02e99.81c44","name":"Increase brightness","func":"function newBrightness(current_brightness) {\n    newBrightness_tmp = current_brightness + 50\n    return Math.max(0, Math.min(255, Math.round(newBrightness_tmp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"brightness\": newBrightness(msg.data.attributes.brightness)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":710,"y":140,"wires":[["20310ef.eb005f2"]]},{"id":"f66cc129.e0b09","type":"function","z":"b7f02e99.81c44","name":"Decrease brightness","func":"function newBrightness(current_brightness) {\n    newBrightness_tmp = current_brightness - 50\n    return Math.max(0, Math.min(255, Math.round(newBrightness_tmp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"brightness\": newBrightness(msg.data.attributes.brightness)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":720,"y":200,"wires":[["20310ef.eb005f2"]]},{"id":"eb91116a.814af","type":"function","z":"b7f02e99.81c44","name":"Increase temperature","func":"function IncreaseColorTemp(current_color_temp,min_mireds,max_mireds) {\n    new_color_temp = current_color_temp + 50\n    return Math.max(min_mireds, Math.min(max_mireds, Math.round(new_color_temp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"color_temp\": IncreaseColorTemp(msg.data.attributes.color_temp,msg.data.attributes.min_mireds,msg.data.attributes.max_mireds)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":720,"y":320,"wires":[["20310ef.eb005f2"]]},{"id":"8b4d032a.7f867","type":"function","z":"b7f02e99.81c44","name":"Decrease temperature","func":"function DecreaseColorTemp(current_color_temp,min_mireds,max_mireds) {\n    new_color_temp = current_color_temp - 50\n    return Math.max(min_mireds, Math.min(max_mireds, Math.round(new_color_temp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"color_temp\": DecreaseColorTemp(msg.data.attributes.color_temp,msg.data.attributes.min_mireds,msg.data.attributes.max_mireds)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":720,"y":260,"wires":[["20310ef.eb005f2"]]},{"id":"20310ef.eb005f2","type":"api-call-service","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","service_domain":"light","service":"turn_on","data":"{\"entity_id\":\"{{data.entity_id}}\"}","mergecontext":"","output_location":"","output_location_type":"none","x":930,"y":140,"wires":[[]]},{"id":"46d22cf4.1fb614","type":"change","z":"b7f02e99.81c44","name":"Change entity","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.entity_id","pt":"msg","to":"light_entity","tot":"env"},{"t":"set","p":"data.entity_id","pt":"msg","to":"light_entity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":100,"wires":[["a41971ba.31ca7"]]},{"id":"19fbce3c.72f872","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":140,"wires":[["95bdb06c.d8e93"]]},{"id":"d99599ee.909e28","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":200,"wires":[["f66cc129.e0b09"]]},{"id":"28864d0f.820bb2","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":260,"wires":[["8b4d032a.7f867"]]},{"id":"7b0adee.3e5262","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":320,"wires":[["eb91116a.814af"]]},{"id":"4a843006.67777","type":"change","z":"b7f02e99.81c44","name":"Change entity","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.entity_id","pt":"msg","to":"light_entity","tot":"env"},{"t":"set","p":"data.entity_id","pt":"msg","to":"light_entity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":140,"wires":[["19fbce3c.72f872"]]},{"id":"618f224c.a385fc","type":"change","z":"b7f02e99.81c44","name":"Change entity","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.entity_id","pt":"msg","to":"light_entity","tot":"env"},{"t":"set","p":"data.entity_id","pt":"msg","to":"light_entity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":200,"wires":[["d99599ee.909e28"]]},{"id":"cc6d61cf.005ed","type":"change","z":"b7f02e99.81c44","name":"Change entity","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.entity_id","pt":"msg","to":"light_entity","tot":"env"},{"t":"set","p":"data.entity_id","pt":"msg","to":"light_entity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":260,"wires":[["28864d0f.820bb2"]]},{"id":"4ddc45c1.2ec4bc","type":"change","z":"b7f02e99.81c44","name":"Change entity","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.entity_id","pt":"msg","to":"light_entity","tot":"env"},{"t":"set","p":"data.entity_id","pt":"msg","to":"light_entity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":320,"wires":[["7b0adee.3e5262"]]},{"id":"7919b5c7.98b45c","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open"}]

@Jlo88 Ik kan je code niet importeren, is leeg in mijn NR

  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 15-07 12:01
lolgast schreef op donderdag 14 maart 2019 @ 18:01:
@Jlo88 Ik kan je code niet importeren, is leeg in mijn NR
Het is een subflow, ik kreeg ook allerlei errors ;) (gebruik geen ha)
8)7 Bedankt

@Jlo88 Ik denk dat dit ook moet kunnen
code:
1
[{"id":"d8bed0f5.5739f","type":"switch","z":"e0d3a09b.7816e","name":"Parse","property":"action","propertyType":"msg","rules":[{"t":"eq","v":"toggle","vt":"str"},{"t":"eq","v":"brightness_up_click","vt":"str"},{"t":"eq","v":"brightness_down_click","vt":"str"},{"t":"eq","v":"arrow_right_click","vt":"str"},{"t":"eq","v":"arrow_left_click","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":410,"y":180,"wires":[["2a9f2d24.2a9ac2"],["a293ba91.adccf8"],["e0f70afc.4efef8"],["1356e2a3.51909d"],["34dc278f.c68fd8"]]},{"id":"2a9f2d24.2a9ac2","type":"api-call-service","z":"e0d3a09b.7816e","name":"Toggle","server":"638b3c86.920fd4","service_domain":"light","service":"toggle","data":"{\"entity_id\":\"{{data.entity_id}}\"}","mergecontext":"","output_location":"","output_location_type":"none","x":670,"y":80,"wires":[[]]},{"id":"8b0032f2.b86c4","type":"function","z":"e0d3a09b.7816e","name":"Increase brightness","func":"function newBrightness(current_brightness) {\n    newBrightness_tmp = current_brightness + 50\n    return Math.max(0, Math.min(255, Math.round(newBrightness_tmp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"brightness\": newBrightness(msg.data.attributes.brightness)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":850,"y":140,"wires":[["d648fbee.a1fa38"]]},{"id":"fe296cbf.6e1d9","type":"function","z":"e0d3a09b.7816e","name":"Decrease brightness","func":"function newBrightness(current_brightness) {\n    newBrightness_tmp = current_brightness - 50\n    return Math.max(0, Math.min(255, Math.round(newBrightness_tmp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"brightness\": newBrightness(msg.data.attributes.brightness)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":860,"y":200,"wires":[["d648fbee.a1fa38"]]},{"id":"d194a549.a9eea8","type":"function","z":"e0d3a09b.7816e","name":"Increase temperature","func":"function IncreaseColorTemp(current_color_temp,min_mireds,max_mireds) {\n    new_color_temp = current_color_temp + 50\n    return Math.max(min_mireds, Math.min(max_mireds, Math.round(new_color_temp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"color_temp\": IncreaseColorTemp(msg.data.attributes.color_temp,msg.data.attributes.min_mireds,msg.data.attributes.max_mireds)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":860,"y":320,"wires":[["d648fbee.a1fa38"]]},{"id":"f0e06fbe.ca82d","type":"function","z":"e0d3a09b.7816e","name":"Decrease temperature","func":"function DecreaseColorTemp(current_color_temp,min_mireds,max_mireds) {\n    new_color_temp = current_color_temp - 50\n    return Math.max(min_mireds, Math.min(max_mireds, Math.round(new_color_temp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"color_temp\": DecreaseColorTemp(msg.data.attributes.color_temp,msg.data.attributes.min_mireds,msg.data.attributes.max_mireds)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":860,"y":260,"wires":[["d648fbee.a1fa38"]]},{"id":"d648fbee.a1fa38","type":"api-call-service","z":"e0d3a09b.7816e","name":"Light","server":"638b3c86.920fd4","service_domain":"light","service":"turn_on","data":"{\"entity_id\":\"{{data.entity_id}}\"}","mergecontext":"","output_location":"","output_location_type":"none","x":1070,"y":140,"wires":[[]]},{"id":"a293ba91.adccf8","type":"api-current-state","z":"e0d3a09b.7816e","name":"Light","server":"638b3c86.920fd4","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":670,"y":140,"wires":[["8b0032f2.b86c4"]]},{"id":"e0f70afc.4efef8","type":"api-current-state","z":"e0d3a09b.7816e","name":"Light","server":"638b3c86.920fd4","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":670,"y":200,"wires":[["fe296cbf.6e1d9"]]},{"id":"1356e2a3.51909d","type":"api-current-state","z":"e0d3a09b.7816e","name":"Light","server":"638b3c86.920fd4","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":670,"y":260,"wires":[["f0e06fbe.ca82d"]]},{"id":"34dc278f.c68fd8","type":"api-current-state","z":"e0d3a09b.7816e","name":"Light","server":"638b3c86.920fd4","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":670,"y":320,"wires":[["d194a549.a9eea8"]]},{"id":"e4b1d39f.a7363","type":"change","z":"e0d3a09b.7816e","name":"Change entity","rules":[{"t":"move","p":"payload","pt":"msg","to":"action","tot":"msg"},{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.entity_id","pt":"msg","to":"light_entity","tot":"env"},{"t":"set","p":"data.entity_id","pt":"msg","to":"light_entity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":220,"y":180,"wires":[["d8bed0f5.5739f"]]},{"id":"638b3c86.920fd4","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open"}]


  • Jlo88
  • Registratie: augustus 2014
  • Laatst online: 20-07 21:21
@lolgast dat is een nette oplossing! Ik ben nog niet zo handig met hoe je omgaat met de payloads enzo maar eigenlijk is het heel logisch hoe je het nu gemaakt hebt. Heb het net getest en het werkt super!

Acties:
  • +5Henk 'm!

  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 15-07 12:01
Er is weer een kleine update.

Op 1 of andere manier is dit topic niet razendpopulair wat me enigzins verbaast. Dit is echt de mooiste software waar ik ooit mee heb gewerkt (althans het zit ergens in de top) het zo uberflexibel. Niet alleen voor home automation, maar voor alles wat data uitpoept.

Hoe kan het dat mensen het fijner lijken te vinden om in een yaml file te gaan zitten rommelen dan gewoon wat mooie flows in elkaar draggen en droppen ? Alles wat met http/tcp praat kun je fantastisch mooi in NR doen en volledig geautomatiseerd. Liefst heb ik nergens knopjes en gebeurd alles automagisch.

Een gemiste kans voor veel mensen denk ik.

Einde brainfart

Acties:
  • +1Henk 'm!
druipsnor schreef op vrijdag 15 maart 2019 @ 20:21:
[...]

Heb je dit in NR gedaan? zoja, zou je je flow willen delen?
Bij deze
YAML:
1
[{"id":"50265648.612f58","type":"function","z":"afed89c9.ec0e38","name":"Message template","func":"msg.payload = { \n    data: {\n     'title':\n       'De meterstanden van deze maand',\n     'message':\n       \"Energiestand Piek: \" + msg.payload.piek + \" kWh \\nEnergiestand Dal: \" + msg.payload.dal + \" kWh \\nGasstand: \" + msg.payload.gas + \" m³\" }};\nmsg.payload.service = 'iphones'\nreturn msg;","outputs":1,"noerr":0,"x":1130,"y":110,"wires":[["d4224149.8d6348"]]},{"id":"72032069.d157","type":"change","z":"afed89c9.ec0e38","name":"copy payloads","rules":[{"t":"set","p":"payload.dal","pt":"msg","to":"payload.results.0.electricity_delivered_1","tot":"msg"},{"t":"set","p":"payload.piek","pt":"msg","to":"payload.results.0.electricity_delivered_2","tot":"msg"},{"t":"set","p":"payload.gas","pt":"msg","to":"payload.results.0.extra_device_delivered","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":910,"y":110,"wires":[["50265648.612f58"]]},{"id":"89bdf884.dc4fc8","type":"http request","z":"afed89c9.ec0e38","name":"DSMR API","method":"GET","ret":"obj","url":"http://192.168.4.50:8888/api/v2/datalogger/dsmrreading?ordering=-timestamp&limit=1","tls":"","x":700,"y":110,"wires":[["72032069.d157"]]},{"id":"ec5ace9e.0e985","type":"change","z":"afed89c9.ec0e38","name":"set headers","rules":[{"t":"set","p":"headers['X-AUTHKEY']","pt":"msg","to":"Hier-je-API-key","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":110,"wires":[["89bdf884.dc4fc8"]]},{"id":"14b316e8.e9e589","type":"function","z":"afed89c9.ec0e38","name":"first_of_month","func":"msg.payload = msg.payload + 7200000\nlet dayOfMonth = new Date(msg.payload).getDate();\n//let hourOfDay = new Date(msg.payload).getHours();\n//let minuteOfDay = new Date(msg.payload).getMinutes();\nif (dayOfMonth === 1) {\n    return [ msg ];\n}\nelse {\n    return [ null ];\n}","outputs":1,"noerr":0,"x":320,"y":110,"wires":[["ec5ace9e.0e985"]]},{"id":"1d4e82b.159f6fd","type":"inject","z":"afed89c9.ec0e38","name":"run @ 2:00","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"00 02 * * *","once":false,"onceDelay":0.1,"x":130,"y":110,"wires":[["14b316e8.e9e589"]]}]


  • druipsnor
  • Registratie: januari 2011
  • Laatst online: 21-07 11:43
lolgast schreef op vrijdag 15 maart 2019 @ 21:25:
[...]

Bij deze
YAML:
1
[{"id":"50265648.612f58","type":"function","z":"afed89c9.ec0e38","name":"Message template","func":"msg.payload = { \n    data: {\n     'title':\n       'De meterstanden van deze maand',\n     'message':\n       \"Energiestand Piek: \" + msg.payload.piek + \" kWh \\nEnergiestand Dal: \" + msg.payload.dal + \" kWh \\nGasstand: \" + msg.payload.gas + \" m³\" }};\nmsg.payload.service = 'iphones'\nreturn msg;","outputs":1,"noerr":0,"x":1130,"y":110,"wires":[["d4224149.8d6348"]]},{"id":"72032069.d157","type":"change","z":"afed89c9.ec0e38","name":"copy payloads","rules":[{"t":"set","p":"payload.dal","pt":"msg","to":"payload.results.0.electricity_delivered_1","tot":"msg"},{"t":"set","p":"payload.piek","pt":"msg","to":"payload.results.0.electricity_delivered_2","tot":"msg"},{"t":"set","p":"payload.gas","pt":"msg","to":"payload.results.0.extra_device_delivered","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":910,"y":110,"wires":[["50265648.612f58"]]},{"id":"89bdf884.dc4fc8","type":"http request","z":"afed89c9.ec0e38","name":"DSMR API","method":"GET","ret":"obj","url":"http://192.168.4.50:8888/api/v2/datalogger/dsmrreading?ordering=-timestamp&limit=1","tls":"","x":700,"y":110,"wires":[["72032069.d157"]]},{"id":"ec5ace9e.0e985","type":"change","z":"afed89c9.ec0e38","name":"set headers","rules":[{"t":"set","p":"headers['X-AUTHKEY']","pt":"msg","to":"Hier-je-API-key","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":110,"wires":[["89bdf884.dc4fc8"]]},{"id":"14b316e8.e9e589","type":"function","z":"afed89c9.ec0e38","name":"first_of_month","func":"msg.payload = msg.payload + 7200000\nlet dayOfMonth = new Date(msg.payload).getDate();\n//let hourOfDay = new Date(msg.payload).getHours();\n//let minuteOfDay = new Date(msg.payload).getMinutes();\nif (dayOfMonth === 1) {\n    return [ msg ];\n}\nelse {\n    return [ null ];\n}","outputs":1,"noerr":0,"x":320,"y":110,"wires":[["ec5ace9e.0e985"]]},{"id":"1d4e82b.159f6fd","type":"inject","z":"afed89c9.ec0e38","name":"run @ 2:00","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"00 02 * * *","once":false,"onceDelay":0.1,"x":130,"y":110,"wires":[["14b316e8.e9e589"]]}]

Top, dankjewel.

  • jmachiels
  • Registratie: januari 2009
  • Laatst online: 11:33
Zijn er hier mensen die de node-red-contrib-nefit-easy2 in Node-Red aan de praat hebben gekregen? Hij zegt connected maar de debug geeft geen output.

  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 15-07 12:01
jmachiels schreef op zondag 17 maart 2019 @ 18:30:
Zijn er hier mensen die de node-red-contrib-nefit-easy2 in Node-Red aan de praat hebben gekregen? Hij zegt connected maar de debug geeft geen output.
Heb je geprobeerd de debug node op complete msg object te zetten ?

  • Snipperty
  • Registratie: november 2017
  • Laatst online: 29-05 13:26
Is hier ook iemand die NR gebruikt icm Slack? (of is deze combi een apart topic?)

  • jmachiels
  • Registratie: januari 2009
  • Laatst online: 11:33
z1rconium schreef op woensdag 20 maart 2019 @ 00:21:
[...]

Heb je geprobeerd de debug node op complete msg object te zetten ?
Geen effect helaas.
Snipperty schreef op donderdag 21 maart 2019 @ 19:47:
Is hier ook iemand die NR gebruikt icm Slack? (of is deze combi een apart topic?)
Vrij algemene vraag. Waar ben je naar op zoek? Er is een actief onderhouden module voor beschikbaar: https://flows.nodered.org/node/node-red-contrib-slack

  • Snipperty
  • Registratie: november 2017
  • Laatst online: 29-05 13:26
Ik weet dat er een module voor Slack is. Ik loop tegen een uitdaging aan icm Slack en hoop dat er iemand is die mij hiermee kan helpen. Issue is Async afhandeling.
Gebuitker klikt op button in slack (dan komt er een text "processing" te staan, vervolgens wordt er een andere externe API aangeropen en wanneer deze OK (200) geeft moet er pas een bericht 200 terug naar Slack.. Heb reeds van alles geprobeerd, maar tot op heden zonder succes,. Dus vandaar de vraag hier.

  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 15-07 12:01
Snipperty schreef op donderdag 21 maart 2019 @ 23:58:
Ik weet dat er een module voor Slack is. Ik loop tegen een uitdaging aan icm Slack en hoop dat er iemand is die mij hiermee kan helpen. Issue is Async afhandeling.
Gebuitker klikt op button in slack (dan komt er een text "processing" te staan, vervolgens wordt er een andere externe API aangeropen en wanneer deze OK (200) geeft moet er pas een bericht 200 terug naar Slack.. Heb reeds van alles geprobeerd, maar tot op heden zonder succes,. Dus vandaar de vraag hier.
Klinkt niet ingewikkeld. Heb je mss een flow ?

Acties:
  • +1Henk 'm!

  • Tranzity
  • Registratie: januari 2001
  • Niet online
z1rconium schreef op vrijdag 15 maart 2019 @ 18:00:
Er is weer een kleine update.

Op 1 of andere manier is dit topic niet razendpopulair wat me enigzins verbaast. Dit is echt de mooiste software waar ik ooit mee heb gewerkt (althans het zit ergens in de top) het zo uberflexibel. Niet alleen voor home automation, maar voor alles wat data uitpoept.

Hoe kan het dat mensen het fijner lijken te vinden om in een yaml file te gaan zitten rommelen dan gewoon wat mooie flows in elkaar draggen en droppen ? Alles wat met http/tcp praat kun je fantastisch mooi in NR doen en volledig geautomatiseerd. Liefst heb ik nergens knopjes en gebeurd alles automagisch.

Een gemiste kans voor veel mensen denk ik.

Einde brainfart
Misschien is het zo gemakkelijk in gebruik dat er geen vragen over gesteld hoeft te worden?
Ik ben 100% tevreden, ook ik ben het er mee eens dat dit een mooi stuk software is! O+

  • Snipperty
  • Registratie: november 2017
  • Laatst online: 29-05 13:26
@z1rconium Ik heb nog geen correcte flow, want die krijg ik dus niet werkend. Wat ik wel heb is de nodejs code die ik destijds gemaakt heb en die wel werkt en die ik wil omzetten naar NodeRed (ik wil van de code weg en deze fatastsche tool Node red gebruiken)


code:
1
2
3
4
5
6
7
8
9
10
11
12
app.post('/slack/review', urlencodedParser, async (req,res) => {
    try{res.send(`Contract is currently processed`)
        var request = JSON.parse(req.body.payload);
        var slackmessage = await SlackContractReviewContent(request);
        var response = await sendContractReview(slackmessage.entity, slackmessage.status);
        var Slackresponse = await sendSlackDelayedMessage(slackmessage,response);
        console.log(Slackresponse);
        res.end()
    } catch (err) {
        console.log(`Could not be processed!`);
        res.end();
    };


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 08:54
z1rconium schreef op vrijdag 15 maart 2019 @ 18:00:
Er is weer een kleine update.

Op 1 of andere manier is dit topic niet razendpopulair wat me enigzins verbaast. Dit is echt de mooiste software waar ik ooit mee heb gewerkt (althans het zit ergens in de top) het zo uberflexibel. Niet alleen voor home automation, maar voor alles wat data uitpoept.

Hoe kan het dat mensen het fijner lijken te vinden om in een yaml file te gaan zitten rommelen dan gewoon wat mooie flows in elkaar draggen en droppen ? Alles wat met http/tcp praat kun je fantastisch mooi in NR doen en volledig geautomatiseerd. Liefst heb ik nergens knopjes en gebeurd alles automagisch.

Een gemiste kans voor veel mensen denk ik.

Einde brainfart
Omdat ik bepaalde automations met HA wel aan de gang krijg maar in NR niet. Tevens gebruik ik bepaalde automations (bijv. vertraagd opstarten van bepaalde services) in HA zodat ik niet hoef te wachten tot NR is gestart en dan een automation af trapt.

De melding dat de wasmachine klaar is krijg ik bijv. met geen mogelijkheid meer aan de gang met NR. Maak gebruik van de Power-monitor (https://flows.nodered.org...red-contrib-power-monitor) en in standby gebruikt de wasmachine ongeveer 3 watt. Heb dus al van alles geprobeerd met de Power threshold, start after, stop after e.d. maar ik krijg óf geen melding, óf elke 15 minuten een melding. Terwijl ik gewoon één melding wil als de wasmachine klaar is :(

  • MrBarBarian
  • Registratie: oktober 2003
  • Laatst online: 20-07 12:33
Goudduif schreef op woensdag 13 februari 2019 @ 22:23:
Momenteel lees ik de OpenTherm Gateway uit via Domoticz, en dat werkt goed.
Maar ik wil hem juist via Node-red laten werken..
De Opentherm GW heeft een Ethernet aansluiting, en Node-Red maakt verbinding via een TCP Connectie op poort 23.

[Afbeelding: TCP Telnet settings]


JSON:
1
[{"id":"51c8c8c5.c3c088","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"bf5a772b.13a2f8","type":"openthermdec","z":"51c8c8c5.c3c088","name":"Room Setpoint","x":754.25,"y":386.24999237060547,"wires":[["e7bab556.87a708","650cdf6d.2b5da"]]},{"id":"e7bab556.87a708","type":"debug","z":"51c8c8c5.c3c088","name":"","active":true,"console":"false","complete":"true","x":924.25,"y":452.24999237060547,"wires":[]},{"id":"c5186733.2c1f58","type":"otgwdec","z":"51c8c8c5.c3c088","name":"Room Setpoint","x":299.25,"y":393.24999237060547,"wires":[["b418f6f9.e35bd8","6f5b1770.1313b8"]]},{"id":"b418f6f9.e35bd8","type":"debug","z":"51c8c8c5.c3c088","name":"","active":false,"console":"false","complete":"true","x":453.25,"y":458.24999237060547,"wires":[]},{"id":"99384142.f55bb","type":"file","z":"51c8c8c5.c3c088","name":"","filename":"/opentherm.log","appendNewline":true,"createDir":true,"overwriteFile":"false","x":1145.25,"y":388.24999237060547,"wires":[[]]},{"id":"650cdf6d.2b5da","type":"function","z":"51c8c8c5.c3c088","name":"To CSV","func":"msg.payload =         msg.raw\n              + \",\" + msg.msgtype\n              + \",\" + msg.dataid\n              + \",\" + msg.datavalue\n              + \",\" + msg.topic\n              + \",\" + msg.payload;\nreturn msg;","outputs":1,"noerr":0,"x":967.25,"y":388.24999237060547,"wires":[["99384142.f55bb"]]},{"id":"6f5b1770.1313b8","type":"switch","z":"51c8c8c5.c3c088","name":"read ack/write ack/else","property":"msgtype","propertyType":"msg","rules":[{"t":"eq","v":"4","vt":"num"},{"t":"eq","v":"5","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":3,"x":507.25,"y":393.24999237060547,"wires":[["bf5a772b.13a2f8"],["bf5a772b.13a2f8"],[]]},{"id":"4be361d5.cbda6","type":"tcp in","z":"51c8c8c5.c3c088","name":"Room Setpoint","server":"client","host":"192.168.0.7","port":"23","datamode":"stream","datatype":"buffer","newline":"","topic":"Room Setpoint","base64":false,"x":109,"y":529,"wires":[["c5186733.2c1f58"]],"outputLabels":["9600N"]}]



Helaas krijg ik echter, alleen deze foutmeldingen

3-2-2019 22:06:26node: Room Setpoint
msg : string[38]
"Illegal message length 'SC: 22:06/3↵'"
13-2-2019 22:06:26node: Room Setpoint
msg : string[230]
"Illegal message length 'PR: G=11↵PR: I=00↵PR: O=T21.50↵PS: 1↵00000011/00001010,54.00,00000011/00000011,0.00,0/0,21.50,0.00,0.00,21.51,49.80,0.00,0.00,45.10,60/40,75/20,60.00,70.00,65535,65535,63296,65535,14798,18946,712,860↵'"


Helaas heb ik momenteel nog tekort kennis van Node-red, om hier uit te komen.
Hopelijk kan een van jullie mij duidelijk maken, hoe ik dit werkend kan krijgen?

Mogelijk met wat een wat uitgebreidere voorbeeld flow.
Zelfde hier. Ben je er nog verder mee gekomen?

iRacing Profiel


  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 15-07 12:01
MrBarBarian schreef op vrijdag 29 maart 2019 @ 11:07:
[...]

Zelfde hier. Ben je er nog verder mee gekomen?
Wat is het probleem precies ? Heb je een tcp node----debug en dan verschillende instellingen geprobeerd ?

  • MrBarBarian
  • Registratie: oktober 2003
  • Laatst online: 20-07 12:33
z1rconium schreef op zaterdag 30 maart 2019 @ 09:23:
[...]

Wat is het probleem precies ? Heb je een tcp node----debug en dan verschillende instellingen geprobeerd ?
Inmiddels opgelost. hier staat de oplossing.

Er staat een newline character in de eruit gefiltert moet worden.

iRacing Profiel


  • Greetoz
  • Registratie: juni 2002
  • Laatst online: 14:08
Heeft iemand hier misschien een voorbeeld hoe ik een Xiaomi Air Purifier aanstuur via nodered? Als ik google vind ik wel automations binnen HA maar niets met nodered. Ik moet service fanspeed aanspreken volgens mij. https://www.home-assistant.io/components/fan.xiaomi_miio/

Edit:

Het is mij toch gelukt:


code:
1
[{"id":"8f1f0236.beea1","type":"timerswitch","z":"a6bf0d9f.9ec52","name":"Fan Speed","ontopic":"","offtopic":"","onpayload":"Favorite","offpayload":"Silent","disabled":false,"schedules":[{"on_h":"09","on_m":"00","on_s":"00","off_h":"22","off_m":"00","off_s":"00","valid":true}],"x":170,"y":240,"wires":[["c7bd5269.1345"]]},{"id":"e013eec5.bccdd","type":"api-call-service","z":"a6bf0d9f.9ec52","name":"Favorite Speed","server":"23904a0c.56d286","service_domain":"fan","service":"set_speed","data":"{\"entity_id\":\"fan.slaapkamer_luchtreiniger\"}","mergecontext":"","output_location":"payload","output_location_type":"msg","x":740,"y":200,"wires":[[]]},{"id":"c7bd5269.1345","type":"switch","z":"a6bf0d9f.9ec52","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"Favorite","vt":"str"},{"t":"eq","v":"Silent","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":350,"y":240,"wires":[["1c7e8d73.a7f433"],["a8461703.6d50b8"]]},{"id":"49dcc29a.4bcedc","type":"api-call-service","z":"a6bf0d9f.9ec52","name":"Silent Speed","server":"23904a0c.56d286","service_domain":"fan","service":"set_speed","data":"{\"entity_id\":\"fan.slaapkamer_luchtreiniger\"}","mergecontext":"","output_location":"payload","output_location_type":"msg","x":730,"y":280,"wires":[[]]},{"id":"1c7e8d73.a7f433","type":"function","z":"a6bf0d9f.9ec52","name":"Set fan Favorite","func":"msg.payload = {\n  \"data\": {\n    \"speed\": \"Favorite\"\n  }\n};\nreturn msg;","outputs":1,"noerr":0,"x":540,"y":220,"wires":[["e013eec5.bccdd"]]},{"id":"a8461703.6d50b8","type":"function","z":"a6bf0d9f.9ec52","name":"Set fan Silent","func":"msg.payload = {\n  \"data\": {\n    \"speed\": \"Silent\"\n  }\n};\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":260,"wires":[["49dcc29a.4bcedc"]]},{"id":"23904a0c.56d286","type":"server","z":"","name":"Home Assistant"}]

Greetoz wijzigde deze reactie 30-03-2019 14:30 (77%)


  • jossie67
  • Registratie: oktober 2006
  • Laatst online: 12:48
Hi,

Ik heb gisteren mijn NR geupgrade in HA naar versie 3.0.1, maar nu werkt mij I-frame niet meer en ik kan ook niet meer naar NR dmv
http://ipadres:1880

ik kan de oorzaak lijkt te liggen aan ingress , maar hoe kan krijg ik dit nu goed in i-frame en hoe kom ok de ui?

  • Sjef_
  • Registratie: september 2012
  • Laatst online: 14:45
jossie67 schreef op donderdag 18 april 2019 @ 10:59:
Hi,

Ik heb gisteren mijn NR geupgrade in HA naar versie 3.0.1, maar nu werkt mij I-frame niet meer en ik kan ook niet meer naar NR dmv
http://ipadres:1880

ik kan de oorzaak lijkt te liggen aan ingress , maar hoe kan krijg ik dit nu goed in i-frame en hoe kom ok de ui?
Dit kan nu middels een panel-custom.
zie ook https://www.home-assistant.io/components/panel_custom/

Uit de blogpost van ingress zal er in versie 0.92.0 een anders oplossing hiervoor komen.

code:
1
2
3
4
5
6
7
8
9
- name: hassio-main
  sidebar_title: Node-RED
  sidebar_icon: mdi:sitemap
  js_url: /api/hassio/app/entrypoint.js
  url_path: nodered
  embed_iframe: true
  require_admin: true
  config:
    ingress: a0a0a123_nodered


  • GAEvakYD
  • Registratie: juni 2001
  • Laatst online: 21-07 22:12
Vraag. Ik heb een groot deel van mijn huis automatisering met Node-Red geautomatiseerd. Nu heb ik iets vaags waar ik maar niet kom, ook niet met Google als vriend.

Ik gebruik een simpele input_select om de WTW snelheid te sturen. Die input_select zit aan een andere flow gekoppeld die een 0-10v uitgang richting de WTW stuurt. Dit werkt top, en als ik handmatig de input_select verander werkt dat mooi.

Nu heb ik een flow die de luchtvochtigheid in de badkamer uitleest en op basis daarvan de WTW harder /zachter moet zetten. Ik heb alleen een probleem met het kiezen van een Option voor de Input_select. Ik krijg een error dat ik geen Option Key mag meegeven aan de Call. "extra keys not allowed @ data['Option']"


Op Internet vond ik mensen die aangaven dat ik mogelijk last had van andere attributen of gevulde payload van nodes ervoor. Dus heb ik de payload etc leeggemaakt maar ik houd dezelfde fout.

Iemand een idee wat ik hier nou fout doe?

Kia Niro EV (64 kWh), Alpha Innotec Brine warmtepomp (MSW2-6S), 18x295WP=5310 Wp met Growatt 4600 op Oost, 13x325WP=4225 Wp met Growatt 4200 op Zuid, 8x325WP=2600 Wp met Growatt 2500 op Zuid. Totaal 12135 Wp geïnstalleerd.


  • haborym
  • Registratie: september 2008
  • Laatst online: 14:17
jossie67 schreef op donderdag 18 april 2019 @ 10:59:
Hi,

Ik heb gisteren mijn NR geupgrade in HA naar versie 3.0.1, maar nu werkt mij I-frame niet meer en ik kan ook niet meer naar NR dmv
http://ipadres:1880

ik kan de oorzaak lijkt te liggen aan ingress , maar hoe kan krijg ik dit nu goed in i-frame en hoe kom ok de ui?
Welke versie van HA heb je?

Ik draai momenteel 91.2 (hassio) en ik kan de update van 3.0.1 niet installeren omdat deze "This update is no longer compatible with your system."

  • GAEvakYD
  • Registratie: juni 2001
  • Laatst online: 21-07 22:12
Sjef_ schreef op donderdag 18 april 2019 @ 11:13:
[...]


Dit kan nu middels een panel-custom.
zie ook https://www.home-assistant.io/components/panel_custom/

Uit de blogpost van ingress zal er in versie 0.92.0 een anders oplossing hiervoor komen.

code:
1
2
3
4
5
6
7
8
9
- name: hassio-main
  sidebar_title: Node-RED
  sidebar_icon: mdi:sitemap
  js_url: /api/hassio/app/entrypoint.js
  url_path: nodered
  embed_iframe: true
  require_admin: true
  config:
    ingress: a0a0a123_nodered

Volgens mij hebben ze in Hassio het systeem aangepast. Ze hebben nu Ingress geïmplementeerd en daardoor werken de URL's etc anders met iFrames. In 0.92 is het ook mogelijk om bij elke add-on te kiezen voor de optie "Show in Sidebar". Dan kun je die hele iFrame constructie uit je config halen. Mooie verbetering van de makers van Hassio.

Kia Niro EV (64 kWh), Alpha Innotec Brine warmtepomp (MSW2-6S), 18x295WP=5310 Wp met Growatt 4600 op Oost, 13x325WP=4225 Wp met Growatt 4200 op Zuid, 8x325WP=2600 Wp met Growatt 2500 op Zuid. Totaal 12135 Wp geïnstalleerd.


  • jossie67
  • Registratie: oktober 2006
  • Laatst online: 12:48
haborym schreef op zondag 28 april 2019 @ 16:55:
[...]


Welke versie van HA heb je?

Ik draai momenteel 91.2 (hassio) en ik kan de update van 3.0.1 niet installeren omdat deze "This update is no longer compatible with your system."
Ik heb net weer geupgrade naar 0.92.1, mijn NR versie is 1.3.5 , ik kan upgrade naar 3.0.3, maar als ik dat doe dan werkt NR tot dat ik eer reboot doen.

Ondertussen wel gemigeerd naar een NUC met daarom Proxmox, daarop een Ubuntu 18.04 met Hassio
Voorlopig ga ik niet upgrade, en als ik het weer een probeer maak ik eerst een snapshot met Proxmox

  • GAEvakYD
  • Registratie: juni 2001
  • Laatst online: 21-07 22:12
GAEvakYD schreef op zondag 28 april 2019 @ 10:10:
Vraag. Ik heb een groot deel van mijn huis automatisering met Node-Red geautomatiseerd. Nu heb ik iets vaags waar ik maar niet kom, ook niet met Google als vriend.

Ik gebruik een simpele input_select om de WTW snelheid te sturen. Die input_select zit aan een andere flow gekoppeld die een 0-10v uitgang richting de WTW stuurt. Dit werkt top, en als ik handmatig de input_select verander werkt dat mooi.

Nu heb ik een flow die de luchtvochtigheid in de badkamer uitleest en op basis daarvan de WTW harder /zachter moet zetten. Ik heb alleen een probleem met het kiezen van een Option voor de Input_select. Ik krijg een error dat ik geen Option Key mag meegeven aan de Call. "extra keys not allowed @ data['Option']"
[Afbeelding]

Op Internet vond ik mensen die aangaven dat ik mogelijk last had van andere attributen of gevulde payload van nodes ervoor. Dus heb ik de payload etc leeggemaakt maar ik houd dezelfde fout.

Iemand een idee wat ik hier nou fout doe?
Iemand enig idee wat ik hier fout doe met Input_select.select_option?

Kia Niro EV (64 kWh), Alpha Innotec Brine warmtepomp (MSW2-6S), 18x295WP=5310 Wp met Growatt 4600 op Oost, 13x325WP=4225 Wp met Growatt 4200 op Zuid, 8x325WP=2600 Wp met Growatt 2500 op Zuid. Totaal 12135 Wp geïnstalleerd.


  • RobertMe
  • Registratie: maart 2009
  • Laatst online: 14:25
GAEvakYD schreef op dinsdag 30 april 2019 @ 08:58:
[...]


Iemand enig idee wat ik hier fout doe met Input_select.select_option?
option i.p.v. Option moet het volgens mij zijn.

  • GAEvakYD
  • Registratie: juni 2001
  • Laatst online: 21-07 22:12
RobertMe schreef op dinsdag 30 april 2019 @ 09:33:
[...]

option i.p.v. Option moet het volgens mij zijn.
Dammmm, dat was de truc. Wat kan de oplossing toch soms makkelijk zijn. 8)7

Dank.

Kia Niro EV (64 kWh), Alpha Innotec Brine warmtepomp (MSW2-6S), 18x295WP=5310 Wp met Growatt 4600 op Oost, 13x325WP=4225 Wp met Growatt 4200 op Zuid, 8x325WP=2600 Wp met Growatt 2500 op Zuid. Totaal 12135 Wp geïnstalleerd.


  • MrBarBarian
  • Registratie: oktober 2003
  • Laatst online: 20-07 12:33
Ik wil Node-red gebruiken om SBFspot via MQTT te laten communiceren met Home Assistent.

Ik heb SBFspot zo geconfigureert dat de data van mijn Sunnyboy naar een SQLite database wordt geschreven. Ik zou denken dat het nu niet moeilijk zou moeten zijn om dmv Node-Rred e.a om te zetten naar MQTT. Maar, helaas toch wel (ben ook nog een beginner met Node-Red :)).

Wie kan helpen? Als hetzelfde resultaat mogelijk is door CSV-files uit te lezen is dat ook prima ;)

Data schrijven naar een SQLite db lijkt niet zo moeilijk te zijn. Maar lezen....

MrBarBarian wijzigde deze reactie 30-04-2019 19:22 (8%)

iRacing Profiel


  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
Ik heb geen ervaring met SQLite, maar heb je al gekeken naar een module om met SQLite te communiceren? Het klinkt wel haalbaar.

https://randomnerdtutoria...ode-red-and-raspberry-pi/
https://flows.nodered.org/node/node-red-node-sqlite

Overigens installeer ik modules gewoon vanuit NR zelf, niet via commando's. Simpelweg via het hamburgermenu -> manage palette

Als het je lukt om een query uit te voeren en naar een debug-node te sturen om te zien hoe de data uit de database gehaald wordt, kan je daarna aan stap 2 beginnen, namelijk hoe je de berichten wilt aanpassen alvorens tenslotte ze naar een MQTT output node (standaard functionaliteit in NR) te sturen.

Ik vermoed dat je via een split node de afzonderlijke records uit de database wilt opsplitsen in losse messages en daarna via een change node ze qua structuur aan te passen voordat ze naar de MQTT node kunnen gaan.

Acties:
  • +1Henk 'm!

  • ThinkPad
  • Registratie: juni 2005
  • Nu online

ThinkPad

Moderator Duurzame Energie & Domotica

L460

Mijn thuisserver is een simpele Lenovo desktop. Deze heeft geen fancy iLO of iDRAC om stroomverbruik bij te houden. Ik heb daarom een Sonoff POW R2 met Tasmota ertussen gehangen om het stroomverbruik bij te houden. Het viel mij namelijk op dat hij soms ineens meer stroom ging verbruiken (geheugenlek ergens in een VM denk ik).

De VM's op de server monitor ik met PRTG. Het stroomverbruik van de server wilde ik hier ook in meenemen. Je kunt in PRTG een HTTP content sensor toevoegen, maar deze wil de waarde als volgt hebben '[28]' (28 Watt), terwijl de Sonoff de data in JSON-formaat uitspuugt.
Met Node-RED had ik het echter zo aan elkaar geknoopt :D

Data wordt opgehaald bij de Sonoff en PRTG kan bij Node-RED de data opvragen 8)
https://tweakers.net/ext/f/KAD5Vv1VHQSGump6bdGuaPSA/full.jpg

Flow:

JSON:
1
[{"id":"9498c4d2.f53598","type":"http response","z":"774afe0a.1e21a","name":"","statusCode":"","headers":{},"x":930,"y":720,"wires":[]},{"id":"43c1737e.50142c","type":"http in","z":"774afe0a.1e21a","name":"","url":"prtg","method":"get","upload":false,"swaggerDoc":"","x":160,"y":720,"wires":[["14cf1c5e.c743c4"]]},{"id":"79e07b5d.f96e14","type":"template","z":"774afe0a.1e21a","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<html>\n    <head></head>\n    <body>\n        [{{payload}}]\n    </body>\n</html>","output":"str","x":780,"y":720,"wires":[["9498c4d2.f53598"]]},{"id":"14cf1c5e.c743c4","type":"http request","z":"774afe0a.1e21a","name":"Sonoff POW (Server)","method":"GET","ret":"obj","url":"http://192.168.6.35/cm?cmnd=status%208","tls":"","x":380,"y":720,"wires":[["758e5357.f3843c"]]},{"id":"758e5357.f3843c","type":"change","z":"774afe0a.1e21a","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"msg.payload.StatusSNS.ENERGY.Power","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":720,"wires":[["79e07b5d.f96e14"]]}]



Ik laat PRTG naar de URL http://192.168.8.11:1880/prtg (dat is m'n Node-RED VM) gaan om de data op te halen. Werkt prima!

ThinkPad wijzigde deze reactie 11-05-2019 09:29 (6%)

Gas besparen door CV-tuning | Elektriciteit besparen
Geen (Domoticz) vragen via privébericht die ook via het forum kunnen a.u.b.

Ik heb een vraag. Ik ben aan het proberen om de nieuwe Ziggo Mediabox Next aan te sturen, aan de hand van deze opzet: https://github.com/basst85/NextRemoteJs

Nu loop ik tegen het probleem aan dat je de MQTT credentials bij NR vast invult, maar de autorisatietoken van Ziggo wijzigt elke X-uur. Iemand hier een oplossing voor?

Acties:
  • 0Henk 'm!

  • Thoit
  • Registratie: februari 2015
  • Laatst online: 08:54
Is er de mogelijkheid om het token elke X-uur ergens weg te schrijven @lolgast ? Vervolgens het token dan uit dat bestandje ophalen en die inhoud als credentials invullen.

Variabele gebruiken: http://www.steves-internet-guide.com/node-red-variables/

Bestand uitlezen: https://discourse.nodered...-with-file-in-node/2786/3

----

Wat ik trouwens wil is als ik het huis verlaat een controle plaatsvind of alle deuren / ramen gesloten zijn. Dit kan ik doen door bijv. voor elke sensor een current state op te halen, maar inmiddels zijn dit dermate veel sensoren waardoor het erg onoverzichtelijk wordt. Bij de trigger state node kan je meerdere sensoren in één node aangeven, maar bij current state gaat dat helaas niet.
Het enige wat ik mij kan bedenken is alle sensoren in een groep en de groep in de current state. Maar volgens mij is groepen gebruiken in HA oud?

Hoe doen jullie dit?

Acties:
  • 0Henk 'm!
@Thoit Het probleem zit hem in de het invullen van de credentials. Ik heb nu een work-around gevonden.
Ik heb in mijn docker-compose bestand van Node-RED een environment variabele geplaatst, ZIGGO_TOKEN. Naar die variabele verwijs ik in het wachtwoordveld van de MQTT broker via ${ZIGGO_TOKEN}. Vervolgens haal ik via http requests het token op, via een sed command plaats ik het nieuwe token in de docker-compose.
Hier zit nu mijn volgende uitdaging, een herstart van de container leest de nieuwe variabele niet uit, hij moet opnieuw gemaakt worden. De Docker API voorziet niet makkelijk in deze functie, dus het zal wel het uitlezen van de container config worden, dat vertalen naar een config file om een container te maken, container weggooien, container opnieuw aanmaken worden. Ofzo :+

En dat allemaal om die stomme Ziggo box via de MQTT servers van Ziggo aan te kunnen spreken. Misschien moet ik er maar mee stoppen :+

lolgast wijzigde deze reactie 17-05-2019 08:50 (25%)


  • H143
  • Registratie: juli 2006
  • Laatst online: 20-07 10:20
weet iemand ook of er een node beschikbaar is om 2 flows samen te berekenen.
ik heb een flow met mijn bruto verbruik en 1 met mijn pv opbrengst. deze wil ik vanelkaar aftrekken zodat ik mijn netto verbruik inbeeld kan hebben

Acties:
  • +1Henk 'm!

  • Lennyz
  • Registratie: januari 2010
  • Laatst online: 21-07 16:04
H143 schreef op zaterdag 18 mei 2019 @ 15:10:
weet iemand ook of er een node beschikbaar is om 2 flows samen te berekenen.
ik heb een flow met mijn bruto verbruik en 1 met mijn pv opbrengst. deze wil ik vanelkaar aftrekken zodat ik mijn netto verbruik inbeeld kan hebben
Je kunt daar zelf een function voor schrijven. Je hebt hier de context variable voor nodig om te zorgen dat de data wordt bewaard in de function. Zoiets:


code:
1
2
3
4
5
6
7
8
9
10
11
12
var bruto = context.get('bruto')||0;
var netto = context.get('netto')||0;

if (msg.topic === 'nettoVerbruik') {
    netto = msg.payload;
    context.set('netto',netto);
} else if (msg.topic === 'brutoVerbruik') {
    bruto = msg.payload;
    context.set('bruto',bruto); 
}
msg.payload = bruto - netto;
return msg;


Acties:
  • 0Henk 'm!

  • H143
  • Registratie: juli 2006
  • Laatst online: 20-07 10:20
Aegle schreef op zaterdag 17 november 2018 @ 00:05:
Als vervolg op bovenstaande perikelen...
Ik heb twee vraagjes waarvan ik niet weet of het in dit topic thuis hoort... :?

Mijn output uit de Influx-node stopt met schrijven zodra de waarde 0 kWh is:

code:
1
2
3
4
....
if (opbrengst > 0) {
  return msg;
}


De laatste waarde die in de Influx database wordt geschreven is die waarde voordat ie 0 wordt. Bijvoorbeeld 6W. Dit blijft zo tot de volgende ochtend als de omvormer weer. Egint met produceren.

Vraag 1:
Hoe schrijf ik nog één of een paar keer een waarde 0 naar Influx? Dus nadat opbrengst = “0”, deze naar de database wegschrijven.

Vraag 2:
Meer een Grafana dingetje, denk ik: Elke 10 seconden lees ik de Youless uit. De output wordt dus ook elke 10 seconden naar de database geschreven. Hoe laat ik nu de grafiek in Grafana “meelopen” met de output van de node? Ik wil voorkomen dat Grafana de hele avond en nacht de laatste waarde weergeeft.

Een beetje duidelijk...? :? .

EDIT: in de docs van Grafana kan ik er niets over vinden.. :'( .
ik loop ook tegen punt 1 aan heb jij dit inmiddels al opgelost?

Acties:
  • 0Henk 'm!

  • Aegle
  • Registratie: november 2013
  • Laatst online: 12:23

Aegle

"hier" = Schiedam, ZH...

@H143: nee, nog niet. Wegens andere beslommeringen staat het momenteel ook even op een laag pitje...

10 x Yingli YL260C-30b @ 10 x OP300 SolarEdge optimizers en SE3000 op 158º. Live: PVoutput , SolarEdge


Acties:
  • 0Henk 'm!

  • H143
  • Registratie: juli 2006
  • Laatst online: 20-07 10:20
Lennyz schreef op zondag 19 mei 2019 @ 09:58:
[...]


Je kunt daar zelf een function voor schrijven. Je hebt hier de context variable voor nodig om te zorgen dat de data wordt bewaard in de function. Zoiets:


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Bedankt heb het eerst maar zo opgelost

var bruto = context.get('bruto')||0;
var netto = context.get('netto')||0;

if (msg.topic === 'nettoVerbruik') {
    netto = msg.payload;
    context.set('netto',netto);
} else if (msg.topic === 'brutoVerbruik') {
    bruto = msg.payload;
    context.set('bruto',bruto); 
}
msg.payload = bruto - netto;
return msg;


Acties:
  • 0Henk 'm!

  • H143
  • Registratie: juli 2006
  • Laatst online: 20-07 10:20
Aegle schreef op maandag 20 mei 2019 @ 13:44:
@H143: nee, nog niet. Wegens andere beslommeringen staat het momenteel ook even op een laag pitje...
ik heb het inmiddels voor elkaar mochten er de afgelopen minuut geen pulsen geweest zijn dan gaat hij dmv een flow automatisch naar 0w

https://tweakers.net/ext/f/huG5cTsxDJky9agVRl5LYLaK/thumb.png

ongetwijfeld kan dit een stuk netter voor mij werkt het in iedergeval. mocht iemand mij willen verbeteren graag :) daar kunnen we alleen maar wat van leren



code:
1
[{"id":"72a736e2.ab0008","type":"mqtt in","z":"a2fb3f6e.317d","name":"KWH PV Pulsen","topic":"/ESP_Easy/PV/Count","qos":"2","datatype":"auto","broker":"8cdc16b6.c2b8c8","x":118.10000610351562,"y":132.0000286102295,"wires":[["f660d217.2082a"]]},{"id":"5bd69fba.71993","type":"influxdb out","z":"a2fb3f6e.317d","influxdb":"e3e8b0c3.4354c","name":"kwhtestpulse","measurement":"kwhPVcount","precision":"","retentionPolicy":"","x":627.1000595092773,"y":129.60005378723145,"wires":[]},{"id":"f660d217.2082a","type":"change","z":"a2fb3f6e.317d","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":369.1000518798828,"y":130.80002975463867,"wires":[["5bd69fba.71993","3d716806.1fe798"]]},{"id":"f969e6f6.259928","type":"mqtt in","z":"a2fb3f6e.317d","name":"kwhPVTime","topic":"/ESP_Easy/PV/Time","qos":"2","datatype":"auto","broker":"8cdc16b6.c2b8c8","x":116,"y":431.200008392334,"wires":[["4c3b0aeb.08e154"]]},{"id":"4c3b0aeb.08e154","type":"change","z":"a2fb3f6e.317d","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":454.0000305175781,"y":436.00000762939453,"wires":[["83095e2f.bee73"]]},{"id":"5568b1c1.1ea61","type":"influxdb out","z":"a2fb3f6e.317d","influxdb":"e3e8b0c3.4354c","name":"time","measurement":"kwhPVtime","precision":"","retentionPolicy":"","x":879.0000534057617,"y":251.80002975463867,"wires":[]},{"id":"83095e2f.bee73","type":"traffic","z":"a2fb3f6e.317d","name":"","property_allow":"payload","filter_allow":"aan","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"uit","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":false,"differ":false,"x":685.1000595092773,"y":330.00000762939453,"wires":[["5568b1c1.1ea61"]]},{"id":"6c016e5c.d683d","type":"change","z":"a2fb3f6e.317d","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"uit","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":432.0000305175781,"y":295.0000047683716,"wires":[["83095e2f.bee73"]]},{"id":"7f5165f4.75281c","type":"change","z":"a2fb3f6e.317d","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"aan","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":427.1666069030762,"y":234.99998092651367,"wires":[["83095e2f.bee73"]]},{"id":"3d716806.1fe798","type":"switch","z":"a2fb3f6e.317d","name":"=0 / >1","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"1","vt":"num"},{"t":"eq","v":"0","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":187.00006484985352,"y":273.88877296447754,"wires":[["7f5165f4.75281c"],["6c016e5c.d683d","5568b1c1.1ea61"]],"outputLabels":["off",""]},{"id":"8cdc16b6.c2b8c8","type":"mqtt-broker","z":"","name":"Mosquitto","broker":"192.168.1.102","port":"1883","clientid":"nodered","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"e3e8b0c3.4354c","type":"influxdb","z":"","hostname":"192.168.1.102","port":"8086","protocol":"http","database":"test","name":"","usetls":false,"tls":""}]


Acties:
  • 0Henk 'm!

  • haborym
  • Registratie: september 2008
  • Laatst online: 14:17
Ik zoek een oplossing voor mijn node red flow icm Home assistant.

Ik heb voor mijn tuinbewatering een flow opgezet die in de nacht moet checken hoe vochtig de bodem is. Dan checkt hij of het binnen een uur gaat regen. Indien dat zo is gaat er een timer lopen die een uur wacht met de volgende actie. Daarna wordt nogmaals gekeken hoe nat het is en gaat de tuinbewatering sproeien. So far so good.
Waar ik nog tegen aanloopt is hoe ik een time trigger kan laten starten om de flow te laten lopen.
Ik heb dat nu gedaan door eerst een state node te plaatsen. Die krijgt ongeveer elke 10 min een bericht. Daarna heb ik een range node die kijkt of de tijd tussen 03.00 en 03.30 is.

Ik zou eigenlijk willen dat er niet getriggerd wordt op de state node + een tijd window maar dat de trigger 03.00 is en 1x loopt.

Hoe kan ik dat het beste doen?

Acties:
  • 0Henk 'm!

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
Da's simpel te realiseren met de standaard 'inject' node waarbij je dan bij 'repeat' kan kiezen voor 'at a specific time'.

Acties:
  • 0Henk 'm!

  • UTMachine
  • Registratie: juli 2000
  • Laatst online: 14:00
Ik ben ook net bezig met Node-RED en ben aan het experimenteren met schedex en bigtimer. Bij het gebruik van beide timers bij een exact tijdstip zoals 20:30, merk ik dat de timer ergens tussen 20:30:07-20:30:45 echt start - dus nooit precies op 0 seconden.
Is er iemand die dit kan bevestigen? Misschien werkt het als designed ;-)

Acties:
  • 0Henk 'm!

  • RobertMe
  • Registratie: maart 2009
  • Laatst online: 14:25
UTMachine schreef op vrijdag 31 mei 2019 @ 09:06:
Ik ben ook net bezig met Node-RED en ben aan het experimenteren met schedex en bigtimer. Bij het gebruik van beide timers bij een exact tijdstip zoals 20:30, merk ik dat de timer ergens tussen 20:30:07-20:30:45 echt start - dus nooit precies op 0 seconden.
Is er iemand die dit kan bevestigen? Misschien werkt het als designed ;-)
Kan uiteraard afhankelijk zijn van de hardware die je gebruikt, en dan voornamelijk de systeem belasting.
Maar waarvoor heb je ogenschijnlijk de precieze van 00 seconden nodig? Dat het een aantal seconden later is/kan zijn lijkt mij normaliter niet zo'n probleem.

Acties:
  • 0Henk 'm!

  • UTMachine
  • Registratie: juli 2000
  • Laatst online: 14:00
RobertMe schreef op vrijdag 31 mei 2019 @ 09:10:
[...]
Kan uiteraard afhankelijk zijn van de hardware die je gebruikt, en dan voornamelijk de systeem belasting.
Maar waarvoor heb je ogenschijnlijk de precieze van 00 seconden nodig? Dat het een aantal seconden later is/kan zijn lijkt mij normaliter niet zo'n probleem.
Ik denk niet dat het de hardware is, want het draait op een i5 welke 90%+ idle. Klopt, ik heb niet de precieze 00 nodig, maar ik was benieuwd of het works as designed is of dat het iets anders is ... Als het bij iedereen altijd xx:yy:00 is, dan moet ik Node-RED gaan debuggen, zoniet kan ik verder bouwen.

Acties:
  • 0Henk 'm!

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
Gebeurt het ook bij een doodnormale inject-node die je op een bepaald tijdstip laat starten?

Acties:
  • +1Henk 'm!

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
All, let op als je de 'current state' node gebruikt van de Home Assistant module. In 0.11 is er een aanpassing gedaan aan die node. Daardoor zijn enkele sequences bij mij stuk gegaan.

Als je een sequence hebt waarbij vóórdat je de 'current state' node aanroept, je msg.payload.entity_id al gevuld is, dan zal de status van die entiteit opgevraagd worden bij HA, en niet de status van de entiteit die je hebt ingetypt binnen de instellingen van de 'current state' node.

Bijvoorbeeld: je drukt op een fysieke knop, en je vangt dat af via de HA 'all events' node, dan is de msg.payload.entity_id waarde (zoals altijd) gevuld met welke knop er is ingedrukt. Als je dan vervolgens bij HA via 'current state' wil opvragen of een lamp aan staat, dan zal in deze situatie de status van de knop opgevraagd worden, niet van de lamp.

Om dat te voorkomen moet je binnen de 'current state' node het vakje 'block input overrides' aanvinken. Die optie is twee dagen geleden toegevoegd in v0.12

  • Enzoz89
  • Registratie: oktober 2018
  • Laatst online: 20-07 21:14
hallo allemaal kan iemand mij helpen.

ik ben bezig om een flow te maken maar hoe ik het me bedank moet het vrij simpel zijn maar helaas het luk me niet.

de bedoeling is als volgende.

als ik over dag mijn overloop lampen aan zet met mijn schakelaar moeten ze gewoon aan.
als de zon onder gaat wil ik dat van de 4 lampen er maar 1 aan ga.

kan iemand mij helpen.
alvast bedankt.

  • RobertMe
  • Registratie: maart 2009
  • Laatst online: 14:25
Enzoz89 schreef op maandag 10 juni 2019 @ 15:02:
hallo allemaal kan iemand mij helpen.

ik ben bezig om een flow te maken maar hoe ik het me bedank moet het vrij simpel zijn maar helaas het luk me niet.

de bedoeling is als volgende.

als ik over dag mijn overloop lampen aan zet met mijn schakelaar moeten ze gewoon aan.
als de zon onder gaat wil ik dat van de 4 lampen er maar 1 aan ga.

kan iemand mij helpen.
alvast bedankt.
Iets meer informatie is dan wel handig :)
Hoe weet je of er op de knop is gedrukt? Hoe stuur je de lampen aan?

Gebruik je bv Node-RED in combinatie met Home Assistant? Of heb je bv Hue lampen waarbij je de Hue Bridge aan Node-RED hebt gekoppeld (of hetzelfde alleen dan in combinatie met Ikea Tradfri lampen)? Zonder deze informatie kunnen we je waarschijnlijk niet helpen.

Behalve dat je voor de "als de zon onder gaat" conditie de time range switch node wilt gebruiken. Daarin kun je dan de conditie vast leggen van tussen zons opkomst en zons ondergang dan => zet alle 4 de lampen aan, anders => zet 1 lamp aan.

  • BlackMonkey
  • Registratie: december 2013
  • Laatst online: 14:37
H143 schreef op zondag 19 mei 2019 @ 22:32:
[...]

ik loop ook tegen punt 1 aan heb jij dit inmiddels al opgelost?
Denk ik te simpel of is dat heel makkelijk als volgt op te lossen?

code:
1
2
3
if (opbrengst >= 0) {
  return msg;
}


  • Enzoz89
  • Registratie: oktober 2018
  • Laatst online: 20-07 21:14
Beste RobertMe je heb helemaal gelijk.

nee ik heb 4 tradfri lampen op mijn overloop.
tevens heb ik Home Assistant draaien op mijn intel Nuc met een node red add-on.

ik heb nu voor mijn flows met zonsonder gaan bigtimer node.
maar het idee is als ik overdag me overloop aan doe dt gewoon alle 4 de lampen aan gaan en als de zon onder ga en ik zet mijn lampen dat allen 1 van de vier ga bradnen.

tevens heb ik in Home Assistant een groep gemaakt met deze 4 lampen.

ik hoop dat jij of iemand mij kan helpen.
RobertMe schreef op maandag 10 juni 2019 @ 16:00:
[...]

Iets meer informatie is dan wel handig :)
Hoe weet je of er op de knop is gedrukt? Hoe stuur je de lampen aan?

Gebruik je bv Node-RED in combinatie met Home Assistant? Of heb je bv Hue lampen waarbij je de Hue Bridge aan Node-RED hebt gekoppeld (of hetzelfde alleen dan in combinatie met Ikea Tradfri lampen)? Zonder deze informatie kunnen we je waarschijnlijk niet helpen.

Behalve dat je voor de "als de zon onder gaat" conditie de time range switch node wilt gebruiken. Daarin kun je dan de conditie vast leggen van tussen zons opkomst en zons ondergang dan => zet alle 4 de lampen aan, anders => zet 1 lamp aan.

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
@Enzoz89 Het klinkt eenvoudig te realiseren, maar er mist nog wat info. Is de knop op de overloop ook beschikbaar in Node-Red / HA? Want het indrukken daarvan moet neem ik aan de trigger zijn van de sequence en dus de 1e node zijn in de sequence. Vervolgens pak je bijv. inderdaad de time range switch module. Dan gaat hij via de ene output als het binnen de geconfigureerde periode is, en via de andere output daarbuiten. En na die node plaats je dan de nodes die daadwerkelijk aan Home Assistant moeten vragen om 1 of 4 lampen aan te zetten.

/even out of the box denken: een andere optie zou kunnen zijn - enkele druk op de knop = 1 lamp aan, dubbelklikken = 4 lampen aan, als de knop die je gebruikt dat kan detecteren.

DeadMetal wijzigde deze reactie 13-06-2019 19:35 (12%)


Acties:
  • 0Henk 'm!
  • Pinned

  • tdw
  • Registratie: augustus 2004
  • Laatst online: 21-07 21:03

tdw

Amai seg!

Volgens mij probeer je dit te bereiken:



Zo heb ik het. De LR lights is hier een groep van lichten, en de kitchen LED strip is één licht :) De input komt van een Tradfri-knop.

Wat het doet: Mijn keuken-LED staat altijd aan als ik thuis ben. Overdag of 's avonds zet ik handmatig de lichten aan met de Tradfri-knop, die dan alleen de LR lights bedient. Ik ga altijd tussen 22:00 en 03:00 slapen. Als ik tussen 22:00 en 03:00 weer op de knop druk, dan schakelen alle lampen bij mij thuis uit, volgens mij is dat ongeveer wat je wil. Ik gebruik hier de 'time range node' voor.

"There is that sort of assumption by the government that we're all driving around at 8 o'clock in the morning to be really annoying"
~ James May


  • sterremos
  • Registratie: mei 2013
  • Laatst online: 16-07 16:13
goedeavond, nieuw op dit forum, pas kort overgestapt van Domoticz naar HA. en zag de Node red wat lijkt op blocky.
Net een lamp met een motion sensor in de kast met N.R. aan de praat gekregen.
Ben nu bezig om de sonoffs (4 stuks) gelijk met de ikea lampen uit en aan te laten gaan.

Dit is het schema wat volgens mij zou moeten werken?

https://tweakers.net/ext/f/XnSSTOCoezAvtMDqkSgkJA40/thumb.png

Ron

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
Welkom! Ja zoiets kan je doen. Ik begrijp je code niet helemaal, het lijkt nu alsof je een Sonoff wilt aandoen als er een Sonoff is aangegaan, ik zou dan Ikea ergens verwachten. Maar jij kent jouw setup het beste.

Die gele switch node kan je tegenwoordig weglaten. Bij de 1e node zou je 'on' kunnen invullen bij de 'if-state'. Dan komt er vervolgens een 2e output bij aan die node, die geldt dan voor 'off' (of eigenlijk: alles wat niet 'on' is).

  • Troetelbeer
  • Registratie: juni 2018
  • Laatst online: 09:38
DeadMetal schreef op donderdag 27 juni 2019 @ 12:26:
Bij de 1e node zou je 'on' kunnen invullen bij de 'if-state'. Dan komt er vervolgens een 2e output bij aan die node, die geldt dan voor 'off' (of eigenlijk: alles wat niet 'on' is).
Ah, goede tip :9

Believe. Imagine. Create.


Acties:
  • 0Henk 'm!

  • jossie67
  • Registratie: oktober 2006
  • Laatst online: 12:48
Heeft er iemand met succes somfy zonneschermen samen met Node-red-contrib-rfxcom aan de praat gekregen.
Ik kan maar niet vinden wat ik moet invullen, bij address in de de model rfx-blinds-out.
De extra-code voor de somfy heb ik wel aan in geleerd

Acties:
  • 0Henk 'm!

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
Als het goed is heb je een ID dat uit 3 delen bestaat. Dat vormt samen 6 cijfers (zet bij elk deel een voorloopnul ervoor indien dat deel uit 1 cijfer bestaat). En je hebt een unit code. Ook daar zet je een 0 voor indien nodig, om er 2 cijfers van te maken.

En dan vul je het in NR in als address: RFY/id/unitcode. Inclusief de slashes dus 13 tekens invoeren.

De payload moet down, down of stop zijn.

Acties:
  • 0Henk 'm!

  • jossie67
  • Registratie: oktober 2006
  • Laatst online: 12:48
DeadMetal schreef op maandag 1 juli 2019 @ 20:13:
Als het goed is heb je een ID dat uit 3 delen bestaat. Dat vormt samen 6 cijfers (zet bij elk deel een voorloopnul ervoor indien dat deel uit 1 cijfer bestaat). En je hebt een unit code. Ook daar zet je een 0 voor indien nodig, om er 2 cijfers van te maken.

En dan vul je het in NR in als address: RFY/id/unitcode. Inclusief de slashes dus 13 tekens invoeren.

De payload moet down, down of stop zijn.
Stel mijn code is 12-34-56 , mijn unitcode is 1
Dan krijg ik RFY/123456/1 of RFY/123456/01

Acties:
  • 0Henk 'm!

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
Dat laatste ja, inclusief voorloopnul.

  • Yarisken
  • Registratie: augustus 2010
  • Laatst online: 09:20
Ik ga dit topic ook volgen. Ben aan het kijken naar een tool om mijn stroomverbruik te meten en nodered gaat nog handig zijn.

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
Zie ik nou iets over het hoofd... }:O

Ik heb meerdere sequences waarbij ik een bepaalde waarde in de payload heb zitten. Vervolgens vraag ik via een 'current state node' de status van een entiteit op bij Home Assistant. Enkel bij een bepaalde waarde wil ik dat er iets gebeurt. Maar nou wordt de msg.payload waarde overschreven met de state van de HA entiteit, terwijl ik de originele waarde wil behouden.

Dit werkte in het verleden altijd goed, maar nu niet meer. Anyone? 8)7

/edit: het bleek een bug in de NR HA module te zijn in versie 0.12.1

DeadMetal wijzigde deze reactie 12-07-2019 20:57 (16%)


  • Snuffel
  • Registratie: juni 1999
  • Laatst online: 13:03

Snuffel

Vroem!

Ben nu al een paar dagen aan het stoeien met Node-Red, heb filmpjes gekeken, uitleg gezocht en al, en toch... ik krijg het niet voor elkaar.

Ik wil iets heel simpels: x-aantal lampen gaan aan 20 minuten voor zonsondergang. That.is.it.
EN wat ik ook doe, ik krijg het niet voor elkaar...

Is er iemand die mij echt heel low level stap voor stap kan laten zien welke blokken ik moet gebruiken en wat ik precies erin moet zetten?
Da zou mij al een heel eind helpen.
Echt een n00b vraag, dat besef ik mij heel goed, maar he, ik ben ook een dagje ouder....

You have to be careful if you don't know where you are going because you might not get there...


  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
Snuffel schreef op donderdag 11 juli 2019 @ 12:29:
Ik wil iets heel simpels: x-aantal lampen gaan aan 20 minuten voor zonsondergang. That.is.it.
Hoi! Als je de startpost bekijkt, dan zie je een soortgelijk voorbeeld in het screenshot: ik zou hiervoor de schedex module installeren (hamburgermenu rechtsboven -> manage palette). Dan die node toevoegen in een flow en de settings ervan aanpassen. Je kan dan de coördinaten van jouw huis invullen, zodat NR weet hoe laat de zon op- en onder gaat. Je kan dan 'sunset' invullen en de offset '20', dan stuurt die node een 'on' payload 20 minuten na zonsondergang.
En je kan ook instellen wanneer hij een 'off' payload moet sturen, bijv. middernacht.

De 2e node die je dan toevoegt aan de sequence is een switch node. Hier voeg je twee opties aan de settings toe:
== on
== off

Dit zorgt ervoor dat de switch node 2 uitgangen krijgt. 1 in het geval van on, die daaronder in het geval van off. Dan kan je verschillend gedrag laten uitvoeren. En als laatste nodes om daadwerkelijk je lampen aan te sturen. Hoe dat moet hangt af wat voor soort lampen je hebt, of je bijv. ook Home Assistant of Domoticz draait etc.

  • Snuffel
  • Registratie: juni 1999
  • Laatst online: 13:03

Snuffel

Vroem!

DeadMetal schreef op donderdag 11 juli 2019 @ 14:04:
[...]


Hoi! Als je de startpost bekijkt, dan zie je een soortgelijk voorbeeld in het screenshot: ik zou hiervoor de schedex module installeren (hamburgermenu rechtsboven -> manage palette). Dan die node toevoegen in een flow en de settings ervan aanpassen. Je kan dan de coördinaten van jouw huis invullen, zodat NR weet hoe laat de zon op- en onder gaat. Je kan dan 'sunset' invullen en de offset '20', dan stuurt die node een 'on' payload 20 minuten na zonsondergang.
En je kan ook instellen wanneer hij een 'off' payload moet sturen, bijv. middernacht.

De 2e node die je dan toevoegt aan de sequence is een switch node. Hier voeg je twee opties aan de settings toe:
== on
== off

Dit zorgt ervoor dat de switch node 2 uitgangen krijgt. 1 in het geval van on, die daaronder in het geval van off. Dan kan je verschillend gedrag laten uitvoeren. En als laatste nodes om daadwerkelijk je lampen aan te sturen. Hoe dat moet hangt af wat voor soort lampen je hebt, of je bijv. ook Home Assistant of Domoticz draait etc.
Tnx! Ik heb het voor elkaar, alleen toch weer anders dan je hier hebt omschreven.
Schedex geinstalleerd, timer erin gezet en die bedient direct de lampen. Getest en werkt :)
Geen on/off switch er tussen dus.

Setup hier is Rasp-Pi met Hassio, lampen zijn Ikea en Hue door elkaar :)

You have to be careful if you don't know where you are going because you might not get there...


  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
Ah top, dan stuur je vanuit schedex direct de door de lampen verwachtte waarde uit, mooi.
Die truuk ken ik dan weer niet. Of doe je een 'toggle' actie richting Home Assistant?

DeadMetal wijzigde deze reactie 12-07-2019 17:22 (39%)


  • Snuffel
  • Registratie: juni 1999
  • Laatst online: 13:03

Snuffel

Vroem!

Aan beide kanten wat geleerd dus :)

Kan je Ikea lampen ook op een bepaalde sterkte laten beginnen?

Ik roep nu de ervice aan, stel de lamp in op domain light, service light_on
Nu zie ik in de uitleg eronder dat er in de service light.turn_on meerdere opties zitten zoals color_name, maar ook brightness en brightness_pct

Waar stel ik deze waarden in? Heb al een aantal velden geprobeerd, maar krijg dan direct een error....

You have to be careful if you don't know where you are going because you might not get there...


  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
Hmm, ik snap alleen niet dat jij dan met een payload 'off' de lampen weer kan uitschakelen, als je expliciet een light.turn_on gebruikt in de HA node (of ik begrijp je verkeerd).

/edit: wat ook kan bij de service is typen: turn_{{payload}}
Dan maakt hij er turn_on of turn_off van, afhankelijk van welke waarde er in de msg.payload zit.

Klopt, je kan van alles meegeven, bijv. lichtsterkte. Afhankelijk van wat de lamp of het apparaat wel en niet aankan. In de node die de lampen inschakelt is ook een 'data' invoerveld. Daar typ je dan:

{"brightness":75} <-- dit is op een schaal van 0-255
of:
{"brightness_pct":50} <-- dit is een percentage dus van 0-100

Ik geloof dat sommige lampen enkel met de ene of de andere notatie om kunnen gaan.

DeadMetal wijzigde deze reactie 12-07-2019 20:58 (12%)


  • Snuffel
  • Registratie: juni 1999
  • Laatst online: 13:03

Snuffel

Vroem!

DeadMetal schreef op vrijdag 12 juli 2019 @ 19:36:
Hmm, ik snap alleen niet dat jij dan met een payload 'off' de lampen weer kan uitschakelen, als je expliciet een light.turn_on gebruikt in de HA node (of ik begrijp je verkeerd).

/edit: wat ook kan bij de service is typen: turn_{{payload}}
Dan maakt hij er turn_on of turn_off van, afhankelijk van welke waarde er in de msg.payload zit.

Klopt, je kan van alles meegeven, bijv. lichtsterkte. Afhankelijk van wat de lamp of het apparaat wel en niet aankan. In de node die de lampen inschakelt is ook een 'data' invoerveld. Daar typ je dan:

{"brightness":75} <-- dit is op een schaal van 0-255
of:
{"brightness_pct":50} <-- dit is een percentage dus van 0-100

Ik geloof dat sommige lampen enkel met de ene of de andere notatie om kunnen gaan.
Nee, uitschakelen doet hij niet :) Denk dat ik het verkeerd uit heb gelegd.
Lichtsterkte lukt nu prima, dus dank daarvoor!

Basis is nu geregeld (lampen aan x-minuten voor zonsondergang) en een bepaald aantal lampen op een bepaalde lichtsterkte. Helemaal top!

Nu de integratie gaan zoeken voor mijn Toon, Roborock en een paar Zwave sockets.
Ben echt nog zoekende naar wat hoe werkt, maar de basis is er :)

You have to be careful if you don't know where you are going because you might not get there...


  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 14:42
Voor integraties kan je 2 kanten op.

Of ze toevoegen aan HA: https://www.home-assistant.io/components/
en dan vanuit NR de status bij HA opvragen/veranderen via dezelfde module als die je nu al gebruikt voor de lampen

Of rechtstreeks modules aan NR toevoegen via manage palette. Ik gebruik een mix van beide. Als ik NR iets volautomatisch wil laten regelen, en NR heeft er zelf een module voor, dan gebruik ik dat.

Maar als ik wil dat ook HA het apparaat ook kent, bijvoorbeeld omdat ik ook vanuit de HA webinterface/app iets wil kunnen bedienen, dan voeg ik hem toe aan HA.

In sommige gevallen is de kwaliteit van een HA integratie hoger dan een NR module, bijv. Xiaomi Gateway.

  • haborym
  • Registratie: september 2008
  • Laatst online: 14:17
Wie kan mij verder helpen?
Ik heb een MQTT topic waarin dit wordt opgehaald"
{"StatusSNS":{"Time":"2019-07-19T14:10:31","ENERGY":{"TotalStartTime":"2019-07-18T11:17:04","Total":0.609,"Yesterday":0.335,"Today":0.274,"Power":32,"ApparentPower":71,"ReactivePower":63,"Factor":0.45,"Voltage":247,"Current":0.288}}}

Nu wil ik op basis van "Power" bepalen of het device uit staat (waarde is = 0), in standby staat (power tussen 20 en 40) of aan staat (Power groter dan 45).
Daarmee wil ik een input_select aanpassen in Home Assistant.

Kom er alleen niet uit hoe ik de waarde power kan ontleden.
Voor de keuze wat iets moet worden gebruik ik de switch node en om het in home assistant te zetten gebruik ik de call service functie.

Acties:
  • +1Henk 'm!

  • césaar
  • Registratie: september 2006
  • Laatst online: 14:42
haborym schreef op vrijdag 19 juli 2019 @ 15:14:
Wie kan mij verder helpen?
Ik heb een MQTT topic waarin dit wordt opgehaald"
{"StatusSNS":{"Time":"2019-07-19T14:10:31","ENERGY":{"TotalStartTime":"2019-07-18T11:17:04","Total":0.609,"Yesterday":0.335,"Today":0.274,"Power":32,"ApparentPower":71,"ReactivePower":63,"Factor":0.45,"Voltage":247,"Current":0.288}}}

Nu wil ik op basis van "Power" bepalen of het device uit staat (waarde is = 0), in standby staat (power tussen 20 en 40) of aan staat (Power groter dan 45).
Daarmee wil ik een input_select aanpassen in Home Assistant.

Kom er alleen niet uit hoe ik de waarde power kan ontleden.
Voor de keuze wat iets moet worden gebruik ik de switch node en om het in home assistant te zetten gebruik ik de call service functie.
Volgens mij moet je eerst je mqtt topic in een json node gieten, vervolgens haal je met een function node de gewenste payload eruit. De payload die je nodig hebt, achterhaal je via een debug node met complete message object. Eenmaal je de correcte payload hebt, vervolg je de flow met een switch node.

Edit: function node is niet nodig aangezien switch node de optie heeft om de gewenste msg.payload te selecteren, bv msg.payload.ENERGY.power, de exacte payload die je in jou geval nodig hebt ,vind je dus door een debug node met complete message obj aan je json node te knopen.

césaar wijzigde deze reactie 19-07-2019 20:06 (10%)


  • haborym
  • Registratie: september 2008
  • Laatst online: 14:17
césaar schreef op vrijdag 19 juli 2019 @ 20:00:
[...]


Volgens mij moet je eerst je mqtt topic in een json node gieten, vervolgens haal je met een function node de gewenste payload eruit. De payload die je nodig hebt, achterhaal je via een debug node met complete message object. Eenmaal je de correcte payload hebt, vervolg je de flow met een switch node.

Edit: function node is niet nodig aangezien switch node de optie heeft om de gewenste msg.payload te selecteren, bv msg.payload.ENERGY.power, de exacte payload die je in jou geval nodig hebt ,vind je dus door een debug node met complete message obj aan je json node te knopen.
Gelukt! Heb inderdaad de switch node gebruikt om de waarde op te halen en vervolgens een call service node om te bepalen naar welke input_select.option deze gezet moet worden.
Pagina: 1 ... 5 6 7 Laatste


OnePlus 7 Pro (8GB intern) Nintendo Switch Lite LG OLED C9 Google Pixel 3a XL FIFA 19 Samsung Galaxy S10 Sony PlayStation 5 AMD

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank, Intermediair en Independer de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2019 Hosting door True