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

  • remyy
  • Registratie: augustus 2007
  • Laatst online: 07-03 14:28
Hi mensen, ik had wat tijd over dus dacht laat ik is mijn PI (3) voorzien van HASSio. Dat is tot nu toe niet het lastigste geweest. Een of andere reden is het werkend maken van Node red dat wel.. Wat ik niet had verwacht, want het ziet er super makkelijk uit op youtube. Een of andere reden krijg ik een "connection refused" scherm als ik op 'open web UI' druk. Daarnaast krijg ik een foutmelding in de log eronder. Ik heb al verschillende instellingen aangepast, maar een of andere reden blijft de Node Red crashen.

Ik doe vast iets fouts?

[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing...
Log level is set to INFO
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] 02-updates.sh: executing...
INFO: You are running the latest version of this add-on
[cont-init.d] 02-updates.sh: exited 0.
[cont-init.d] 10-requirements.sh: executing...
FATAL: Setting a credential_secret is REQUIRED!
[cont-init.d] 10-requirements.sh: exited 1.
[cont-finish.d] executing container finish scripts...
[cont-finish.d] 99-message.sh: executing...
-----------------------------------------------------------
Oops! Something went wrong.

We are so sorry, but something went terribly wrong when
starting or running this add-on.

Be sure to check the log above, line by line, for hints.

  • DennusB
  • Registratie: mei 2006
  • Niet online
remyy schreef op donderdag 20 december 2018 @ 11:55:
Hi mensen, ik had wat tijd over dus dacht laat ik is mijn PI (3) voorzien van HASSio. Dat is tot nu toe niet het lastigste geweest. Een of andere reden is het werkend maken van Node red dat wel.. Wat ik niet had verwacht, want het ziet er super makkelijk uit op youtube. Een of andere reden krijg ik een "connection refused" scherm als ik op 'open web UI' druk. Daarnaast krijg ik een foutmelding in de log eronder. Ik heb al verschillende instellingen aangepast, maar een of andere reden blijft de Node Red crashen.

Ik doe vast iets fouts?

[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing...
Log level is set to INFO
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] 02-updates.sh: executing...
INFO: You are running the latest version of this add-on
[cont-init.d] 02-updates.sh: exited 0.
[cont-init.d] 10-requirements.sh: executing...
FATAL: Setting a credential_secret is REQUIRED!
[cont-init.d] 10-requirements.sh: exited 1.
[cont-finish.d] executing container finish scripts...
[cont-finish.d] 99-message.sh: executing...
-----------------------------------------------------------
Oops! Something went wrong.

We are so sorry, but something went terribly wrong when
starting or running this add-on.

Be sure to check the log above, line by line, for hints.
Heb je 2x username + pasword en de encryptionsleutel in de config gezet?

Is het al bijna vrijdag?


  • remyy
  • Registratie: augustus 2007
  • Laatst online: 07-03 14:28
Bedankt voor je snelle reactie! Ik heb de log_level naar debug gezet, en daar kom ik dan meer wijs uit. Eerst stond er geen 'credential_secret' ingevuld, waardoor Node-RED stopte (staat nu op false) Maar nu piept de app over dat de wachtwoorden te makkelijk zijn, zucht.. altijd leuk zo'n strikte beveiliging ;-) maar voor een simpele test, om even aan te voelen of HASS/Node Red iets voor mij is maakt het wel weer wat vervelend.

maar ik kom er wel uit nu denk :-)

  • Skit3000
  • Registratie: mei 2005
  • Laatst online: 22-03 09:15
KvNwPPr schreef op maandag 17 december 2018 @ 14:26:

[...]


Hoe kan ik mijn flows makkelijk delen zonder dat ik het risico loop om keys etc te delen?
Ik gebruik hiervoor deze credentials node.
https://flows.nodered.org/node/node-red-contrib-credentials
Daar heb je niets aan als hij bijvoorbeeld je MQTT broker settings meestuurt met een configuration-node. Of mijn Tado api-key + homeID :P

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 07:25
Gebruikt er inmiddels al iemand succesvol een Node-RED mobule t.b.v. de Xiaomi gateway?
De minst slechte die ik ken is node-red-contrib-xiaomi-smart-devices maar die heeft wat bugs en de auteur doet er niks mee.
Ik heb maar 2 switches van Xiaomi en die lees ik in mijn geval via de HA nodes uit

Zijn er hier mensen die ervaring hebben met het aansturen van Sonos via NR? Ik heb zelf geen Sonos maar ik hoorde van een collega dat hij hier naar opzoek is en blijkbaar is er weinig over te vinden.

  • Kaspers
  • Registratie: juni 2004
  • Laatst online: 23-03 15:35
DeadMetal schreef op zaterdag 22 december 2018 @ 10:38:
Gebruikt er inmiddels al iemand succesvol een Node-RED mobule t.b.v. de Xiaomi gateway?
De minst slechte die ik ken is node-red-contrib-xiaomi-smart-devices maar die heeft wat bugs en de auteur doet er niks mee.
Ik heb goeie ervaring met node-red-contrib-mi-devices. Gebruik de filter nodes voor de verschillende type devices eigenlijk niet, dus gebruik louter de gateway node. Als je filtert op het device id (payload.sid), kun je de events vrij makkelijk opnemen in je flows.

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 07:25
Kaspers schreef op zondag 23 december 2018 @ 18:00:
[...]
Ik heb goeie ervaring met node-red-contrib-mi-devices. Gebruik de filter nodes voor de verschillende type devices eigenlijk niet, dus gebruik louter de gateway node. Als je filtert op het device id (payload.sid), kun je de events vrij makkelijk opnemen in je flows.
Thx, die werkt goed genoeg! Ik krijg tenminste geen driedubbele berichten binnen zoals met die andere module.

Ik lees op Github wel wat bugreports dus ik hou het lekker bij de gateway in/out nodes en doe het filteren wel met switch nodes en het hernoemen naar leesbare namen via change nodes.

/edit: te vroeg gejuicht, plotseling deed hij niks meer, maar wel weer na een herstart van NR. Nog even aankijken hoe betrouwbaar deze module is.

@lolgast ik gebruik het tot nu toe inderdaad ook via HA, maar heb liever zoveel mogelijk logica in NR zelf, waar mogelijk.

DeadMetal wijzigde deze reactie 24-12-2018 08:58 (7%)


  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 07:25
Helaas toch teveel issues, ik laat de Gateway definitief via HA lopen, dat werkt stabiel.

Ik kwam nog een leuke module tegen om makkelijk wiskundige berekeningen te maken zonder function-nodes te hoeven gebruiken: node-red-contrib-calc
Eerder had ik al iets gemaakt om de website van Home Assistant te controleren op versienummer zodat ik een melding krijg als er een update beschikbaar is. Inmiddels liep ik met mijn Volumio installatie ook wat versies achter, dus ik ben maar weer gaan hobby-bobben. Dit is mijn resultaat, met in het achterhoofd rekeninghoudend dat er meer van dit soort checks kunnen komen en die eenvoudig toegevoegd moeten kunnen worden


YAML:
1
[{"id":"840bd194.fd968","type":"inject","z":"905df0f3.d8c748","name":"4 Hours","topic":"","payload":"","payloadType":"date","repeat":"14400","crontab":"","once":false,"onceDelay":0.1,"x":139,"y":1080,"wires":[["ef257bc3.4eed08","1bdc5a12.984dce"]]},{"id":"ef257bc3.4eed08","type":"http request","z":"905df0f3.d8c748","name":"Volumio","method":"GET","ret":"txt","url":"https://volumio.org/get-started","tls":"","x":320,"y":1160,"wires":[["9157d08f.2c75b"]]},{"id":"1bdc5a12.984dce","type":"http request","z":"905df0f3.d8c748","name":"Home Assistant","method":"GET","ret":"txt","url":"https://www.home-assistant.io/","tls":"","x":340,"y":1080,"wires":[["7c1e0e9b.327388"]]},{"id":"9157d08f.2c75b","type":"html","z":"905df0f3.d8c748","name":"","property":"payload","outproperty":"payload","tag":"#pi.tab-pane span:contains(VERSION)","ret":"text","as":"multi","x":590,"y":1160,"wires":[["83447311.803bd"]]},{"id":"7c1e0e9b.327388","type":"html","z":"905df0f3.d8c748","name":"","property":"payload","outproperty":"payload","tag":".current-version h1","ret":"text","as":"multi","x":530,"y":1080,"wires":[["5b31a4d3.03d45c"]]},{"id":"83447311.803bd","type":"change","z":"905df0f3.d8c748","name":"set payload","rules":[{"t":"set","p":"topic","pt":"msg","to":"Volumio","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"$.payload.$split(\": \")[1]","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":1160,"wires":[["a580786f.5e6f7"]]},{"id":"5b31a4d3.03d45c","type":"change","z":"905df0f3.d8c748","name":"set payload","rules":[{"t":"set","p":"topic","pt":"msg","to":"HA","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"$.payload.$split(\": \")[1]","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":730,"y":1080,"wires":[["a580786f.5e6f7"]]},{"id":"a580786f.5e6f7","type":"rbe","z":"905df0f3.d8c748","name":"","func":"rbei","gap":"","start":"","inout":"out","property":"payload","x":940,"y":1080,"wires":[["6c7ed56.1b72fac"]]},{"id":"6c7ed56.1b72fac","type":"function","z":"905df0f3.d8c748","name":"Message template","func":"msg.payload = { data: {'title': msg.topic + ' update','message': 'Nieuwe '+ msg.topic + ' versie: ' + msg.payload }};\nmsg.payload.service = 'iphone_stefan'\nreturn msg;","outputs":1,"noerr":0,"x":1130,"y":1080,"wires":[["a01227cb.e0fbf8"]]},{"id":"a805b89a.d593a8","type":"comment","z":"905df0f3.d8c748","name":"HA Version check","info":"","x":139,"y":1040,"wires":[]},{"id":"deb89e76.95de6","type":"comment","z":"905df0f3.d8c748","name":"Volumio Version check","info":"","x":160,"y":1120,"wires":[]}]


  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 07:25
Vorige week is er een nieuwe versie uitgekomen van de node-red-contrib-home-assistant-websocket module (0.50) met weer enkele nieuwe functies t.b.v. integratie met Home Assistant. Bijv. om aan te geven hoe NR een vanuit HA binnenkomende waarde moet beschouwen (string, number, boolean).

En het 'halt if state' mechanisme is veel krachtiger geworden. Je kan nu bijv. daar ook 'is not' kiezen zodat je enkel de gewenste waarde intypt en deze door laat gaan in de flow. En de node krijgt ook een 2e output zodra je een 'halt if state' invult, zodat je met onverwachte/ongewenste waarden ook nog wat kan doen. Dat maakt een extra switch node dus overbodig.

(voorbeeld: raam/deursensoren, daar had ik eerst een 'half if state = off' op zitten, want ik wil enkel weten wanneer een deur open gaat. Echter, hij kan ook 'unavailable' zijn, dus die moest ik erna nog uitfilteren in een switch node. In plaats daarvan bevat de HA node nu gewoon 'half if state - is not - on').

In de instellingen van een 'call service' node kan je nu ook 'render templates' meegeven:
"When checked will attempt to render templates within the data element including entity ids"
Daar heb ik nog niet mee gespeeld, maar het klinkt alsof je bijv. wat template nodes zou kunnen weghalen als die nu voor een call-service node staan.

DeadMetal wijzigde deze reactie 24-12-2018 19:44 (36%)

@DeadMetal Door je laatste alinea moet ik meteen weer hier aan denken :P Ga ik de komende dagen niet aan toe komen, maar donderdag misschien weer
lolgast in "Node-RED - grafisch 'programmeren' (bijv. voor domotica)"

  • Kaspers
  • Registratie: juni 2004
  • Laatst online: 23-03 15:35
lolgast schreef op maandag 24 december 2018 @ 17:53:
Eerder had ik al iets gemaakt om de website van Home Assistant te controleren op versienummer zodat ik een melding krijg als er een update beschikbaar is. Inmiddels liep ik met mijn Volumio installatie ook wat versies achter, dus ik ben maar weer gaan hobby-bobben. Dit is mijn resultaat, met in het achterhoofd rekeninghoudend dat er meer van dit soort checks kunnen komen en die eenvoudig toegevoegd moeten kunnen worden
Nice! Daar ga ik ook eens mee spelen. Voor een notificatie of er een nieuwe versie van HA beschikbaar is, kan het overigens nog een stuk simpeler. De HA entity “updater.updater” geeft een state change bij een nieuwe versie, met als payload het versie nummer. Dus volstaat:

Ja die ken ik, maar bij mij is het updater component al een aantal keer stuk geweest. Dit is voor mij een stuk betrouwbaarder gebleken :)

@DeadMetal Ik heb nog even naar die call-service node gekeken en ik heb mijn template node inderdaad kunnen verwijderen. Heb verder niets toe hoeven voegen, ik denk omdat in mijn flow er een data veld is met "entitiy_id:climate.slaapkamer" en dat hij dat automatisch vertaalt :)

lolgast wijzigde deze reactie 26-12-2018 10:51 (51%)


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 23-03 09:29
Helaas werkt mijn notificatie als de wasmachine klaar is niet meer. De SD kaart was volgelopen en had hierdoor de DB van HA verwijdert. Hierna kreeg ik alleen maar foutmeldingen in NR. Na NR helemaal verwijdert te hebben, en de back-up geïmporteerd te hebben werkte het helaas nog steeds niet. De nodes werden niet herkent. Hierdoor heb ik al mijn flows opnieuw moeten bouwen. Ik weet niet of het aan een update ligt, maar ik had voorheen een flow waarmee ik een melding kreeg dat als de vorige status > 10 watt was, en de huidige < 3 watt, stuur een bericht. Als de wasmachine klaar was, kreeg ik netjes één bericht. Nu blijf ik echter constant meldingen krijgen dat de wasmachine klaar is (om 30 seconden o.i.d.) omdat hij waarschijnlijk elke zoveel seconden de poll doet.

Ik heb dit topic al doorgespit en wat voorbeelden op internet bekeken, maar ik krijg het helaas niet voor elkaar. Iemand een idee wat er fout gaat?

code:
1
[{"id":"9c8bcfb.0830bb","type":"tab","label":"Flow 3","disabled":false,"info":""},{"id":"2a5a8446.fee69c","type":"stoptimer","z":"9c8bcfb.0830bb","duration":"30","units":"Second","payloadtype":"num","payloadval":"0","name":"","x":370,"y":280,"wires":[["e5a4a3f7.69aab8"],[]]},{"id":"a333dc0d.c6865","type":"trigger-state","z":"9c8bcfb.0830bb","name":"Verbruik Wasmachine","server":"3430792f.ba2096","entityid":"sensor.neo_coolcam_power_plug_12a_power","entityidfiltertype":"exact","debugenabled":false,"constraints":[{"id":"ba6126ff3cm","targetType":"this_entity","targetValue":"","propertyType":"current_state","propertyValue":"new_state.state","comparatorType":"<","comparatorValueDatatype":"str","comparatorValue":"3"},{"id":"f7cbcma2fn","targetType":"this_entity","targetValue":"","propertyType":"previous_state","propertyValue":"old_state.state","comparatorType":">","comparatorValueDatatype":"str","comparatorValue":"10"}],"constraintsmustmatch":"all","outputs":2,"customoutputs":[],"outputinitially":false,"state_type":"str","x":140,"y":280,"wires":[["2a5a8446.fee69c"],[]]},{"id":"e5a4a3f7.69aab8","type":"api-call-service","z":"9c8bcfb.0830bb","name":"Notificatie Wasmachine klaar","server":"3430792f.ba2096","service_domain":"notify","service":"iphones","data":"{\"title\": \"Wasmachine\", \"message\": \"Wasmachine is klaar\"}","render_data":false,"mergecontext":"","output_location":"payload","output_location_type":"msg","x":620,"y":280,"wires":[[]]},{"id":"3430792f.ba2096","type":"server","z":"","name":"Home Assistant"}]


  • Goudduif
  • Registratie: juni 2004
  • Niet online
Goedendag,
Ik ben sinds kort met Node-red begonnen, heb enkele BME280 sensors in gebruik,
Nu heb ik de openthermGateway met een USR-TCP232-2 ethernet module aangeschaft.
deze dient als Telnet server simpel ip adres me port 23. Dit werkt in Domoticz.
Echter in Node red node.js version 8.15.0 met de node-red-contrib-usriot 0.2.2.
Zodra ik enle en alleen al de usriot input, met de bebugger deploy, verliest het systeem de verbinding, en moet ik de .json verwijderen, om weer verder te kunnen.

code:
1
[{"id":"bf7b0244.13cae","type":"usriot-in","z":"36656401.16f69c","name":"","controller":"e2f50a7d.df703","topic":"","x":222,"y":372,"wires":[["9eaccf12.a1ee"]]},{"id":"9eaccf12.a1ee","type":"debug","z":"36656401.16f69c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":383,"y":377,"wires":[]},{"id":"e2f50a7d.df703","type":"usriot-controller","z":"","name":"OpenTerm","host":"192.168.10.17","port":"23"}


Ik doe vast wat fout, maar wat? Ik hoor graag van jullie.

  • Milmoor
  • Registratie: januari 2000
  • Laatst online: 15:11

Milmoor

Footsteps and pictures.

Iemand die recent op een Raspberry Pi de MQTT broker geïnstalleerd heeft? Ik krijg een dermate grote hoeveelheid meldingen dat ik even niet weet waar ik moet beginnen met oplossen. Hij werkt daarna trouwens wel, maar blijft bij elke volgende Node toevoeging meldingen geven.

deel 1

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
pi@Dommy:~/.node-red $ npm install node-red-contrib-mqtt-broker
npm WARN deprecated mongodb@2.1.21: Please upgrade to 2.2.19 or higher
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead

> fs-ext@0.5.0 install /home/pi/.node-red/node_modules/fs-ext
> node-gyp configure build

make: Entering directory '/home/pi/.node-red/node_modules/fs-ext/build'
  CXX(target) Release/obj.target/fs-ext/fs-ext.o
../fs-ext.cc: In function &#8216;void EIO_After(uv_work_t*)&#8217;:
../fs-ext.cc:108:20: warning: &#8216;v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)&#8217; is deprecated [-Wdeprecated-declarations]
     argv[0] = Nan::NanErrnoException(store_data->error);
                    ^~~~~~~~~~~~~~~~~
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:1035:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:108:55: warning: &#8216;v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)&#8217; is deprecated [-Wdeprecated-declarations]
     argv[0] = Nan::NanErrnoException(store_data->error);
                                                       ^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:1035:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:153:34: warning: &#8216;v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const&#8217; is deprecated [-Wdeprecated-declarations]
   store_data->cb->Call(argc, argv);
                                  ^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:1674:3: note: declared here
   Call(int argc, v8::Local<v8::Value> argv[]) const {
   ^~~~
../fs-ext.cc: In function &#8216;Nan::NAN_METHOD_RETURN_TYPE Flock(Nan::NAN_METHOD_ARGS_TYPE)&#8217;:
../fs-ext.cc:281:40: warning: &#8216;int32_t v8::Value::Int32Value() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   flock_data->fd = info[0]->Int32Value();
                                        ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../fs-ext.cc:20:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2478:46: note: declared here
   V8_DEPRECATED("Use maybe version", int32_t Int32Value() const);
                                              ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../fs-ext.cc:282:42: warning: &#8216;int32_t v8::Value::Int32Value() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   flock_data->oper = info[1]->Int32Value();
                                          ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../fs-ext.cc:20:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2478:46: note: declared here
   V8_DEPRECATED("Use maybe version", int32_t Int32Value() const);
                                              ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../fs-ext.cc:297:45: warning: &#8216;v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)&#8217; is deprecated [-Wdeprecated-declarations]
     if (i != 0) return Nan::ThrowError(Nan::NanErrnoException(errno));
                                             ^~~~~~~~~~~~~~~~~
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:1035:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:297:68: warning: &#8216;v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)&#8217; is deprecated [-Wdeprecated-declarations]
     if (i != 0) return Nan::ThrowError(Nan::NanErrnoException(errno));
                                                                    ^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:1035:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc: In function &#8216;Nan::NAN_METHOD_RETURN_TYPE Seek(Nan::NAN_METHOD_ARGS_TYPE)&#8217;:
../fs-ext.cc:332:32: warning: &#8216;int32_t v8::Value::Int32Value() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   int fd = info[0]->Int32Value();
                                ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../fs-ext.cc:20:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2478:46: note: declared here
   V8_DEPRECATED("Use maybe version", int32_t Int32Value() const);
                                              ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../fs-ext.cc:317:74: warning: &#8216;double v8::Value::NumberValue() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   if (!(a)->IsUndefined() && !(a)->IsNull() && !IsInt64((a)->NumberValue())) { \
                                                                          ^
../fs-ext.cc:333:3: note: in expansion of macro &#8216;ASSERT_OFFSET&#8217;
   ASSERT_OFFSET(info[1]);
   ^~~~~~~~~~~~~
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../fs-ext.cc:20:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2475:45: note: declared here
   V8_DEPRECATED("Use maybe version", double NumberValue() const);
                                             ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../fs-ext.cc:320:60: warning: &#8216;int64_t v8::Value::IntegerValue() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
 #define GET_OFFSET(a) ((a)->IsNumber() ? (a)->IntegerValue() : -1)
                                                            ^
../fs-ext.cc:334:16: note: in expansion of macro &#8216;GET_OFFSET&#8217;
   off_t offs = GET_OFFSET(info[1]);
                ^~~~~~~~~~
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../fs-ext.cc:20:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2476:46: note: declared here
   V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
                                              ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../fs-ext.cc:335:36: warning: &#8216;int32_t v8::Value::Int32Value() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   int whence = info[2]->Int32Value();
                                    ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../fs-ext.cc:20:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2478:46: note: declared here
   V8_DEPRECATED("Use maybe version", int32_t Int32Value() const);
                                              ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../fs-ext.cc:339:56: warning: &#8216;v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)&#8217; is deprecated [-Wdeprecated-declarations]
     if (offs_result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno));
                                                        ^~~~~~~~~~~~~~~~~
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:1035:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:339:79: warning: &#8216;v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)&#8217; is deprecated [-Wdeprecated-declarations]
     if (offs_result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno));
                                                                               ^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:1035:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc: In function &#8216;Nan::NAN_METHOD_RETURN_TYPE Fcntl(Nan::NAN_METHOD_ARGS_TYPE)&#8217;:
../fs-ext.cc:369:32: warning: &#8216;int32_t v8::Value::Int32Value() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   int fd = info[0]->Int32Value();
                                ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../fs-ext.cc:20:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2478:46: note: declared here
   V8_DEPRECATED("Use maybe version", int32_t Int32Value() const);
                                              ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../fs-ext.cc:370:33: warning: &#8216;int32_t v8::Value::Int32Value() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   int cmd = info[1]->Int32Value();
                                 ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../fs-ext.cc:20:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2478:46: note: declared here
   V8_DEPRECATED("Use maybe version", int32_t Int32Value() const);
                                              ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../fs-ext.cc:371:33: warning: &#8216;int32_t v8::Value::Int32Value() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   int arg = info[2]->Int32Value();
                                 ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../fs-ext.cc:20:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2478:46: note: declared here
   V8_DEPRECATED("Use maybe version", int32_t Int32Value() const);
                                              ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../fs-ext.cc:375:51: warning: &#8216;v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)&#8217; is deprecated [-Wdeprecated-declarations]
     if (result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno));
                                                   ^~~~~~~~~~~~~~~~~
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:1035:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:375:74: warning: &#8216;v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)&#8217; is deprecated [-Wdeprecated-declarations]
     if (result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno));
                                                                          ^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:1035:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc: In function &#8216;Nan::NAN_METHOD_RETURN_TYPE UTime(Nan::NAN_METHOD_ARGS_TYPE)&#8217;:
../fs-ext.cc:423:45: warning: &#8216;v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)&#8217; is deprecated: Use Isolate version [-Wdeprecated-declarations]
   String::Utf8Value path(info[0]->ToString());
                                             ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../fs-ext.cc:20:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2892:28: note: declared here
                   explicit Utf8Value(Local<v8::Value> obj));
                            ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../fs-ext.cc:424:40: warning: &#8216;int64_t v8::Value::IntegerValue() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   time_t atime = info[1]->IntegerValue();
                                        ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../fs-ext.cc:20:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2476:46: note: declared here
   V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
                                              ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../fs-ext.cc:425:40: warning: &#8216;int64_t v8::Value::IntegerValue() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   time_t mtime = info[2]->IntegerValue();
                                        ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../fs-ext.cc:20:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2476:46: note: declared here
   V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
                                              ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../fs-ext.cc:433:47: warning: &#8216;v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)&#8217; is deprecated [-Wdeprecated-declarations]
     if (ret != 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "utime", "", *path));
                                               ^~~~~~~~~~~~~~~~~
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:1035:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:433:90: warning: &#8216;v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)&#8217; is deprecated [-Wdeprecated-declarations]
     if (ret != 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "utime", "", *path));
                                                                                          ^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:1035:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc: In function &#8216;Nan::NAN_METHOD_RETURN_TYPE StatVFS(Nan::NAN_METHOD_ARGS_TYPE)&#8217;:
../fs-ext.cc:462:45: warning: &#8216;v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)&#8217; is deprecated: Use Isolate version [-Wdeprecated-declarations]
   String::Utf8Value path(info[0]->ToString());
                                             ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../fs-ext.cc:20:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2892:28: note: declared here
                   explicit Utf8Value(Local<v8::Value> obj));
                            ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../fs-ext.cc:469:47: warning: &#8216;v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)&#8217; is deprecated [-Wdeprecated-declarations]
     if (ret != 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "statvfs", "", *path));
                                               ^~~~~~~~~~~~~~~~~
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:1035:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:469:92: warning: &#8216;v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)&#8217; is deprecated [-Wdeprecated-declarations]
     if (ret != 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "statvfs", "", *path));
                                                                                            ^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:1035:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
                                              ^~~~~~~~~~~~~~~~~
  SOLINK_MODULE(target) Release/obj.target/fs-ext.node
  COPY Release/fs-ext.node
make: Leaving directory '/home/pi/.node-red/node_modules/fs-ext/build'

> kerberos@0.0.24 install /home/pi/.node-red/node_modules/kerberos
> (node-gyp rebuild) || (exit 0)

make: Entering directory '/home/pi/.node-red/node_modules/kerberos/build'
  CXX(target) Release/obj.target/kerberos/lib/kerberos.o
In file included from ../lib/kerberos.cc:1:0:
../lib/kerberos.h:5:27: fatal error: gssapi/gssapi.h: No such file or directory
 #include <gssapi/gssapi.h>
                           ^
compilation terminated.
kerberos.target.mk:103: recipe for target 'Release/obj.target/kerberos/lib/kerberos.o' failed
make: *** [Release/obj.target/kerberos/lib/kerberos.o] Error 1
make: Leaving directory '/home/pi/.node-red/node_modules/kerberos/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Linux 4.14.79-v7+
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/pi/.node-red/node_modules/kerberos
gyp ERR! node -v v10.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

> snappy@5.0.5 install /home/pi/.node-red/node_modules/snappy
> node-gyp rebuild

make: Entering directory '/home/pi/.node-red/node_modules/snappy/build'
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.2/snappy-sinksource.o
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.2/snappy-stubs-internal.o
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.2/snappy.o
  AR(target) Release/obj.target/deps/snappy/snappy.a
  COPY Release/snappy.a
  CXX(target) Release/obj.target/binding/src/binding.o
In file included from ../node_modules/nan/nan.h:190:0,
                 from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../node_modules/nan/nan_maybe_43_inl.h: In function &#8216;Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)&#8217;:
../node_modules/nan/nan_maybe_43_inl.h:88:15: error: &#8216;class v8::Object&#8217; has no member named &#8216;ForceSet&#8217;
   return obj->ForceSet(GetCurrentContext(), key, value, attribs);
               ^~~~~~~~
In file included from ../src/./binding.h:6:0,
                 from ../src/binding.cc:1:
../node_modules/nan/nan.h: In function &#8216;v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)&#8217;:
../node_modules/nan/nan.h:817:60: warning: &#8216;v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)&#8217; is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
         v8::Isolate::GetCurrent(), target, func, argc, argv);
                                                            ^
In file included from ../src/./binding.h:3:0,
                 from ../src/binding.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/node.h:177:50: note: declared here
                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                  ^
/home/pi/.node-gyp/10.15.0/include/node/node.h:91:42: note: in definition of macro &#8216;NODE_DEPRECATED&#8217;
     __attribute__((deprecated(message))) declarator
                                          ^~~~~~~~~~
In file included from ../src/./binding.h:6:0,
                 from ../src/binding.cc:1:
../node_modules/nan/nan.h: In function &#8216;v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)&#8217;:
../node_modules/nan/nan.h:831:62: warning: &#8216;v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)&#8217; is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
         v8::Isolate::GetCurrent(), target, symbol, argc, argv);
                                                              ^
In file included from ../src/./binding.h:3:0,
                 from ../src/binding.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/node.h:170:50: note: declared here
                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                  ^
/home/pi/.node-gyp/10.15.0/include/node/node.h:91:42: note: in definition of macro &#8216;NODE_DEPRECATED&#8217;
     __attribute__((deprecated(message))) declarator
                                          ^~~~~~~~~~
In file included from ../src/./binding.h:6:0,
                 from ../src/binding.cc:1:
../node_modules/nan/nan.h: In function &#8216;v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)&#8217;:
../node_modules/nan/nan.h:845:62: warning: &#8216;v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)&#8217; is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
         v8::Isolate::GetCurrent(), target, method, argc, argv);
                                                              ^
In file included from ../src/./binding.h:3:0,
                 from ../src/binding.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/node.h:163:50: note: declared here
                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                  ^
/home/pi/.node-gyp/10.15.0/include/node/node.h:91:42: note: in definition of macro &#8216;NODE_DEPRECATED&#8217;
     __attribute__((deprecated(message))) declarator
                                          ^~~~~~~~~~
In file included from ../src/./binding.h:6:0,
                 from ../src/binding.cc:1:
../node_modules/nan/nan.h: In member function &#8216;v8::Local<v8::Value> Nan::Callback::Call_(v8::Isolate*, v8::Local<v8::Object>, int, v8::Local<v8::Value>*) const&#8217;:
../node_modules/nan/nan.h:1463:5: warning: &#8216;v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)&#8217; is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
     ));
     ^
In file included from ../src/./binding.h:3:0,
                 from ../src/binding.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/node.h:177:50: note: declared here
                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                  ^
/home/pi/.node-gyp/10.15.0/include/node/node.h:91:42: note: in definition of macro &#8216;NODE_DEPRECATED&#8217;
     __attribute__((deprecated(message))) declarator
                                          ^~~~~~~~~~
../src/binding.cc: In function &#8216;Nan::NAN_METHOD_RETURN_TYPE nodesnappy::Compress(Nan::NAN_METHOD_ARGS_TYPE)&#8217;:
../src/binding.cc:115:51: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   if (node::Buffer::HasInstance(info[0]->ToObject())) {
                                                   ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/binding.cc:116:54: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
     v8::Local<v8::Object> object = info[0]->ToObject();
                                                      ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/binding.cc:121:53: warning: &#8216;v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)&#8217; is deprecated: Use Isolate version [-Wdeprecated-declarations]
     v8::String::Utf8Value param1(info[0]->ToString());
                                                     ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2892:28: note: declared here
                   explicit Utf8Value(Local<v8::Value> obj));
                            ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/binding.cc: In function &#8216;Nan::NAN_METHOD_RETURN_TYPE nodesnappy::CompressSync(Nan::NAN_METHOD_ARGS_TYPE)&#8217;:
../src/binding.cc:142:51: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   if (node::Buffer::HasInstance(info[0]->ToObject())) {
                                                   ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/binding.cc:143:54: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
     v8::Local<v8::Object> object = info[0]->ToObject();
                                                      ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/binding.cc:148:53: warning: &#8216;v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)&#8217; is deprecated: Use Isolate version [-Wdeprecated-declarations]
     v8::String::Utf8Value param1(info[0]->ToString());
                                                     ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2892:28: note: declared here
                   explicit Utf8Value(Local<v8::Value> obj));
                            ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/binding.cc: In function &#8216;Nan::NAN_METHOD_RETURN_TYPE nodesnappy::IsValidCompressed(Nan::NAN_METHOD_ARGS_TYPE)&#8217;:
../src/binding.cc:161:52: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   v8::Local<v8::Object> object = info[0]->ToObject();
                                                    ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/binding.cc: In function &#8216;Nan::NAN_METHOD_RETURN_TYPE nodesnappy::IsValidCompressedSync(Nan::NAN_METHOD_ARGS_TYPE)&#8217;:
../src/binding.cc:181:52: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   v8::Local<v8::Object> object = info[0]->ToObject();
                                                    ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/binding.cc: In function &#8216;Nan::NAN_METHOD_RETURN_TYPE nodesnappy::UncompressSync(Nan::NAN_METHOD_ARGS_TYPE)&#8217;:
../src/binding.cc:218:52: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   v8::Local<v8::Object> object = info[0]->ToObject();
                                                    ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
<<zie deel 2>>

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


  • Milmoor
  • Registratie: januari 2000
  • Laatst online: 15:11

Milmoor

Footsteps and pictures.


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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
<<zie deel 1>>
binding.target.mk:104: recipe for target 'Release/obj.target/binding/src/binding.o' failed
make: *** [Release/obj.target/binding/src/binding.o] Error 1
make: Leaving directory '/home/pi/.node-red/node_modules/snappy/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Linux 4.14.79-v7+
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/pi/.node-red/node_modules/snappy
gyp ERR! node -v v10.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

> leveldown@1.4.6 install /home/pi/.node-red/node_modules/leveldown
> prebuild --install

prebuild info begin Prebuild version 4.5.0
prebuild info looking for local prebuild @ prebuilds/leveldown-v1.4.6-node-v64-linux-arm.tar.gz
prebuild info looking for cached prebuild @ /home/pi/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.4.6-leveldown-v1.4.6-node-v64-linux-arm.tar.gz
prebuild http request GET https://github.com/level/leveldown/releases/download/v1.4.6/leveldown-v1.4.6-node-v64-linux-arm.tar.gz
prebuild http 404 https://github.com/level/leveldown/releases/download/v1.4.6/leveldown-v1.4.6-node-v64-linux-arm.tar.gz
prebuild WARN install No prebuilt binaries found (target=v10.15.0 arch=arm platform=linux)
prebuild info install We will now try to compile from source.
prebuild verb starting node-gyp process
prebuild verb execute node-gyp with `node index.js rebuild --target=v10.15.0 --target_arch=arm`
gyp verb command rebuild []
prebuild verb ok
gyp verb command clean []
gyp verb clean removing "build" directory
prebuild verb ok
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` succeeded python2 /usr/bin/python2
gyp verb check python version `/usr/bin/python2 -c "import platform; print(platform.python_version());"` returned: "2.7.13\n"
gyp verb get node dir no --target version specified, falling back to host node version: 10.15.0
gyp verb command install [ '10.15.0' ]
gyp verb install input version string "10.15.0"
gyp verb install installing version: 10.15.0
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 10.15.0
gyp verb build dir attempting to create "build" dir: /home/pi/.node-red/node_modules/leveldown/build
gyp verb build dir "build" dir needed to be created? /home/pi/.node-red/node_modules/leveldown/build
gyp verb build/config.gypi creating config file
gyp sill build/config.gypi { target_defaults:
gyp sill build/config.gypi    { cflags: [],
gyp sill build/config.gypi      default_configuration: 'Release',
gyp sill build/config.gypi      defines: [],
gyp sill build/config.gypi      include_dirs: [],
gyp sill build/config.gypi      libraries: [] },
gyp sill build/config.gypi   variables:
gyp sill build/config.gypi    { arm_float_abi: 'hard',
gyp sill build/config.gypi      arm_fpu: 'vfpv3',
gyp sill build/config.gypi      arm_thumb: 0,
gyp sill build/config.gypi      arm_version: '7',
gyp sill build/config.gypi      asan: 0,
gyp sill build/config.gypi      build_v8_with_gn: false,
gyp sill build/config.gypi      coverage: false,
gyp sill build/config.gypi      debug_nghttp2: false,
gyp sill build/config.gypi      enable_lto: false,
gyp sill build/config.gypi      enable_pgo_generate: false,
gyp sill build/config.gypi      enable_pgo_use: false,
gyp sill build/config.gypi      force_dynamic_crt: 0,
gyp sill build/config.gypi      gas_version: '2.28',
gyp sill build/config.gypi      host_arch: 'ia32',
gyp sill build/config.gypi      icu_data_in: '../../deps/icu-small/source/data/in/icudt62l.dat',
gyp sill build/config.gypi      icu_endianness: 'l',
gyp sill build/config.gypi      icu_gyp_path: 'tools/icu/icu-generic.gyp',
gyp sill build/config.gypi      icu_locales: 'en,root',
gyp sill build/config.gypi      icu_path: 'deps/icu-small',
gyp sill build/config.gypi      icu_small: true,
gyp sill build/config.gypi      icu_ver_major: '62',
gyp sill build/config.gypi      llvm_version: 0,
gyp sill build/config.gypi      node_byteorder: 'little',
gyp sill build/config.gypi      node_debug_lib: false,
gyp sill build/config.gypi      node_enable_d8: false,
gyp sill build/config.gypi      node_enable_v8_vtunejit: false,
gyp sill build/config.gypi      node_install_npm: true,
gyp sill build/config.gypi      node_module_version: 64,
gyp sill build/config.gypi      node_no_browser_globals: false,
gyp sill build/config.gypi      node_prefix: '/',
gyp sill build/config.gypi      node_release_urlbase: 'https://nodejs.org/download/release/',
gyp sill build/config.gypi      node_shared: false,
gyp sill build/config.gypi      node_shared_cares: false,
gyp sill build/config.gypi      node_shared_http_parser: false,
gyp sill build/config.gypi      node_shared_libuv: false,
gyp sill build/config.gypi      node_shared_nghttp2: false,
gyp sill build/config.gypi      node_shared_openssl: false,
gyp sill build/config.gypi      node_shared_zlib: false,
gyp sill build/config.gypi      node_tag: '',
gyp sill build/config.gypi      node_target_type: 'executable',
gyp sill build/config.gypi      node_use_bundled_v8: true,
gyp sill build/config.gypi      node_use_dtrace: false,
gyp sill build/config.gypi      node_use_etw: false,
gyp sill build/config.gypi      node_use_large_pages: false,
gyp sill build/config.gypi      node_use_openssl: true,
gyp sill build/config.gypi      node_use_pch: false,
gyp sill build/config.gypi      node_use_perfctr: false,
gyp sill build/config.gypi      node_use_v8_platform: true,
gyp sill build/config.gypi      node_with_ltcg: false,
gyp sill build/config.gypi      node_without_node_options: false,
gyp sill build/config.gypi      openssl_fips: '',
gyp sill build/config.gypi      openssl_no_asm: 0,
gyp sill build/config.gypi      shlib_suffix: 'so.64',
gyp sill build/config.gypi      target_arch: 'arm',
gyp sill build/config.gypi      v8_enable_gdbjit: 0,
gyp sill build/config.gypi      v8_enable_i18n_support: 1,
gyp sill build/config.gypi      v8_enable_inspector: 1,
gyp sill build/config.gypi      v8_no_strict_aliasing: 1,
gyp sill build/config.gypi      v8_optimized_debug: 0,
gyp sill build/config.gypi      v8_promise_internal_field_count: 1,
gyp sill build/config.gypi      v8_random_seed: 0,
gyp sill build/config.gypi      v8_trace_maps: 0,
gyp sill build/config.gypi      v8_typed_array_max_size_in_heap: 0,
gyp sill build/config.gypi      v8_use_snapshot: true,
gyp sill build/config.gypi      want_separate_host_toolset: 1,
gyp sill build/config.gypi      nodedir: '/home/pi/.node-gyp/10.15.0',
gyp sill build/config.gypi      copy_dev_lib: true,
gyp sill build/config.gypi      standalone_static_library: 1,
gyp sill build/config.gypi      target: 'v10.15.0',
gyp sill build/config.gypi      cache_lock_stale: '60000',
gyp sill build/config.gypi      ham_it_up: '',
gyp sill build/config.gypi      legacy_bundling: '',
gyp sill build/config.gypi      sign_git_tag: '',
gyp sill build/config.gypi      user_agent: 'npm/6.5.0 node/v10.15.0 linux arm',
gyp sill build/config.gypi      always_auth: '',
gyp sill build/config.gypi      bin_links: 'true',
gyp sill build/config.gypi      key: '',
gyp sill build/config.gypi      allow_same_version: '',
gyp sill build/config.gypi      description: 'true',
gyp sill build/config.gypi      fetch_retries: '2',
gyp sill build/config.gypi      heading: 'npm',
gyp sill build/config.gypi      if_present: '',
gyp sill build/config.gypi      init_version: '1.0.0',
gyp sill build/config.gypi      user: '',
gyp sill build/config.gypi      prefer_online: '',
gyp sill build/config.gypi      noproxy: '',
gyp sill build/config.gypi      force: '',
gyp sill build/config.gypi      only: '',
gyp sill build/config.gypi      read_only: '',
gyp sill build/config.gypi      cache_min: '10',
gyp sill build/config.gypi      init_license: 'ISC',
gyp sill build/config.gypi      editor: 'vi',
gyp sill build/config.gypi      rollback: 'true',
gyp sill build/config.gypi      tag_version_prefix: 'v',
gyp sill build/config.gypi      cache_max: 'Infinity',
gyp sill build/config.gypi      timing: '',
gyp sill build/config.gypi      userconfig: '/home/pi/.npmrc',
gyp sill build/config.gypi      engine_strict: '',
gyp sill build/config.gypi      init_author_name: '',
gyp sill build/config.gypi      init_author_url: '',
gyp sill build/config.gypi      preid: '',
gyp sill build/config.gypi      tmp: '/tmp',
gyp sill build/config.gypi      depth: 'Infinity',
gyp sill build/config.gypi      package_lock_only: '',
gyp sill build/config.gypi      save_dev: '',
gyp sill build/config.gypi      usage: '',
gyp sill build/config.gypi      metrics_registry: 'https://registry.npmjs.org/',
gyp sill build/config.gypi      otp: '',
gyp sill build/config.gypi      package_lock: 'true',
gyp sill build/config.gypi      progress: 'true',
gyp sill build/config.gypi      https_proxy: '',
gyp sill build/config.gypi      save_prod: '',
gyp sill build/config.gypi      audit: 'true',
gyp sill build/config.gypi      cidr: '',
gyp sill build/config.gypi      onload_script: '',
gyp sill build/config.gypi      sso_type: 'oauth',
gyp sill build/config.gypi      rebuild_bundle: 'true',
gyp sill build/config.gypi      save_bundle: '',
gyp sill build/config.gypi      shell: '/bin/bash',
gyp sill build/config.gypi      dry_run: '',
gyp sill build/config.gypi      prefix: '/usr',
gyp sill build/config.gypi      scope: '',
gyp sill build/config.gypi      browser: '',
gyp sill build/config.gypi      cache_lock_wait: '10000',
gyp sill build/config.gypi      ignore_prepublish: '',
gyp sill build/config.gypi      registry: 'https://registry.npmjs.org/',
gyp sill build/config.gypi      save_optional: '',
gyp sill build/config.gypi      searchopts: '',
gyp sill build/config.gypi      versions: '',
gyp sill build/config.gypi      cache: '/home/pi/.npm',
gyp sill build/config.gypi      send_metrics: '',
gyp sill build/config.gypi      global_style: '',
gyp sill build/config.gypi      ignore_scripts: '',
gyp sill build/config.gypi      version: '',
gyp sill build/config.gypi      local_address: '',
gyp sill build/config.gypi      viewer: 'man',
gyp sill build/config.gypi      node_gyp:
gyp sill build/config.gypi       '/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js',
gyp sill build/config.gypi      audit_level: 'low',
gyp sill build/config.gypi      prefer_offline: '',
gyp sill build/config.gypi      color: 'true',
gyp sill build/config.gypi      sign_git_commit: '',
gyp sill build/config.gypi      fetch_retry_mintimeout: '10000',
gyp sill build/config.gypi      maxsockets: '50',
gyp sill build/config.gypi      offline: '',
gyp sill build/config.gypi      sso_poll_frequency: '500',
gyp sill build/config.gypi      umask: '0022',
gyp sill build/config.gypi      fetch_retry_maxtimeout: '60000',
gyp sill build/config.gypi      logs_max: '10',
gyp sill build/config.gypi      message: '%s',
gyp sill build/config.gypi      ca: '',
gyp sill build/config.gypi      cert: '',
gyp sill build/config.gypi      global: '',
gyp sill build/config.gypi      link: '',
gyp sill build/config.gypi      access: '',
gyp sill build/config.gypi      also: '',
gyp sill build/config.gypi      save: 'true',
gyp sill build/config.gypi      unicode: 'true',
gyp sill build/config.gypi      long: '',
gyp sill build/config.gypi      production: '',
gyp sill build/config.gypi      searchlimit: '20',
gyp sill build/config.gypi      unsafe_perm: 'true',
gyp sill build/config.gypi      update_notifier: 'true',
gyp sill build/config.gypi      auth_type: 'legacy',
gyp sill build/config.gypi      node_version: '10.15.0',
gyp sill build/config.gypi      tag: 'latest',
gyp sill build/config.gypi      git_tag_version: 'true',
gyp sill build/config.gypi      commit_hooks: 'true',
gyp sill build/config.gypi      script_shell: '',
gyp sill build/config.gypi      shrinkwrap: 'true',
gyp sill build/config.gypi      fetch_retry_factor: '10',
gyp sill build/config.gypi      save_exact: '',
gyp sill build/config.gypi      strict_ssl: 'true',
gyp sill build/config.gypi      dev: '',
gyp sill build/config.gypi      globalconfig: '/usr/etc/npmrc',
gyp sill build/config.gypi      init_module: '/home/pi/.npm-init.js',
gyp sill build/config.gypi      parseable: '',
gyp sill build/config.gypi      globalignorefile: '/usr/etc/npmignore',
gyp sill build/config.gypi      cache_lock_retries: '10',
gyp sill build/config.gypi      searchstaleness: '900',
gyp sill build/config.gypi      node_options: '',
gyp sill build/config.gypi      save_prefix: '^',
gyp sill build/config.gypi      scripts_prepend_node_path: 'warn-only',
gyp sill build/config.gypi      group: '1000',
gyp sill build/config.gypi      init_author_email: '',
gyp sill build/config.gypi      searchexclude: '',
gyp sill build/config.gypi      git: 'git',
gyp sill build/config.gypi      optional: 'true',
gyp sill build/config.gypi      json: '' } }
gyp verb build/config.gypi writing out config file: /home/pi/.node-red/node_modules/leveldown/build/config.gypi
gyp verb config.gypi checking for gypi file: /home/pi/.node-red/node_modules/leveldown/config.gypi
gyp verb common.gypi checking for gypi file: /home/pi/.node-red/node_modules/leveldown/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn /usr/bin/python2
gyp info spawn args [ '/home/pi/.node-red/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/home/pi/.node-red/node_modules/leveldown/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/pi/.node-red/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/pi/.node-gyp/10.15.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/pi/.node-gyp/10.15.0',
gyp info spawn args   '-Dnode_gyp_dir=/home/pi/.node-red/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=node.lib',
gyp info spawn args   '-Dmodule_root_dir=/home/pi/.node-red/node_modules/leveldown',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
prebuild verb ok
gyp verb command build []
gyp verb build type Release
gyp verb architecture arm
gyp verb node dev dir /home/pi/.node-gyp/10.15.0
gyp verb `which` succeeded for `make` /usr/bin/make
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/home/pi/.node-red/node_modules/leveldown/build'
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/builder.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/db_impl.o
In file included from /usr/include/c++/6/algorithm:62:0,
                 from ../deps/leveldb/leveldb-1.18.0/db/db_impl.cc:7:
/usr/include/c++/6/bits/stl_algo.h: In function &#8216;void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]&#8217;:
/usr/include/c++/6/bits/stl_algo.h:1837:5: note: parameter passing for argument of type &#8216;__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >&#8217; will change in GCC 7.1
     __insertion_sort(_RandomAccessIterator __first,
     ^~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_algo.h:1837:5: note: parameter passing for argument of type &#8216;__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >&#8217; will change in GCC 7.1
/usr/include/c++/6/bits/stl_algo.h:1837:5: note: parameter passing for argument of type &#8216;__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >&#8217; will change in GCC 7.1
In file included from /usr/include/c++/6/bits/stl_algo.h:61:0,
                 from /usr/include/c++/6/algorithm:62,
                 from ../deps/leveldb/leveldb-1.18.0/db/db_impl.cc:7:
/usr/include/c++/6/bits/stl_heap.h: In function &#8216;void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >; _Distance = int; _Tp = long long unsigned int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]&#8217;:
/usr/include/c++/6/bits/stl_heap.h:209:5: note: parameter passing for argument of type &#8216;__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >&#8217; will change in GCC 7.1
     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
     ^~~~~~~~~~~~~
In file included from /usr/include/c++/6/algorithm:62:0,
                 from ../deps/leveldb/leveldb-1.18.0/db/db_impl.cc:7:
/usr/include/c++/6/bits/stl_algo.h: In function &#8216;void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]&#8217;:
/usr/include/c++/6/bits/stl_algo.h:1937:5: note: parameter passing for argument of type &#8216;__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >&#8217; will change in GCC 7.1
     __introsort_loop(_RandomAccessIterator __first,
     ^~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_algo.h:1937:5: note: parameter passing for argument of type &#8216;__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >&#8217; will change in GCC 7.1
/usr/include/c++/6/bits/stl_algo.h:1951:4: note: parameter passing for argument of type &#8216;__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >&#8217; will change in GCC 7.1
    std::__introsort_loop(__cut, __last, __depth_limit, __comp);
    ^~~
/usr/include/c++/6/bits/stl_algo.h: In member function &#8216;leveldb::Status leveldb::DBImpl::Recover(leveldb::VersionEdit*)&#8217;:
/usr/include/c++/6/bits/stl_algo.h:1965:4: note: parameter passing for argument of type &#8216;__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >&#8217; will change in GCC 7.1
    std::__introsort_loop(__first, __last,
    ^~~
/usr/include/c++/6/bits/stl_algo.h:1882:4: note: parameter passing for argument of type &#8216;__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >&#8217; will change in GCC 7.1
    std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
    ^~~
/usr/include/c++/6/bits/stl_algo.h:1887:2: note: parameter passing for argument of type &#8216;__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >&#8217; will change in GCC 7.1
  std::__insertion_sort(__first, __last, __comp);
  ^~~
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/db_iter.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/filename.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/dbformat.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/leveldb_main.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/log_reader.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/log_writer.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/memtable.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/repair.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/table_cache.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/version_edit.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/version_set.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/write_batch.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/helpers/memenv/memenv.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/block.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/block_builder.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/filter_block.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/format.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/iterator.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/merger.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/table.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/table_builder.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/two_level_iterator.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/arena.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/bloom.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/cache.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/coding.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/comparator.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/crc32c.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/env.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/filter_policy.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/hash.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/logging.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/options.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/status.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/port/port_posix.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/env_posix.o
  AR(target) Release/obj.target/deps/leveldb/leveldb.a
  COPY Release/leveldb.a
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.1/snappy-sinksource.o
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.1/snappy-stubs-internal.o
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.1/snappy.o
  AR(target) Release/obj.target/deps/snappy/snappy.a
  COPY Release/snappy.a
  CXX(target) Release/obj.target/leveldown/src/batch.o
In file included from ../node_modules/nan/nan.h:190:0,
                 from ../src/batch.cc:3:
../node_modules/nan/nan_maybe_43_inl.h: In function &#8216;Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)&#8217;:
../node_modules/nan/nan_maybe_43_inl.h:88:15: error: &#8216;class v8::Object&#8217; has no member named &#8216;ForceSet&#8217;
   return obj->ForceSet(GetCurrentContext(), key, value, attribs);
               ^~~~~~~~
In file included from ../src/batch.cc:3:0:
../node_modules/nan/nan.h: In function &#8216;v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)&#8217;:
../node_modules/nan/nan.h:817:60: warning: &#8216;v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)&#8217; is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
         v8::Isolate::GetCurrent(), target, func, argc, argv);
                                                            ^
In file included from ../src/batch.cc:1:0:
/home/pi/.node-gyp/10.15.0/include/node/node.h:177:50: note: declared here
                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                  ^
/home/pi/.node-gyp/10.15.0/include/node/node.h:91:42: note: in definition of macro &#8216;NODE_DEPRECATED&#8217;
     __attribute__((deprecated(message))) declarator
                                          ^~~~~~~~~~
In file included from ../src/batch.cc:3:0:
../node_modules/nan/nan.h: In function &#8216;v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)&#8217;:
../node_modules/nan/nan.h:831:62: warning: &#8216;v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)&#8217; is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
         v8::Isolate::GetCurrent(), target, symbol, argc, argv);
                                                              ^
In file included from ../src/batch.cc:1:0:
/home/pi/.node-gyp/10.15.0/include/node/node.h:170:50: note: declared here
                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                  ^
/home/pi/.node-gyp/10.15.0/include/node/node.h:91:42: note: in definition of macro &#8216;NODE_DEPRECATED&#8217;
     __attribute__((deprecated(message))) declarator
                                          ^~~~~~~~~~
In file included from ../src/batch.cc:3:0:
../node_modules/nan/nan.h: In function &#8216;v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)&#8217;:
../node_modules/nan/nan.h:845:62: warning: &#8216;v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)&#8217; is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
         v8::Isolate::GetCurrent(), target, method, argc, argv);
                                                              ^
In file included from ../src/batch.cc:1:0:
/home/pi/.node-gyp/10.15.0/include/node/node.h:163:50: note: declared here
                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                  ^
/home/pi/.node-gyp/10.15.0/include/node/node.h:91:42: note: in definition of macro &#8216;NODE_DEPRECATED&#8217;
     __attribute__((deprecated(message))) declarator
                                          ^~~~~~~~~~
In file included from ../src/batch.cc:3:0:
../node_modules/nan/nan.h: In member function &#8216;v8::Local<v8::Value> Nan::Callback::Call_(v8::Isolate*, v8::Local<v8::Object>, int, v8::Local<v8::Value>*) const&#8217;:
../node_modules/nan/nan.h:1463:5: warning: &#8216;v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)&#8217; is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
     ));
     ^
In file included from ../src/batch.cc:1:0:
/home/pi/.node-gyp/10.15.0/include/node/node.h:177:50: note: declared here
                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                  ^
/home/pi/.node-gyp/10.15.0/include/node/node.h:91:42: note: in definition of macro &#8216;NODE_DEPRECATED&#8217;
     __attribute__((deprecated(message))) declarator
                                          ^~~~~~~~~~
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/leveldown.h: In function &#8216;size_t StringOrBufferLength(v8::Local<v8::Value>)&#8217;:
../src/leveldown.h:16:26: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   return (!obj->ToObject().IsEmpty()
                          ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/leveldown.h:17:48: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
     && node::Buffer::HasInstance(obj->ToObject()))
                                                ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/leveldown.h:18:42: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
     ? node::Buffer::Length(obj->ToObject())
                                          ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
In file included from ../src/batch.cc:8:0:
../src/common.h: In function &#8216;uint32_t leveldown::UInt32OptionValue(v8::Local<v8::Object>, const char*, uint32_t)&#8217;:
../src/common.h:32:38: warning: &#8216;uint32_t v8::Value::Uint32Value() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
     ? options->Get(key)->Uint32Value()
                                      ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.15.0/include/node/node.h:63,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:2477:47: note: declared here
   V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
                                               ^
/home/pi/.node-gyp/10.15.0/include/node/v8config.h:324:3: note: in definition of macro &#8216;V8_DEPRECATED&#8217;
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/batch.cc: In static member function &#8216;static Nan::NAN_METHOD_RETURN_TYPE leveldown::Batch::New(Nan::NAN_METHOD_ARGS_TYPE)&#8217;:
../src/batch.cc:42:76: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   Database* database = Nan::ObjectWrap::Unwrap<Database>(info[0]->ToObject());
                                                                            ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/batch.cc: In static member function &#8216;static v8::Local<v8::Value> leveldown::Batch::NewInstance(v8::Local<v8::Object>, v8::Local<v8::Object>)&#8217;:
../src/batch.cc:71:69: error: no matching function for call to &#8216;v8::Function::NewInstance(int, v8::Local<v8::Value> [1])&#8217;
     instance = constructorHandle->GetFunction()->NewInstance(1, argv);
                                                                     ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:3993:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>, int, v8::Local<v8::Value>*) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                            ^~~~~~~~~~~
/home/pi/.node-gyp/10.15.0/include/node/v8.h:3993:44: note:   candidate expects 3 arguments, 2 provided
/home/pi/.node-gyp/10.15.0/include/node/v8.h:3996:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                            ^~~~~~~~~~~
/home/pi/.node-gyp/10.15.0/include/node/v8.h:3996:44: note:   candidate expects 1 argument, 2 provided
../src/batch.cc:74:69: error: no matching function for call to &#8216;v8::Function::NewInstance(int, v8::Local<v8::Value> [2])&#8217;
     instance = constructorHandle->GetFunction()->NewInstance(2, argv);
                                                                     ^
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:3993:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>, int, v8::Local<v8::Value>*) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                            ^~~~~~~~~~~
/home/pi/.node-gyp/10.15.0/include/node/v8.h:3993:44: note:   candidate expects 3 arguments, 2 provided
/home/pi/.node-gyp/10.15.0/include/node/v8.h:3996:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                            ^~~~~~~~~~~
/home/pi/.node-gyp/10.15.0/include/node/v8.h:3996:44: note:   candidate expects 1 argument, 2 provided
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/batch.cc: In static member function &#8216;static Nan::NAN_METHOD_RETURN_TYPE leveldown::Batch::Put(Nan::NAN_METHOD_ARGS_TYPE)&#8217;:
../src/leveldown.h:53:30: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   } else if (!from->ToObject().IsEmpty()                                       \
                              ^
../src/batch.cc:86:3: note: in expansion of macro &#8216;LD_STRING_OR_BUFFER_TO_SLICE&#8217;
   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/leveldown.h:54:51: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
       && node::Buffer::HasInstance(from->ToObject())) {                        \
                                                   ^
../src/batch.cc:86:3: note: in expansion of macro &#8216;LD_STRING_OR_BUFFER_TO_SLICE&#8217;
   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/leveldown.h:55:53: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
     to ## Sz_ = node::Buffer::Length(from->ToObject());                        \
                                                     ^
../src/batch.cc:86:3: note: in expansion of macro &#8216;LD_STRING_OR_BUFFER_TO_SLICE&#8217;
   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/leveldown.h:56:51: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
     to ## Ch_ = node::Buffer::Data(from->ToObject());                          \
                                                   ^
../src/batch.cc:86:3: note: in expansion of macro &#8216;LD_STRING_OR_BUFFER_TO_SLICE&#8217;
   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/leveldown.h:53:30: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   } else if (!from->ToObject().IsEmpty()                                       \
                              ^
../src/batch.cc:87:3: note: in expansion of macro &#8216;LD_STRING_OR_BUFFER_TO_SLICE&#8217;
   LD_STRING_OR_BUFFER_TO_SLICE(value, valueBuffer, value)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/leveldown.h:54:51: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
       && node::Buffer::HasInstance(from->ToObject())) {                        \
                                                   ^
../src/batch.cc:87:3: note: in expansion of macro &#8216;LD_STRING_OR_BUFFER_TO_SLICE&#8217;
   LD_STRING_OR_BUFFER_TO_SLICE(value, valueBuffer, value)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/leveldown.h:55:53: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
     to ## Sz_ = node::Buffer::Length(from->ToObject());                        \
                                                     ^
../src/batch.cc:87:3: note: in expansion of macro &#8216;LD_STRING_OR_BUFFER_TO_SLICE&#8217;
   LD_STRING_OR_BUFFER_TO_SLICE(value, valueBuffer, value)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/leveldown.h:56:51: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
     to ## Ch_ = node::Buffer::Data(from->ToObject());                          \
                                                   ^
../src/batch.cc:87:3: note: in expansion of macro &#8216;LD_STRING_OR_BUFFER_TO_SLICE&#8217;
   LD_STRING_OR_BUFFER_TO_SLICE(value, valueBuffer, value)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/batch.cc: In static member function &#8216;static Nan::NAN_METHOD_RETURN_TYPE leveldown::Batch::Del(Nan::NAN_METHOD_ARGS_TYPE)&#8217;:
../src/leveldown.h:53:30: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
   } else if (!from->ToObject().IsEmpty()                                       \
                              ^
../src/batch.cc:105:3: note: in expansion of macro &#8216;LD_STRING_OR_BUFFER_TO_SLICE&#8217;
   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/leveldown.h:54:51: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
       && node::Buffer::HasInstance(from->ToObject())) {                        \
                                                   ^
../src/batch.cc:105:3: note: in expansion of macro &#8216;LD_STRING_OR_BUFFER_TO_SLICE&#8217;
   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/leveldown.h:55:53: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
     to ## Sz_ = node::Buffer::Length(from->ToObject());                        \
                                                     ^
../src/batch.cc:105:3: note: in expansion of macro &#8216;LD_STRING_OR_BUFFER_TO_SLICE&#8217;
   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
In file included from ../src/database.h:18:0,
                 from ../src/batch.cc:5:
../src/leveldown.h:56:51: warning: &#8216;v8::Local<v8::Object> v8::Value::ToObject() const&#8217; is deprecated: Use maybe version [-Wdeprecated-declarations]
     to ## Ch_ = node::Buffer::Data(from->ToObject());                          \
                                                   ^
../src/batch.cc:105:3: note: in expansion of macro &#8216;LD_STRING_OR_BUFFER_TO_SLICE&#8217;
   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/.node-gyp/10.15.0/include/node/node.h:63:0,
                 from ../src/batch.cc:1:
/home/pi/.node-gyp/10.15.0/include/node/v8.h:10046:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
leveldown.target.mk:111: recipe for target 'Release/obj.target/leveldown/src/batch.o' failed
make: *** [Release/obj.target/leveldown/src/batch.o] Error 1
make: Leaving directory '/home/pi/.node-red/node_modules/leveldown/build'
prebuild ERR! build error
prebuild ERR! stack Error: `make` failed with exit code: 2
prebuild ERR! stack     at ChildProcess.onExit (/home/pi/.node-red/node_modules/node-gyp/lib/build.js:276:23)
prebuild ERR! stack     at ChildProcess.emit (events.js:182:13)
prebuild ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
prebuild ERR! not ok
prebuild ERR! build Error: `make` failed with exit code: 2
prebuild ERR! build     at ChildProcess.onExit (/home/pi/.node-red/node_modules/node-gyp/lib/build.js:276:23)
prebuild ERR! build     at ChildProcess.emit (events.js:182:13)
prebuild ERR! build     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)

> zmq@2.15.3 install /home/pi/.node-red/node_modules/zmq
> node-gyp rebuild

make: Entering directory '/home/pi/.node-red/node_modules/zmq/build'
  CXX(target) Release/obj.target/zmq/binding.o
../binding.cc:28:17: fatal error: zmq.h: No such file or directory
 #include <zmq.h>
                 ^
compilation terminated.
zmq.target.mk:99: recipe for target 'Release/obj.target/zmq/binding.o' failed
make: *** [Release/obj.target/zmq/binding.o] Error 1
make: Leaving directory '/home/pi/.node-red/node_modules/zmq/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Linux 4.14.79-v7+
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/pi/.node-red/node_modules/zmq
gyp ERR! node -v v10.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN node-red-project@0.0.1 No repository field.
npm WARN node-red-project@0.0.1 No license field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: snappy@5.0.5 (node_modules/snappy):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: snappy@5.0.5 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: leveldown@1.4.6 (node_modules/leveldown):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: leveldown@1.4.6 install: `prebuild --install`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 2
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: zmq@2.15.3 (node_modules/zmq):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: zmq@2.15.3 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

+ node-red-contrib-mqtt-broker@0.2.4
added 213 packages from 282 contributors and audited 2786 packages in 196.53s
found 3 vulnerabilities (2 low, 1 moderate)
  run `npm audit fix` to fix them, or `npm audit` for details
pi@Dommy:~/.node-red $

Het zijn maar een paar regels met meldingen :).

Milmoor wijzigde deze reactie 04-01-2019 17:51 (199%)
Reden: vierkante haakjes en teveel haast om de posts aansluitend te maken.

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


  • césaar
  • Registratie: september 2006
  • Laatst online: 23-03 10:13
Als ik een http static pagina definieer en wens die op te roepen 'http://localhost:1880/path to folder'
Dan krijg ik steeds error 'cannot get /path to folder'
De folder bestaat wel degelijk en is voorzien van een index.htm bestand.
In het settings.js bestand in .node-red heb ik httpStatic: '/home/pi/public/' -> folder path dus toegevoegd en comment uitgezet.
Iemand die weet waarom ik de pagina niet kan oproepen?

5 Jan 13:30:12 - [info] Node-RED version: v0.19.4
5 Jan 13:30:12 - [info] Node.js version: v9.11.2
5 Jan 13:30:12 - [info] Linux 4.14.50-v7+ arm LE
5 Jan 13:30:15 - [info] Loading palette nodes
5 Jan 13:30:27 - [info] Dashboard version 2.9.8 started at /ui
5 Jan 13:30:29 - [info] Settings file : /home/pi/.node-red/settings.js
5 Jan 13:30:29 - [info] HTTP Static : /home/pi/public
5 Jan 13:30:29 - [info] Context store : 'default' [module=memory]
5 Jan 13:30:29 - [info] User directory : /home/pi/.node-red
5 Jan 13:30:29 - [warn] Projects disabled : editorTheme.projects.enabled=false
5 Jan 13:30:29 - [info] Flows file : /home/pi/.node-red/flows_raspberrypi.json
5 Jan 13:30:29 - [info] Server now running at http://127.0.0.1:1880/

  • Milmoor
  • Registratie: januari 2000
  • Laatst online: 15:11

Milmoor

Footsteps and pictures.

césaar schreef op zaterdag 5 januari 2019 @ 13:49:
Als ik een http static pagina definieer en wens die op te roepen 'http://localhost:1880/path to folder'
Dan krijg ik steeds error 'cannot get /path to folder'
De folder bestaat wel degelijk en is voorzien van een index.htm bestand.
In het settings.js bestand in .node-red heb ik httpStatic: '/home/pi/public/' -> folder path dus toegevoegd en comment uitgezet.
Iemand die weet waarom ik de pagina niet kan oproepen?

5 Jan 13:30:12 - [info] Node-RED version: v0.19.4
5 Jan 13:30:12 - [info] Node.js version: v9.11.2
5 Jan 13:30:12 - [info] Linux 4.14.50-v7+ arm LE
5 Jan 13:30:15 - [info] Loading palette nodes
5 Jan 13:30:27 - [info] Dashboard version 2.9.8 started at /ui
5 Jan 13:30:29 - [info] Settings file : /home/pi/.node-red/settings.js
5 Jan 13:30:29 - [info] HTTP Static : /home/pi/public
5 Jan 13:30:29 - [info] Context store : 'default' [module=memory]
5 Jan 13:30:29 - [info] User directory : /home/pi/.node-red
5 Jan 13:30:29 - [warn] Projects disabled : editorTheme.projects.enabled=false
5 Jan 13:30:29 - [info] Flows file : /home/pi/.node-red/flows_raspberrypi.json
5 Jan 13:30:29 - [info] Server now running at http://127.0.0.1:1880/
Bij mij werkt deze op http://naam_server:1880/smarthome zonder aanpassingen waar dan ook. Doet dat het wel?

code:
1
[{"id":"f9bae50b.51ee68","type":"http in","z":"5cfc9193.e13cb","name":"","url":"/smarthome","method":"get","upload":false,"swaggerDoc":"","x":120,"y":1120,"wires":[["477f09f6.7d4b28"]]},{"id":"af458de5.233eb","type":"template","z":"5cfc9193.e13cb","name":"page","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<html>\n    <head></head>\n    <body>\n        <h1>Slaapkamerverlichting</h1>\n        <p>het licht was: {{payload.ison}}</p>\n    </body>\n</html>","x":610,"y":1120,"wires":[["3d1d863c.0b03ba","abbed933.8128b8"]]},{"id":"3d1d863c.0b03ba","type":"http response","z":"5cfc9193.e13cb","name":"","x":750,"y":1120,"wires":[]},{"id":"477f09f6.7d4b28","type":"http request","z":"5cfc9193.e13cb","name":"","method":"GET","ret":"txt","url":"shelly1-BijTrapSlaapkamer/relay/0","tls":"","x":310,"y":1120,"wires":[["2a4c86ef.33456a"]]},{"id":"ebdaa8e7.2dd628","type":"inject","z":"5cfc9193.e13cb","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":100,"y":1160,"wires":[["477f09f6.7d4b28"]]},{"id":"abbed933.8128b8","type":"debug","z":"5cfc9193.e13cb","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":770,"y":1160,"wires":[]},{"id":"2a4c86ef.33456a","type":"json","z":"5cfc9193.e13cb","name":"","property":"payload","action":"","pretty":false,"x":470,"y":1120,"wires":[["abbed933.8128b8","af458de5.233eb"]]}]

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


  • H143
  • Registratie: juli 2006
  • Laatst online: 15:04
ik probeer om bepaalde waarde's van mqtt dmv nodered naar influxdb te sturen om ze dan in grafana in een grafiek te kunnen verwerken.
ik de mqtt node rechtstreeks aan de influxdb node gekoppeld maar helaas werkt dit niet er wordt geen waarde weggeschreven,
hoe doen jullie dit?

  • KvNwPPr
  • Registratie: februari 2014
  • Laatst online: 21-03 23:58
alexswart schreef op zondag 6 januari 2019 @ 22:47:
ik probeer om bepaalde waarde's van mqtt dmv nodered naar influxdb te sturen om ze dan in grafana in een grafiek te kunnen verwerken.
ik de mqtt node rechtstreeks aan de influxdb node gekoppeld maar helaas werkt dit niet er wordt geen waarde weggeschreven,
hoe doen jullie dit?
Waar gaat het mis? komt de MQTT data niet binnen of komt het niet in de influx database? Begin met debug nodes te plaatsen en test het zoals op het plaatje. Dan weet je wat voor data er naar influx wordt weg geschreven.


  • H143
  • Registratie: juli 2006
  • Laatst online: 15:04
ik krijg de waarde via mqtt gewoon binnen bijvoorbeeld 480.4
dit zie ik ook in de debug node maar hij geeft dit niet door aan influxdb wel zie ik dat hij een topic aanmaakt in de test database maar hier staan geen waarde's in

  • KvNwPPr
  • Registratie: februari 2014
  • Laatst online: 21-03 23:58
alexswart schreef op zondag 6 januari 2019 @ 23:07:
ik krijg de waarde via mqtt gewoon binnen bijvoorbeeld 480.4
dit zie ik ook in de debug node maar hij geeft dit niet door aan influxdb wel zie ik dat hij een topic aanmaakt in de test database maar hier staan geen waarde's in
- Werkt het als je rechtstreeks data injecteert van Inject naar Influxdb? Misschien komt het binnen als string via MQTT?
- Al een nieuwe measurement (topic) geprobeerd?
- Staat je Grafana wel goed ingesteld? Krijg je wel andere data binnen?

  • césaar
  • Registratie: september 2006
  • Laatst online: 23-03 10:13
césaar schreef op zaterdag 5 januari 2019 @ 13:49:
Als ik een http static pagina definieer en wens die op te roepen 'http://localhost:1880/path to folder'
Dan krijg ik steeds error 'cannot get /path to folder'
De folder bestaat wel degelijk en is voorzien van een index.htm bestand.
In het settings.js bestand in .node-red heb ik httpStatic: '/home/pi/public/' -> folder path dus toegevoegd en comment uitgezet.
Localhost werkt, maar op ip-adres niet (vanaf andere pc).
Is dit een beperking of moet er nog een andere parameter aangepast worden?
Raspberry pi krijgt ip via dhcp.

  • R0y.
  • Registratie: juni 2010
  • Laatst online: 14:27
Ik kom er niet meer uit. Sinds een paar dagen gestart met NODE-red maar ik loop nu toch even vast. Misschien dat hier iemand mij weer op het juiste spoor krijgt.

Gewenste situatie:
Er hangt een sensor (Xiaomi) in de gang met twee spotjes (Ikea). Zo'n 30 minuten voordat de zon ondergaat zou ik willen dat die sensor pas er voor gaat zorgen dat de lampen aan gaan. Als de zon weer opkomt (na een offset van 30 minuten) hoeft de verlichting niet meer aan, want dan is er genoeg licht in de gang.

Dit is mijn huidige flow:


Sensor gang:
roept on of off aan de hand van beweging, heel de dag

Switch on/off:
on gaat naar output 1, off gaat naar output 2.

bigtimer sunset/sunrise:
Deze roept donker of licht a.d.h.v. de locatie en het tijdstip van de dag

Switch donker of licht:
Licht gaat naar output 1, donker gaat naar output 2

En vervolgens gebeurd er iets met de lampen. Waar het fout gaat is dat bigtimer een override krijgt van de sensor, of het nu het juiste tijdstip is of niet.

Node red export:
Heb mijn locatiegegevens even eruit gehaald :)

code:
1
[{"id":"96ad929f.75f71","type":"tab","label":"Gang beneden","disabled":false,"info":""},{"id":"2943fc60.0685ac","type":"api-call-service","z":"96ad929f.75f71","name":"Licht aan","server":"45d5ce31.884ca","service_domain":"light","service":"turn_on","data":"{\"entity_id\":\"light.gang_beneden\"}","render_data":false,"mergecontext":"","x":867,"y":90,"wires":[[]],"inputLabels":["on"]},{"id":"446b5874.ea5258","type":"api-call-service","z":"96ad929f.75f71","name":"Licht uit","server":"45d5ce31.884ca","service_domain":"light","service":"turn_off","data":"{\"entity_id\":\"light.gang_beneden\"}","render_data":false,"mergecontext":"","x":872,"y":226,"wires":[[]]},{"id":"3d577413.8396ac","type":"switch","z":"96ad929f.75f71","name":"on/off","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":255.5,"y":174,"wires":[["fc8b9f93.16659"],["446b5874.ea5258"]]},{"id":"94a6f852.fbd4a","type":"stoptimer","z":"96ad929f.75f71","duration":"125","units":"Second","payloadtype":"str","payloadval":"off","name":"","x":913.5,"y":148,"wires":[["446b5874.ea5258"],[]],"inputLabels":["on"],"outputLabels":["off","off"]},{"id":"11472dc.6eacdd2","type":"inject","z":"96ad929f.75f71","name":"uit","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":590.5,"y":225,"wires":[["446b5874.ea5258"]]},{"id":"ca71a8cd.3c3c38","type":"inject","z":"96ad929f.75f71","name":"aan","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":591,"y":91,"wires":[["2943fc60.0685ac"]]},{"id":"fc8b9f93.16659","type":"bigtimer","z":"96ad929f.75f71","outtopic":"","outpayload1":"licht","outpayload2":"donker","name":"sunset/sunrise","comment":"","lat":"XXXXXX","lon":"XXXXXX","starttime":"5004","endtime":"5003","startoff":"30","endoff":"30","offs":0,"outtext1":"licht","outtext2":"donker","timeout":1440,"sun":true,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"jan":true,"feb":true,"mar":true,"apr":true,"may":true,"jun":true,"jul":true,"aug":true,"sep":true,"oct":true,"nov":true,"dec":true,"day1":0,"month1":0,"day2":0,"month2":0,"day3":0,"month3":0,"day4":0,"month4":0,"day5":0,"month5":0,"day6":0,"month6":0,"d1":0,"w1":0,"d2":0,"w2":0,"d3":0,"w3":0,"d4":0,"w4":0,"d5":0,"w5":0,"d6":0,"w6":0,"xday1":0,"xmonth1":0,"xday2":0,"xmonth2":0,"xday3":0,"xmonth3":0,"xday4":0,"xmonth4":0,"xday5":0,"xmonth5":0,"xday6":0,"xmonth6":0,"xd1":0,"xw1":0,"xd2":0,"xw2":0,"xd3":0,"xw3":0,"xd4":0,"xw4":0,"xd5":0,"xw5":0,"xd6":0,"xw6":0,"suspend":false,"random":false,"repeat":false,"atstart":true,"odd":false,"even":false,"x":433.5,"y":140.5,"wires":[["e9796cb6.058b"],[],[]]},{"id":"7909a723.46c0d8","type":"server-state-changed","z":"96ad929f.75f71","name":"sensor gang","server":"45d5ce31.884ca","entityidfilter":"binary_sensor.motion_sensor_158d0002b70ae0","entityidfiltertype":"substring","haltifstate":"","outputinitially":true,"x":106.5,"y":173,"wires":[["3d577413.8396ac"]]},{"id":"e9796cb6.058b","type":"switch","z":"96ad929f.75f71","name":"donker of licht","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":670.5,"y":128,"wires":[["94a6f852.fbd4a","2943fc60.0685ac"],["446b5874.ea5258"]]},{"id":"45d5ce31.884ca","type":"server","z":"","name":"Home Assistant Hass","legacy":true,"hassio":true,"rejectUnauthorizedCerts":true}]


  • H143
  • Registratie: juli 2006
  • Laatst online: 15:04
KvNwPPr schreef op dinsdag 8 januari 2019 @ 17:17:
[...]


- Werkt het als je rechtstreeks data injecteert van Inject naar Influxdb? Misschien komt het binnen als string via MQTT?
- Al een nieuwe measurement (topic) geprobeerd?
- Staat je Grafana wel goed ingesteld? Krijg je wel andere data binnen?
Ik krijg de waarde binnen via mqtt en kan ook wel connecten met influxdb maar hij schrijft de waardes niet weg. De database bestaat ook en hierin wordt ook wel een topic aangemaakt.
Ik denk dat het dan inderdaad als string binnenkomt alleen geen idee hoe ik dit kan omzetten

  • KvNwPPr
  • Registratie: februari 2014
  • Laatst online: 21-03 23:58
alexswart schreef op zaterdag 12 januari 2019 @ 18:16:
[...]

Ik krijg de waarde binnen via mqtt en kan ook wel connecten met influxdb maar hij schrijft de waardes niet weg. De database bestaat ook en hierin wordt ook wel een topic aangemaakt.
Ik denk dat het dan inderdaad als string binnenkomt alleen geen idee hoe ik dit kan omzetten
String to number:
Meer info: https://discourse.nodered.org/t/string-to-number/988/2
@R0y. Die Bigtimer is echt een verschrikkelijke node in mijn ogen. Kan veel te veel maar is nergens goed voor :+

Ik wil je de time-range-node aanbevelen. Die doet precies wat jij wilt. Wel of geen bericht doorlaten aan de hand van tijden/standen van de zon/en-nog-wat. Volgens mij ben je er dan met onderstaande al
JSON:
1
[{"id":"dc705e9a.ef6fa","type":"server-state-changed","z":"fc20bc35.aeb33","name":"sensor gang","server":"7df13ffe.c5395","entityidfilter":"binary_sensor.motion_sensor_158d0002b70ae0","entityidfiltertype":"substring","outputinitially":true,"haltifstate":"","outputs":1,"x":280,"y":300,"wires":[["2d7252f5.e2b77e"]]},{"id":"2d7252f5.e2b77e","type":"time-range-switch","z":"fc20bc35.aeb33","name":"","lat":"","lon":"","startTime":"sunset","endTime":"sunrise","startOffset":"-30","endOffset":"30","x":510,"y":300,"wires":[["3411576c.4d1748"],[]]},{"id":"3411576c.4d1748","type":"switch","z":"fc20bc35.aeb33","name":"donker of licht","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":780,"y":300,"wires":[["9b1d7da6.5f461","df316ce0.9af1a"],["934527af.3ee468"]]},{"id":"9b1d7da6.5f461","type":"stoptimer","z":"fc20bc35.aeb33","duration":"125","units":"Second","payloadtype":"str","payloadval":"off","name":"","x":1080,"y":300,"wires":[["934527af.3ee468"],[]],"inputLabels":["on"],"outputLabels":["off","off"]},{"id":"df316ce0.9af1a","type":"api-call-service","z":"fc20bc35.aeb33","name":"Licht aan","server":"7df13ffe.c5395","service_domain":"light","service":"turn_on","data":"{\"entity_id\":\"light.gang_beneden\"}","render_data":false,"mergecontext":"","x":1080,"y":240,"wires":[[]],"inputLabels":["on"]},{"id":"934527af.3ee468","type":"api-call-service","z":"fc20bc35.aeb33","name":"Licht uit","server":"7df13ffe.c5395","service_domain":"light","service":"turn_off","data":"{\"entity_id\":\"light.gang_beneden\"}","render_data":false,"mergecontext":"","x":1085,"y":376,"wires":[[]]},{"id":"1a9fd57a.33528b","type":"inject","z":"fc20bc35.aeb33","name":"aan","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":804,"y":241,"wires":[["df316ce0.9af1a"]]},{"id":"8b8a3349.47c83","type":"inject","z":"fc20bc35.aeb33","name":"uit","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":803.5,"y":375,"wires":[["934527af.3ee468"]]},{"id":"7df13ffe.c5395","type":"server","z":"","name":"Home Assistant Hass","legacy":true,"hassio":true,"rejectUnauthorizedCerts":true}]

Edit: Ik heb een fout gemaakt, moest de Time-Range node zijn, niet Schedex

lolgast wijzigde deze reactie 12-01-2019 19:41 (33%)


  • H143
  • Registratie: juli 2006
  • Laatst online: 15:04

  • R0y.
  • Registratie: juni 2010
  • Laatst online: 14:27
lolgast schreef op zaterdag 12 januari 2019 @ 19:34:
@R0y. Die Bigtimer is echt een verschrikkelijke node in mijn ogen. Kan veel te veel maar is nergens goed voor :+

Ik wil je de time-range-node aanbevelen. Die doet precies wat jij wilt. Wel of geen bericht doorlaten aan de hand van tijden/standen van de zon/en-nog-wat. Volgens mij ben je er dan met onderstaande al
JSON:
1
[{"id":"dc705e9a.ef6fa","type":"server-state-changed","z":"fc20bc35.aeb33","name":"sensor gang","server":"7df13ffe.c5395","entityidfilter":"binary_sensor.motion_sensor_158d0002b70ae0","entityidfiltertype":"substring","outputinitially":true,"haltifstate":"","outputs":1,"x":280,"y":300,"wires":[["2d7252f5.e2b77e"]]},{"id":"2d7252f5.e2b77e","type":"time-range-switch","z":"fc20bc35.aeb33","name":"","lat":"","lon":"","startTime":"sunset","endTime":"sunrise","startOffset":"-30","endOffset":"30","x":510,"y":300,"wires":[["3411576c.4d1748"],[]]},{"id":"3411576c.4d1748","type":"switch","z":"fc20bc35.aeb33","name":"donker of licht","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":780,"y":300,"wires":[["9b1d7da6.5f461","df316ce0.9af1a"],["934527af.3ee468"]]},{"id":"9b1d7da6.5f461","type":"stoptimer","z":"fc20bc35.aeb33","duration":"125","units":"Second","payloadtype":"str","payloadval":"off","name":"","x":1080,"y":300,"wires":[["934527af.3ee468"],[]],"inputLabels":["on"],"outputLabels":["off","off"]},{"id":"df316ce0.9af1a","type":"api-call-service","z":"fc20bc35.aeb33","name":"Licht aan","server":"7df13ffe.c5395","service_domain":"light","service":"turn_on","data":"{\"entity_id\":\"light.gang_beneden\"}","render_data":false,"mergecontext":"","x":1080,"y":240,"wires":[[]],"inputLabels":["on"]},{"id":"934527af.3ee468","type":"api-call-service","z":"fc20bc35.aeb33","name":"Licht uit","server":"7df13ffe.c5395","service_domain":"light","service":"turn_off","data":"{\"entity_id\":\"light.gang_beneden\"}","render_data":false,"mergecontext":"","x":1085,"y":376,"wires":[[]]},{"id":"1a9fd57a.33528b","type":"inject","z":"fc20bc35.aeb33","name":"aan","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":804,"y":241,"wires":[["df316ce0.9af1a"]]},{"id":"8b8a3349.47c83","type":"inject","z":"fc20bc35.aeb33","name":"uit","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":803.5,"y":375,"wires":[["934527af.3ee468"]]},{"id":"7df13ffe.c5395","type":"server","z":"","name":"Home Assistant Hass","legacy":true,"hassio":true,"rejectUnauthorizedCerts":true}]

Edit: Ik heb een fout gemaakt, moest de Time-Range node zijn, niet Schedex
Top, dit was hem! Ik was juist zo'n functie binnen bigtimer aan het zoeken. Ik kan weer verder :) _/-\o_

  • Sander
  • Registratie: juni 2004
  • Laatst online: 22-03 12:55
Als onderdeel van recente 'move' van al mijn Zigbee devices verspreid over Aqara en Tradfri bridge naar zigbee2mqtt ook bezig met een move naar node-red voor automations (ipv home assistant). Nu schakelde ik in HASS eigenlijk altijd met groepen devices ipv individuele, maar uiteraard kent zigbee2mqtt dit concept niet. Dus zit nu in twijfel over de meest cleane aanpak:
- Node-red ook proberen zaken te groeperen en vanuit daar via MQTT alles aansturen (voordeel: Alles draait door zonder homeassistent, nadeel: dubbele administratie)
- Via Node-red de home assistant group schakelen (Voordeel: Geen dubbele groepen etc, Nadeel: home assistant down = automations weg)

Hoe lossen jullie dit op?

  • RobertMe
  • Registratie: maart 2009
  • Laatst online: 14:42
Sander schreef op maandag 14 januari 2019 @ 11:02:
Als onderdeel van recente 'move' van al mijn Zigbee devices verspreid over Aqara en Tradfri bridge naar zigbee2mqtt ook bezig met een move naar node-red voor automations (ipv home assistant). Nu schakelde ik in HASS eigenlijk altijd met groepen devices ipv individuele, maar uiteraard kent zigbee2mqtt dit concept niet. Dus zit nu in twijfel over de meest cleane aanpak:
- Node-red ook proberen zaken te groeperen en vanuit daar via MQTT alles aansturen (voordeel: Alles draait door zonder homeassistent, nadeel: dubbele administratie)
- Via Node-red de home assistant group schakelen (Voordeel: Geen dubbele groepen etc, Nadeel: home assistant down = automations weg)

Hoe lossen jullie dit op?
Optie 3: wachten op de nieuwe major versie van Zigbee2mqtt. Deze krijgt ondersteuning voor groepen waarbij de lampen op Zigbee niveau gegroepeerd worden (bijkomend voordeel is dat bv alle lampen tegelijk aan en uit gaan i.p.v. met een kleine vertraging).

Overigens gebruik ik zelf geen Zigbee2mqtt. Mijn Hue lampen hangen aan de Hue bridge en ik heb een Homey met daaraan de Xiaomi sensoren gekoppeld.

Wat ik in een Node-RED topic doe terwijl ik een Homey heb? Via MQTT zet ik de sensoren van Homey door naar HASS en automations zitten in Node-RED :P
@Sander Ik heb geen zigbee lampen, wel via MQTT. Die schakel ik in NR gewoon via MQTT, juist om inderdaad minder afhankelijk van homeassistant te zijn.

Ik heb geen groep voor die lampen gemaakt, ik schakel ze gewoon individueel. Zonder merkbare vertraging trouwens, want NR kan heus wel 3 MQTT topics updaten waarna de schakelaars van de lampen deze zelf oppikken :)

  • Enzoz89
  • Registratie: oktober 2018
  • Laatst online: 18-02 21:58
Goedemorgen,

ik heb een uitdaging ben al een tijd aan het stoeien met Hassio.

het werk perfect nu ben ik er achter gekomen als ik node-red draai op mijn PI 3B+ dat mijn PI vast loop en niet meer wil opstarten dus dacht heb nog en pi 3 liggen hier heb ik raspbian-stretch op gezet de laste node-red maar nu moet ik mijn node-red met mijn Hssio koppelen dit wil mij niet lukken.

iemand hier ervaring mee?

  • RobertMe
  • Registratie: maart 2009
  • Laatst online: 14:42
Enzoz89 schreef op maandag 14 januari 2019 @ 11:23:
Goedemorgen,

ik heb een uitdaging ben al een tijd aan het stoeien met Hassio.

het werk perfect nu ben ik er achter gekomen als ik node-red draai op mijn PI 3B+ dat mijn PI vast loop en niet meer wil opstarten dus dacht heb nog en pi 3 liggen hier heb ik raspbian-stretch op gezet de laste node-red maar nu moet ik mijn node-red met mijn Hssio koppelen dit wil mij niet lukken.

iemand hier ervaring mee?
Welke variant van de Node-REd Home Assistant addon heb je geïnstalleerd? Deze is in ieder geval momenteel het meest in ontwikkeling en werkt ook op basis van de authenticatie tokens van de recentere HA versies (waar de andere NR HA addons nog op basis van gebruikersnaam en wachtwoord werkten).
En tegen welke problemen loop je specifiek aan/wat wil niet lukken? Glazen bol staat helaas in de afwasmachine :/

  • Sander
  • Registratie: juni 2004
  • Laatst online: 22-03 12:55
RobertMe schreef op maandag 14 januari 2019 @ 11:07:
[...]

Optie 3: wachten op de nieuwe major versie van Zigbee2mqtt. Deze krijgt ondersteuning voor groepen waarbij de lampen op Zigbee niveau gegroepeerd worden (bijkomend voordeel is dat bv alle lampen tegelijk aan en uit gaan i.p.v. met een kleine vertraging).

Overigens gebruik ik zelf geen Zigbee2mqtt. Mijn Hue lampen hangen aan de Hue bridge en ik heb een Homey met daaraan de Xiaomi sensoren gekoppeld.

Wat ik in een Node-RED topic doe terwijl ik een Homey heb? Via MQTT zet ik de sensoren van Homey door naar HASS en automations zitten in Node-RED :P
Hmm, dat is dus eigenlijk de perfecte oplossing, want dan kan ik nu gewoon even dubbele admin doen, maar later flows versimpelen door groepen aan te roepen.

  • KvNwPPr
  • Registratie: februari 2014
  • Laatst online: 21-03 23:58
lolgast schreef op maandag 14 januari 2019 @ 11:16:
@Sander Ik heb geen zigbee lampen, wel via MQTT. Die schakel ik in NR gewoon via MQTT, juist om inderdaad minder afhankelijk van homeassistant te zijn.

Ik heb geen groep voor die lampen gemaakt, ik schakel ze gewoon individueel. Zonder merkbare vertraging trouwens, want NR kan heus wel 3 MQTT topics updaten waarna de schakelaars van de lampen deze zelf oppikken :)
Ik heb sindskort de Milight ESP8266 hub in gebruik en schakel verlichting nu dus ook via MQTT. Werkt prima. Ik loop nog wel te kloten met een "terug naar vorige states mode".

Situatie: Verlichting woonkamer staat aan op 80%, Bel gaat af (5 seconden disco mode). Daarna wil ik weer terug naar de "oude" normale verlichting van 80% (of 40% bv. als ik de schakelaar gebruik). Dit heb ik wel voor elkaar gekregen met GLOBAL nodes maar kan het ook met MQTT?

Mijn flows worden veel te overzichtelijk door overal Global en MQTT nodes te plaatsen.
Hangen die milights ook in HA toevallig? Want voor mijn keukenspotjes query ik de status in HA en aan de hand daarvan kan ik ze togglen met dezelfde schakelaar

  • Enzoz89
  • Registratie: oktober 2018
  • Laatst online: 18-02 21:58
RobertMe schreef op maandag 14 januari 2019 @ 12:19:
[...]

Welke variant van de Node-REd Home Assistant addon heb je geïnstalleerd? Deze is in ieder geval momenteel het meest in ontwikkeling en werkt ook op basis van de authenticatie tokens van de recentere HA versies (waar de andere NR HA addons nog op basis van gebruikersnaam en wachtwoord werkten).
En tegen welke problemen loop je specifiek aan/wat wil niet lukken? Glazen bol staat helaas in de afwasmachine :/
als ik de Node-red uit de Community Hass.io Add-ons pak dat is versie V1.2.3
als ik deze installeer en dan

deze invul met mijn username en password doet hij het tot dat ik me hassio reboot en dan begin het gezeik.

{
"log_level": "info",
"credential_secret": "KJHhfdhiFRENCKfsdfdsDHFHDJS",
"http_node": {
"username": "MarryPoppins",
"password": "Supercalifragilisticexpialidocious"
},
"http_static": {
"username": "MarryPoppins",
"password": "Supercalifragilisticexpialidocious"
},
"port": 1880,
"ssl": true,
"certfile": "fullchain.pem",
"keyfile": "privkey.pem",
"require_ssl": true,
"system_packages": [
"ffmpeg"
],
"npm_packages": [
"node-red-admin"
],
"init_commands": [
"echo 'This is a test'",
"echo 'So is this...'"
]
}


vandaar dat ik dacht ik install raspbian-stretch op een andere pi en laat daar node red op draaien.
met versie 19.5

maar helaas krijg ik mijn https://gyazo.com/743f987d1eac80343065cbacc458240f

  • Mars Warrior
  • Registratie: oktober 2003
  • Laatst online: 12:41

Mars Warrior

Earth, the final frontier

RobertMe schreef op maandag 14 januari 2019 @ 11:07:
[...]
Optie 3: wachten op de nieuwe major versie van Zigbee2mqtt. Deze krijgt ondersteuning voor groepen waarbij de lampen op Zigbee niveau gegroepeerd worden (bijkomend voordeel is dat bv alle lampen tegelijk aan en uit gaan i.p.v. met een kleine vertraging).
Of niet meer wachten, maar de dev versie installeren. Als je docker gebruikt is dat ipv :latest :latest-dev intypen in je compose file.

Werkt als een tierelier icm Home Assistant in ieder geval.

http://www.team-mediaportal.com/


  • djkooij
  • Registratie: juni 2001
  • Laatst online: 21-03 19:28

djkooij

voorheen Facemodder

Pfew... Ben inmiddels ook een klein beetje op weg met NR en ben erg positief over het hoe/wat.
Wel is het nog lastig om zaken te versimpelen binnen flows en het bepalen wat nu het beste waar kan worden geplaatst.
Simpele setup met Domoticz/MQTT/Node Red en wat meer nodig is.

Mijn enige "productie" flow tot nu toe met de nodige verbeterpunten, de rest zit nog binnen de Domoticz taal:


Nog erg zoekende naar opties/mogelijkheden/etc. om zaken netter te structureren in flows/subflows etc.
Duik deze week nog maar wat meer in youtube howto's.
Ik lees echter met veel plezier dit topic, leerzaam en inspirerend.

fotospul


  • KvNwPPr
  • Registratie: februari 2014
  • Laatst online: 21-03 23:58
lolgast schreef op maandag 14 januari 2019 @ 13:20:
Hangen die milights ook in HA toevallig? Want voor mijn keukenspotjes query ik de status in HA en aan de hand daarvan kan ik ze togglen met dezelfde schakelaar
Nog niet. Dat zou zeker werken. Ik probeer alleen juist om zoveel mogelijk zonder HA te werken.
djkooij schreef op maandag 14 januari 2019 @ 18:37:
Pfew... Ben inmiddels ook een klein beetje op weg met NR en ben erg positief over het hoe/wat.
Wel is het nog lastig om zaken te versimpelen binnen flows en het bepalen wat nu het beste waar kan worden geplaatst.
Simpele setup met Domoticz/MQTT/Node Red en wat meer nodig is.

Mijn enige "productie" flow tot nu toe met de nodige verbeterpunten, de rest zit nog binnen de Domoticz taal:
[Afbeelding]

Nog erg zoekende naar opties/mogelijkheden/etc. om zaken netter te structureren in flows/subflows etc.
Duik deze week nog maar wat meer in youtube howto's.
Ik lees echter met veel plezier dit topic, leerzaam en inspirerend.
Elke keer als ik zulke flows voorbij zie komen denk ik bij mezelf, ik moet mijn 'verlichting-flow' opschonen :+


Aan de andere kant, hij werkt wel 8)

  • Greetoz
  • Registratie: juni 2002
  • Laatst online: 14:38
Hopelijk kan ik hier terecht met mijn vraag. Ik heb een Rpi met Hass.io en Node-red addon. Nu probeer ik een lamp te schakelen met een Xiaomi round button. Deze heb ik via een raspbee en deconz aangesloten. Ik krijg in hass.io alleen de sensor.battery van de button. Maar schijnbaar kan die ook de events (1001, 1002 etc) opvangen. Maar ik probeer de button dus te verwerken in een nodered maar heb echt geen idee welke nodes ik moet gebruiken. (ik ga ervanuit dat het de Events: state is) maar wat moet ik daarna doen?


Om het misschien duidelijker te krijgen. ik wil deze automation in node-red maken:

alias: keuken_aanrecht_button
trigger:
- event_data:
event: 1002
id: keuken_aanrecht_button
event_type: deconz_event
platform: event
action:
- entity_id: light.kantoor_plafond_lamp
service: light.toggle

Greetoz wijzigde deze reactie 15-01-2019 11:24 (24%)

@Greetoz Voor mijn Xiaomi dubbele schakelaars heb ik het zo opgelost

JSON:
1
[{"id":"259fc0b2.84b06","type":"server-events","z":"ba68260d.f9c468","name":"All events","server":"39fd7a9b.252f86","x":100,"y":1870,"wires":[["63f28a87.3a51f4"]]},{"id":"63f28a87.3a51f4","type":"json","z":"ba68260d.f9c468","name":"","property":"payload","action":"","pretty":false,"x":250,"y":1870,"wires":[["66d2f442.1867bc"]]},{"id":"66d2f442.1867bc","type":"switch","z":"ba68260d.f9c468","name":"Overloop","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"\"entity_id\":\"binary_sensor.wall_switch_left_158d0001640b8c\",\"click_type\":\"single\"","vt":"str"},{"t":"cont","v":"\"entity_id\":\"binary_sensor.wall_switch_right_158d0001640b8c\",\"click_type\":\"single\"","vt":"str"},{"t":"cont","v":"\"entity_id\":\"binary_sensor.wall_switch_both_158d0001640b8c\",\"click_type\":\"both\"","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":420,"y":1870,"wires":[[],[],[]]}]


De regels in mijn switch-node zijn letterlijk gekopieerd uit de logging van HA na het indrukken van de knop.

  • Greetoz
  • Registratie: juni 2002
  • Laatst online: 14:38
lolgast schreef op dinsdag 15 januari 2019 @ 11:30:
@Greetoz Voor mijn Xiaomi dubbele schakelaars heb ik het zo opgelost

JSON:
1
[{"id":"259fc0b2.84b06","type":"server-events","z":"ba68260d.f9c468","name":"All events","server":"39fd7a9b.252f86","x":100,"y":1870,"wires":[["63f28a87.3a51f4"]]},{"id":"63f28a87.3a51f4","type":"json","z":"ba68260d.f9c468","name":"","property":"payload","action":"","pretty":false,"x":250,"y":1870,"wires":[["66d2f442.1867bc"]]},{"id":"66d2f442.1867bc","type":"switch","z":"ba68260d.f9c468","name":"Overloop","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"\"entity_id\":\"binary_sensor.wall_switch_left_158d0001640b8c\",\"click_type\":\"single\"","vt":"str"},{"t":"cont","v":"\"entity_id\":\"binary_sensor.wall_switch_right_158d0001640b8c\",\"click_type\":\"single\"","vt":"str"},{"t":"cont","v":"\"entity_id\":\"binary_sensor.wall_switch_both_158d0001640b8c\",\"click_type\":\"both\"","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":420,"y":1870,"wires":[[],[],[]]}]


De regels in mijn switch-node zijn letterlijk gekopieerd uit de logging van HA na het indrukken van de knop.
Hmm bedankt, om heel eerlijk te zijn kan ik daar niet zoveel mee. als ik die paste in mijn nodered krijg ik een flow met binary sensors en switches, die ronde button is geen binary sensor. Toch bedankt!
...?

Daarom zeg ik ook dat die tekst letterlijk uit de log van HA komt. Het enige wat je hoeft te doen is op jouw knop te drukken, de logging van HA er op na te lezen en de event van die knop te plakken op de plek waar mijn tekst staat? Als je de entity_id en event maar hebt

  • RobertMe
  • Registratie: maart 2009
  • Laatst online: 14:42
Greetoz schreef op dinsdag 15 januari 2019 @ 11:46:
[...]


Hmm bedankt, om heel eerlijk te zijn kan ik daar niet zoveel mee. als ik die paste in mijn nodered krijg ik een flow met binary sensors en switches, die ronde button is geen binary sensor. Toch bedankt!
Of als aanvulling op de post van @lolgast pak je de Events : All node en koppelt die aan een debug node. Ook dan zul je zien wat precies in Node-RED binnen komt en hoe de verdere verwerking te doen.

  • Greetoz
  • Registratie: juni 2002
  • Laatst online: 14:38
RobertMe schreef op dinsdag 15 januari 2019 @ 11:50:
[...]

Of als aanvulling op de post van @lolgast pak je de Events : All node en koppelt die aan een debug node. Ook dan zul je zien wat precies in Node-RED binnen komt en hoe de verdere verwerking te doen.
Dan komt daar uit wat ik al wist:

deconz_event : msg.payload : Object
object
event_type: "deconz_event"
event: object
id: "keuken_aanrecht_button"
event: 1002

Maar hoe ik dat dan vertaal in een node-red flow die een lamp toggled is mij om eerlijk te zijn nog een raadsel... volgens mij moet ik een events:all gebruiken. filteren op deconz_event. Maar vervolgens moet ik dan alleen die button filteren en zorgen dat de event 1002 wordt gebruikt. Bizar dat het moeilijker is via node-red dan yaml haha. Maar toch wil ik graag al mijn automations in node-red voor het overzicht.

Greetoz wijzigde deze reactie 15-01-2019 12:13 (19%)


  • RobertMe
  • Registratie: maart 2009
  • Laatst online: 14:42
Greetoz schreef op dinsdag 15 januari 2019 @ 12:12:
[...]


Dan komt daar uit wat ik al wist:

deconz_event : msg.payload : Object
object
event_type: "deconz_event"
event: object
id: "keuken_aanrecht_button"
event: 1002

Maar hoe ik dat dan vertaal in een node-red flow die een lamp toggled is mij om eerlijk te zijn nog een raadsel... volgens mij moet ik een events:all gebruiken. filteren op deconz_event. Maar vervolgens moet ik dan alleen die button filteren en zorgen dat de event 1002 wordt gebruikt. Bizar dat het moeilijker is via node-red dan yaml haha. Maar toch wil ik graag al mijn automations in node-red voor het overzicht.
De structuur van de JSON/output is nogal omgevallen, maar ik neem aan dat je deze JSON krijgt?

JSON:
1
2
3
4
5
6
7
8
{
    "event_type": "deconz_event",
    "event":
    {
        "id": "keuken_aanrecht_button",
        "event": 1002
    }
}



Zo ja kun je deze switch node proberen:

JSON:
1
[{"id":"b359622e.d926a","type":"switch","z":"837c29c3.7ce628","name":"","property":"payload","propertyType":"msg","rules":[{"t":"jsonata_exp","v":"payload.event_type = \"deconz_event\" and payload.event.id = 'keuken_aanrecht_button' and payload.event.event = 1002","vt":"jsonata"}],"checkall":"true","repair":false,"outputs":1,"x":410,"y":140,"wires":[["3d3b21ee.baf54e"]]}]


Mocht je JSON er anders uit zien moet je dus even de expression in de switch bijschaven.

  • Greetoz
  • Registratie: juni 2002
  • Laatst online: 14:38
RobertMe schreef op dinsdag 15 januari 2019 @ 12:24:
[...]

De structuur van de JSON/output is nogal omgevallen, maar ik neem aan dat je deze JSON krijgt?

JSON:
1
2
3
4
5
6
7
8
{
    "event_type": "deconz_event",
    "event":
    {
        "id": "keuken_aanrecht_button",
        "event": 1002
    }
}



Zo ja kun je deze switch node proberen:

JSON:
1
[{"id":"b359622e.d926a","type":"switch","z":"837c29c3.7ce628","name":"","property":"payload","propertyType":"msg","rules":[{"t":"jsonata_exp","v":"payload.event_type = \"deconz_event\" and payload.event.id = 'keuken_aanrecht_button' and payload.event.event = 1002","vt":"jsonata"}],"checkall":"true","repair":false,"outputs":1,"x":410,"y":140,"wires":[["3d3b21ee.baf54e"]]}]


Mocht je JSON er anders uit zien moet je dus even de expression in de switch bijschaven.
Geweldig dit werkt! Ik heb hem even gesplitst. Nu een Events: all met al een filter op deconz events en dan jouw switch minus het deconz gedeelte. Dit is dus alleen te doen met een events all en geen specifiek event op die entity.
Een eerste opzetje, maar ter lering en vermaak. En sta uiteraard open voor verbeteringen of andere denkwijzen


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

  • Enzoz89
  • Registratie: oktober 2018
  • Laatst online: 18-02 21:58
kan iemand mij vertellen hoe ik in node-red met een puls schakkelaar 2 scenes kan maken.

bijvoorbeeld 1 keer klikken de aangesloten lamp aan of uit
dubbel klikken alles uit.

is dit mogelijk?

  • Milmoor
  • Registratie: januari 2000
  • Laatst online: 15:11

Milmoor

Footsteps and pictures.

Enzoz89 schreef op vrijdag 18 januari 2019 @ 10:53:
kan iemand mij vertellen hoe ik in node-red met een puls schakkelaar 2 scenes kan maken.

bijvoorbeeld 1 keer klikken de aangesloten lamp aan of uit
dubbel klikken alles uit.

is dit mogelijk?
Ik mis wat info over wat voor schakelaar(s) je hebt. Stel het is een Shelly, daar kan je schakelaar en Relay loskoppelen. Maak in Node-Red een flow die kijkt of er binnen X tijd twee klikken zijn (bijv. tijden vergelijken of via een RBE node oid). Aan de hand daarvan kan je de rest van de Shelly/Shellies aansturen.

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


  • om3ega
  • Registratie: maart 2001
  • Laatst online: 11:17

om3ega

Merry XMAS

Beste Tweakers,

Kan iemand mij even een duw in de juiste richting geven?
Ik heb meerdere sensoren die ik via RFXCOM ontvang.

Middels een switch filter in de devices die van belang zijn (ik heb er nu maar even 1 in staan)

Ik wil alle informatie van de sensor zichtbaar maken op de MQTT broker.
Dat wil zeggen : temp, humidity , rssi en battery level.

Ik heb dat nu voor elkaar, maar iets zeg me dat dit handiger kan , maar niets zegt me hoe :)




Output MQTT


code:
1
2
3
4
huis/zolder/hobbykamer/thermometer/temperatuur 17.8
huis/zolder/hobbykamer/thermometer/vochtigheid 48
huis/zolder/hobbykamer/thermometer/rssi 7
huis/zolder/hobbykamer/thermometer/battery 9



Javascript code voor temperatuur


code:
1
2
3
4
5
var msg;
msg.topic = "huis/zolder/hobbykamer/thermometer/temperatuur";
msg.payload = msg.payload.temperature.value;

return msg;



Je begrijpt als ik zo 10 sensors hebt dat het wat veel wordt.. Kan dat makkelijker?
Het werkt wel zoals ik wil nu.


code:
1
[{"id":"61352ea5.47c678","type":"rfx-sensor","z":"38f87c94.b22264","name":"","port":"c40bfd14.07093","topicSource":"all","topic":"","x":140,"y":240,"wires":[["53cc56c9.91866"]]},{"id":"53cc56c9.91866","type":"switch","z":"38f87c94.b22264","name":"","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"TH3/0x8E01","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":370,"y":240,"wires":[["f06173c0.fb8678","5b9bb66b.ac894","3a5de362.4e5e8c","b608a22d.ea828"]]},{"id":"99b93f89.717cd8","type":"mqtt out","z":"38f87c94.b22264","name":"","topic":"","qos":"","retain":"","broker":"c775f8ff.0fb7b","x":850,"y":240,"wires":[]},{"id":"f06173c0.fb8678","type":"function","z":"38f87c94.b22264","name":"Temperatuur","func":"var msg;\nmsg.topic = \"huis/zolder/hobbykamer/thermometer/temperatuur\";\nmsg.payload = msg.payload.temperature.value;\n\nreturn msg;\n","outputs":1,"noerr":0,"x":590,"y":240,"wires":[["99b93f89.717cd8"]]},{"id":"5b9bb66b.ac894","type":"function","z":"38f87c94.b22264","name":"Vochtigheid","func":"var msg;\nmsg.topic = \"huis/zolder/hobbykamer/thermometer/vochtigheid\";\nmsg.payload = msg.payload.humidity.value;\nreturn msg;\n","outputs":1,"noerr":0,"x":590,"y":280,"wires":[["99b93f89.717cd8"]]},{"id":"3a5de362.4e5e8c","type":"function","z":"38f87c94.b22264","name":"rssi","func":"var msg;\nmsg.topic = \"huis/zolder/hobbykamer/thermometer/rssi\";\nmsg.payload = msg.status.rssi;\nreturn msg;\n","outputs":1,"noerr":0,"x":570,"y":320,"wires":[["99b93f89.717cd8"]]},{"id":"b608a22d.ea828","type":"function","z":"38f87c94.b22264","name":"battery","func":"var msg;\nmsg.topic = \"huis/zolder/hobbykamer/thermometer/battery\";\nmsg.payload = msg.status.battery;\nreturn msg;\n","outputs":1,"noerr":0,"x":580,"y":360,"wires":[["99b93f89.717cd8"]]},{"id":"c40bfd14.07093","type":"rfxtrx-port","z":"","port":"/dev/ttyUSB0","enableDebug":false,"rfyVenetianMode":"EU"},{"id":"c775f8ff.0fb7b","type":"mqtt-broker","z":"","name":"Broker mqtt","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","willTopic":"","willQos":"0","willRetain":"false","willPayload":""}]



Hoe zouden jullie dit aanpakken? Of ben ik op de juiste weg?

Ervaring is het archief van onze stommiteiten.


  • KvNwPPr
  • Registratie: februari 2014
  • Laatst online: 21-03 23:58
Enzoz89 schreef op vrijdag 18 januari 2019 @ 10:53:
kan iemand mij vertellen hoe ik in node-red met een puls schakkelaar 2 scenes kan maken.

bijvoorbeeld 1 keer klikken de aangesloten lamp aan of uit
dubbel klikken alles uit.

is dit mogelijk?
Het makkelijkste is via: ALL EVENTS > SCHAKELAAR > CLICK TYPE (single / double). En dan de light toggle functie in HA om het licht aan of uit te zetten. en double click verbinden light.turn_off in hass.

Helaas werkt die toggle functie niet meer via MQTT dus heb ik de COUNT node gebruikt (zie foto).
- Count 1 = AAN
- Count 2 = UIT
Na 2 keer klikken volgt er een reset en begint het weer met count 1.


  • Milmoor
  • Registratie: januari 2000
  • Laatst online: 15:11

Milmoor

Footsteps and pictures.

om3ega schreef op vrijdag 18 januari 2019 @ 12:40:
Beste Tweakers,

Kan iemand mij even een duw in de juiste richting geven?
Ik heb meerdere sensoren die ik via RFXCOM ontvang.

Middels een switch filter in de devices die van belang zijn (ik heb er nu maar even 1 in staan)

Ik wil alle informatie van de sensor zichtbaar maken op de MQTT broker.
Dat wil zeggen : temp, humidity , rssi en battery level.

Ik heb dat nu voor elkaar, maar iets zeg me dat dit handiger kan , maar niets zegt me hoe :)

[Afbeelding]
[Afbeelding]

Output MQTT


code:
1
2
3
4
huis/zolder/hobbykamer/thermometer/temperatuur 17.8
huis/zolder/hobbykamer/thermometer/vochtigheid 48
huis/zolder/hobbykamer/thermometer/rssi 7
huis/zolder/hobbykamer/thermometer/battery 9



Javascript code voor temperatuur


code:
1
2
3
4
5
var msg;
msg.topic = "huis/zolder/hobbykamer/thermometer/temperatuur";
msg.payload = msg.payload.temperature.value;

return msg;



Je begrijpt als ik zo 10 sensors hebt dat het wat veel wordt.. Kan dat makkelijker?
Het werkt wel zoals ik wil nu.


code:
1
[{"id":"61352ea5.47c678","type":"rfx-sensor","z":"38f87c94.b22264","name":"","port":"c40bfd14.07093","topicSource":"all","topic":"","x":140,"y":240,"wires":[["53cc56c9.91866"]]},{"id":"53cc56c9.91866","type":"switch","z":"38f87c94.b22264","name":"","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"TH3/0x8E01","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":370,"y":240,"wires":[["f06173c0.fb8678","5b9bb66b.ac894","3a5de362.4e5e8c","b608a22d.ea828"]]},{"id":"99b93f89.717cd8","type":"mqtt out","z":"38f87c94.b22264","name":"","topic":"","qos":"","retain":"","broker":"c775f8ff.0fb7b","x":850,"y":240,"wires":[]},{"id":"f06173c0.fb8678","type":"function","z":"38f87c94.b22264","name":"Temperatuur","func":"var msg;\nmsg.topic = \"huis/zolder/hobbykamer/thermometer/temperatuur\";\nmsg.payload = msg.payload.temperature.value;\n\nreturn msg;\n","outputs":1,"noerr":0,"x":590,"y":240,"wires":[["99b93f89.717cd8"]]},{"id":"5b9bb66b.ac894","type":"function","z":"38f87c94.b22264","name":"Vochtigheid","func":"var msg;\nmsg.topic = \"huis/zolder/hobbykamer/thermometer/vochtigheid\";\nmsg.payload = msg.payload.humidity.value;\nreturn msg;\n","outputs":1,"noerr":0,"x":590,"y":280,"wires":[["99b93f89.717cd8"]]},{"id":"3a5de362.4e5e8c","type":"function","z":"38f87c94.b22264","name":"rssi","func":"var msg;\nmsg.topic = \"huis/zolder/hobbykamer/thermometer/rssi\";\nmsg.payload = msg.status.rssi;\nreturn msg;\n","outputs":1,"noerr":0,"x":570,"y":320,"wires":[["99b93f89.717cd8"]]},{"id":"b608a22d.ea828","type":"function","z":"38f87c94.b22264","name":"battery","func":"var msg;\nmsg.topic = \"huis/zolder/hobbykamer/thermometer/battery\";\nmsg.payload = msg.status.battery;\nreturn msg;\n","outputs":1,"noerr":0,"x":580,"y":360,"wires":[["99b93f89.717cd8"]]},{"id":"c40bfd14.07093","type":"rfxtrx-port","z":"","port":"/dev/ttyUSB0","enableDebug":false,"rfyVenetianMode":"EU"},{"id":"c775f8ff.0fb7b","type":"mqtt-broker","z":"","name":"Broker mqtt","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","willTopic":"","willQos":"0","willRetain":"false","willPayload":""}]



Hoe zouden jullie dit aanpakken? Of ben ik op de juiste weg?
Als het te sturen bericht afleidbaar is uit de RFXcom output, dan kan je via JSONata in een Change node werken. Daar bouw je dan in msg.payload het bericht in op dat naar de MQTT broker gaat.

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.

@om3ega Als je die waardes nou zou joinen, zou je er 1 lange json van kunnen maken per kamer/sensor.

  • om3ega
  • Registratie: maart 2001
  • Laatst online: 11:17

om3ega

Merry XMAS

Milmoor schreef op vrijdag 18 januari 2019 @ 13:07:
[...]

Als het te sturen bericht afleidbaar is uit de RFXcom output, dan kan je via JSONata in een Change node werken. Daar bouw je dan in msg.payload het bericht in op dat naar de MQTT broker gaat.
Ik heb dit geprobeerd via de "change" node, maar alleen de laatste payload wordt gestuurd.

Ervaring is het archief van onze stommiteiten.


  • om3ega
  • Registratie: maart 2001
  • Laatst online: 11:17

om3ega

Merry XMAS

lolgast schreef op vrijdag 18 januari 2019 @ 13:30:
@om3ega Als je die waardes nou zou joinen, zou je er 1 lange json van kunnen maken per kamer/sensor.
[Afbeelding]
Als ik de raw output van de sensor of de switch naar de MQTT broker stuur dan krijg ik alle waardes van de payload (dus niet de status info, waar de battery en rssi in zitten) in 1 JSON string.

Mijn idee was juist om de MQTT values schoon en puur te houden.. Dus geen JSON in de MQTT output .. of is dat een verkeerde gedachtengang?

Ervaring is het archief van onze stommiteiten.

Persoonlijke voorkeur denk ik. Ik kijk nog wel eens naar de MQTT broker via mqtt.fx en dan is het hebben van veel sensoren niet altijd even overzichtelijk. Voor de broker zelf maakt het qua performance denk ik weinig verschil.

De software die ik gebruik om de waardes weer te geven (Home Assistant) heeft weinig moeite met het uitlezen van de MQTT berichten via een json format, dus vandaar dat ik het zo doe.

Ik heb bijvoorbeeld ook een flow waar ik de kosten vanuit DSMR ophaal, daar de transportkosten overheen en die opnieuw publish naar MQTT https://images.lolgast.nl/uploads/big/740b8c77ada125a11fec4645ae4c2679.png
JSON:
1
[{"id":"f2994c63.ffdd2","type":"mqtt-json","z":"65505814.c27b98","name":"","topic":"dsmr/day-totals","property":"","qos":"0","broker":"a0c390fa.b822a","x":140,"y":1248,"wires":[["be06b216.69997","3bf38ff.5801b7","12cce6dd.185f49","586e10e9.b7467"]]},{"id":"be06b216.69997","type":"change","z":"65505814.c27b98","name":"dal","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.electricity1_cost","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":340,"y":1198,"wires":[["2773e051.4814b"]]},{"id":"3bf38ff.5801b7","type":"change","z":"65505814.c27b98","name":"piek","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.electricity2_cost","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":340,"y":1248,"wires":[["493df107.a1255"]]},{"id":"12cce6dd.185f49","type":"change","z":"65505814.c27b98","name":"gas","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.gas_cost","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":340,"y":1298,"wires":[["17c248a.c39d0b7"]]},{"id":"2773e051.4814b","type":"function","z":"65505814.c27b98","name":"Netwerkkosten","func":"let objDate = new Date();\nlet day = objDate.getDay();\nif (day >= 1 && day <= 5) {\n    msg.cost = (Number(msg.payload) + ((18.69*6)/365)).toFixed(2);\n} else {\n    msg.cost = (Number(msg.payload) + ((18.69*12)/365)).toFixed(2);\n}\nmsg.payload = \"{\\\"dal\\\":\" + \"\\\"\" + msg.cost + \"\\\"\"\nnode.status({text:\"€ \" + msg.cost});\nreturn msg;","outputs":1,"noerr":0,"x":510,"y":1198,"wires":[["4939e1a7.e7722"]]},{"id":"493df107.a1255","type":"function","z":"65505814.c27b98","name":"Netwerkkosten","func":"let objDate = new Date();\nlet day = objDate.getDay();\nif (day >= 1 && day <= 5){\n    msg.cost = (Number(msg.payload) + ((18.69*6)/365)).toFixed(2);\n} else {\n    msg.cost = (Number(msg.payload) + ((18.69*0)/365)).toFixed(2);\n}\nmsg.payload = \"\\\"piek\\\":\" + \"\\\"\" + msg.cost + \"\\\"\"\nnode.status({text:\"€ \" + msg.cost});\nreturn msg;","outputs":1,"noerr":0,"x":510,"y":1248,"wires":[["4939e1a7.e7722"]]},{"id":"17c248a.c39d0b7","type":"function","z":"65505814.c27b98","name":"Netwerkkosten","func":"msg.cost = (Number(msg.payload) + ((14.04*12)/365)).toFixed(2);\nmsg.payload = \"\\\"gas\\\":\" + \"\\\"\" + msg.cost + \"\\\"}\"\nnode.status({text:\"€ \" + msg.cost});\nreturn msg;","outputs":1,"noerr":0,"x":510,"y":1298,"wires":[["4939e1a7.e7722"]]},{"id":"4939e1a7.e7722","type":"join","z":"65505814.c27b98","name":"","mode":"custom","build":"string","property":"payload","propertyType":"msg","key":"topic","joiner":",","joinerType":"str","accumulate":false,"timeout":"","count":"3","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":710,"y":1248,"wires":[["bbe36ba5.203748"]]},{"id":"bbe36ba5.203748","type":"json","z":"65505814.c27b98","name":"","property":"payload","action":"","pretty":true,"x":840,"y":1248,"wires":[["dfb35b54.9f4498"]]},{"id":"dfb35b54.9f4498","type":"mqtt out","z":"65505814.c27b98","name":"","topic":"cost/today","qos":"","retain":"false","broker":"a0c390fa.b822a","x":1000,"y":1248,"wires":[]},{"id":"a0c390fa.b822a","type":"mqtt-broker","z":"","name":"MQTT","broker":"192.168.4.50","port":"1883","clientid":"nodered","usetls":false,"compatmode":true,"keepalive":"55","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]


  • om3ega
  • Registratie: maart 2001
  • Laatst online: 11:17

om3ega

Merry XMAS

Hmm, interessante flow trouwens.. dat geeft me weer idee om daar ook wat mee te doen :)

Als ik JSON data in de MQTT output wil kan ik inderdaad de status en payload joinen.
Ik wil uiteindelijk het MQTT dashboard gebruiken voor het weergeven van alle info, dus ik moet even checken of ik dan wat kan met die info.

Ik heb besloten om data uitwisseling via de MQTT broker te laten lopen. Dit is misschien wat meer werk ,maar maakt het systeem wel het meest flexibel als ik nog wat extra output sensors plaats hier en daar..

dank voor de feedback.

Ervaring is het archief van onze stommiteiten.


  • Milmoor
  • Registratie: januari 2000
  • Laatst online: 15:11

Milmoor

Footsteps and pictures.

om3ega schreef op vrijdag 18 januari 2019 @ 13:32:
[...]


Ik heb dit geprobeerd via de "change" node, maar alleen de laatste payload wordt gestuurd.

[Afbeelding]
Dat is ook logisch, je veranderd nu een paar keer achter elkaar hetzelfde bericht en verstuurd hem dan pas. Je wil het bericht van de RFXcom in meerdere stukken splitsen. Dat kan op meerdere manieren, bijv. via JSONata (maar dat is heel pittig), via de split Node, of door het bericht in een loop gooien en een teller bij te houden bij het hoeveelste item je bent en dan telkens dat stuk afhandelen. In het laatste geval heb je nog steeds JSONata nodig, maar het is een veel minder complex proces en daarmee veel makkelijker in te richten.

Ik heb zelf de RFXcom aangesloten op Domoticz, en die stuurt dan de MQTT berichten. Dat doet hij bij elke wijziging in Domoticz, dus ook deze. Meer info hier: https://www.domoticz.com/wiki/MQTT#Introduction

Inmiddels meer info in deze post:

Milmoor wijzigde deze reactie 19-01-2019 21:05 (5%)
Reden: Link opgenomen

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


  • Milmoor
  • Registratie: januari 2000
  • Laatst online: 15:11

Milmoor

Footsteps and pictures.

Ik heb Node-Red en Domoticz via MQTT aan elkaar gehangen. De devices worden hiermee over en weer qua status synchroon gehouden. In globale variabelen wordt aan de kant van Node-Red bijgehouden wat de status is. Dat maakt de werkstromen overzichtelijk en voorkomt meervoudig uitlezen. De basis staat, ik ga door met de puntjes op de I.

https://tweakers.net/ext/f/7uYlKlFr9TE5ALNaL54iWLEq/thumb.png
https://tweakers.net/ext/f/NytjzVVekj6QaYce1JmDlnpv/thumb.png

Code

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 23-03 09:29
Thoit schreef op vrijdag 28 december 2018 @ 12:22:
Helaas werkt mijn notificatie als de wasmachine klaar is niet meer. De SD kaart was volgelopen en had hierdoor de DB van HA verwijdert. Hierna kreeg ik alleen maar foutmeldingen in NR. Na NR helemaal verwijdert te hebben, en de back-up geïmporteerd te hebben werkte het helaas nog steeds niet. De nodes werden niet herkent. Hierdoor heb ik al mijn flows opnieuw moeten bouwen. Ik weet niet of het aan een update ligt, maar ik had voorheen een flow waarmee ik een melding kreeg dat als de vorige status > 10 watt was, en de huidige < 3 watt, stuur een bericht. Als de wasmachine klaar was, kreeg ik netjes één bericht. Nu blijf ik echter constant meldingen krijgen dat de wasmachine klaar is (om 30 seconden o.i.d.) omdat hij waarschijnlijk elke zoveel seconden de poll doet.

Ik heb dit topic al doorgespit en wat voorbeelden op internet bekeken, maar ik krijg het helaas niet voor elkaar. Iemand een idee wat er fout gaat?

code:
1
[{"id":"9c8bcfb.0830bb","type":"tab","label":"Flow 3","disabled":false,"info":""},{"id":"2a5a8446.fee69c","type":"stoptimer","z":"9c8bcfb.0830bb","duration":"30","units":"Second","payloadtype":"num","payloadval":"0","name":"","x":370,"y":280,"wires":[["e5a4a3f7.69aab8"],[]]},{"id":"a333dc0d.c6865","type":"trigger-state","z":"9c8bcfb.0830bb","name":"Verbruik Wasmachine","server":"3430792f.ba2096","entityid":"sensor.neo_coolcam_power_plug_12a_power","entityidfiltertype":"exact","debugenabled":false,"constraints":[{"id":"ba6126ff3cm","targetType":"this_entity","targetValue":"","propertyType":"current_state","propertyValue":"new_state.state","comparatorType":"<","comparatorValueDatatype":"str","comparatorValue":"3"},{"id":"f7cbcma2fn","targetType":"this_entity","targetValue":"","propertyType":"previous_state","propertyValue":"old_state.state","comparatorType":">","comparatorValueDatatype":"str","comparatorValue":"10"}],"constraintsmustmatch":"all","outputs":2,"customoutputs":[],"outputinitially":false,"state_type":"str","x":140,"y":280,"wires":[["2a5a8446.fee69c"],[]]},{"id":"e5a4a3f7.69aab8","type":"api-call-service","z":"9c8bcfb.0830bb","name":"Notificatie Wasmachine klaar","server":"3430792f.ba2096","service_domain":"notify","service":"iphones","data":"{\"title\": \"Wasmachine\", \"message\": \"Wasmachine is klaar\"}","render_data":false,"mergecontext":"","output_location":"payload","output_location_type":"msg","x":620,"y":280,"wires":[[]]},{"id":"3430792f.ba2096","type":"server","z":"","name":"Home Assistant"}]

Niemand met een voorbeeld van een wasmachine? Zo ziet de flow er momenteel uit, maar krijg nu na elke 5 minuten een bericht dat de wasmachine klaar is. Heb ook al geprobeerd om er een current state achter te zetten, waarmee ik hetzelfde probleem is. Vreemde is dat voor de crash van de PI dit vlekkenloos heeft gewerkt.


  • ThinkPad
  • Registratie: juni 2005
  • Laatst online: 11:55

ThinkPad

Moderator Duurzame Energie & Domotica

L460

@Thoit Je kunt beter tellen en dan een melding sturen.
Stel dat je elke minuut een trigger doet, elke keer als het verbruik onder 5W is (bijv.) dan verhoog je een tellertje met +1. Als het tellertje op 10 zit (voorbeeld, zelf goede waarde kiezen) dan stuur je een bericht. Als het verbruik op >1500W zit dan reset je het tellertje weer naar 0.

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


  • djkooij
  • Registratie: juni 2001
  • Laatst online: 21-03 19:28

djkooij

voorheen Facemodder

Thoit schreef op dinsdag 22 januari 2019 @ 09:44:
[...]
Niemand met een voorbeeld van een wasmachine?
Zeker wel een voorbeeldje.
In mijn geval werk ik met de Power Monitor node:




https://flows.nodered.org...red-contrib-power-monitor

Werkt hier probleemloos met de wasmachine.

fotospul

@Thoit Mijn oplossing is iets minder NR georiënteerd: Ik heb in Home Assistant een template sensor gemaakt
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
    wasmachine_state_template:
      friendly_name: 'Wasmachine - Status'
      value_template: >-
          {%- if is_state("switch.neocoolcam_wasmachine_switch", "off") %}
              Schakelaar Uit
          {%  elif states('sensor.neocoolcam_wasmachine_power') | float >= 0.1 and states('sensor.neocoolcam_wasmachine_power') | float < 10.0 | float %}
              Standby
          {%  elif states('sensor.neocoolcam_wasmachine_power') | float >= 10.0 and states('sensor.neocoolcam_wasmachine_power') | float < 3600.0 | float %}
              In gebruik
          {% else %}
              Uit
          {%- endif %}

Deze sensor wordt niet continu geüpdatet qua status en dus triggert hij geen events, tenzij hij daadwerkelijk van bijvoorbeeld 'In gebruik' wijzigt naar 'Uit'.https://images.lolgast.nl/uploads/big/c905db3d914edb92001f87b2a76aa4f6.png
JSON:
1
[{"id":"c994ffb6.b6ef","type":"api-current-state","z":"905df0f3.d8c748","name":"Check Stefan home","server":"39fd7a9b.252f86","halt_if":"not_home","override_topic":true,"override_payload":true,"entity_id":"device_tracker.stefan","outputs":1,"x":750,"y":240,"wires":[["db378911.43a3f8"]]},{"id":"980c586f.714928","type":"trigger","z":"905df0f3.d8c748","op1":"","op2":"true","op1type":"nul","op2type":"bool","duration":"10","extend":false,"units":"min","reset":"reset","bytopic":"all","name":"trigger 10 min","x":520,"y":284,"wires":[["c994ffb6.b6ef","4f058d49.54c9e4"]],"icon":"node-red-contrib-stoptimer/stoptimer.png"},{"id":"db378911.43a3f8","type":"function","z":"905df0f3.d8c748","name":"Message template","func":"msg.payload = { \n    data: {\n     'title':\n       'Was is klaar',\n     'message':\n       \"Wasmachine is klaar en moet leeggehaald worden!\" }};\nmsg.payload.service = msg.topic.replace('device_tracker.', 'iphone_');\nreturn msg;","outputs":1,"noerr":0,"x":990,"y":260,"wires":[["829255b5.85c098"]]},{"id":"4f058d49.54c9e4","type":"api-current-state","z":"905df0f3.d8c748","name":"Check Meggie home","server":"39fd7a9b.252f86","halt_if":"not_home","override_topic":true,"override_payload":true,"entity_id":"device_tracker.meggie","outputs":1,"x":760,"y":290,"wires":[["db378911.43a3f8"]]},{"id":"40de04c1.3699ec","type":"switch","z":"905df0f3.d8c748","name":"","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"Uit","vt":"str"},{"t":"eq","v":"Uit","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":330,"y":260,"wires":[["2a98b937.25bbc6"],["980c586f.714928"]]},{"id":"2a98b937.25bbc6","type":"change","z":"905df0f3.d8c748","name":"payload to reset","rules":[{"t":"set","p":"payload","pt":"msg","to":"reset","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":237,"wires":[["980c586f.714928"]]},{"id":"829255b5.85c098","type":"link out","z":"905df0f3.d8c748","name":"","links":["d40f2d4a.e0af6","a1470c3e.8ac12"],"x":1155,"y":260,"wires":[]},{"id":"8eebb766.98ff58","type":"server-state-changed","z":"905df0f3.d8c748","name":"Wasmachine status","server":"39fd7a9b.252f86","entityidfilter":"sensor.wasmachine_state_template","entityidfiltertype":"exact","haltifstate":"","outputs":1,"x":150,"y":260,"wires":[["40de04c1.3699ec"]]}]


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 23-03 09:29
ThinkPad schreef op dinsdag 22 januari 2019 @ 10:11:
@Thoit Je kunt beter tellen en dan een melding sturen.
Stel dat je elke minuut een trigger doet, elke keer als het verbruik onder 5W is (bijv.) dan verhoog je een tellertje met +1. Als het tellertje op 10 zit (voorbeeld, zelf goede waarde kiezen) dan stuur je een bericht. Als het verbruik op >1500W zit dan reset je het tellertje weer naar 0.
Dat is een goede, al snap ik op dit moment niet echt hoe de functions zijn opgebouwd binnen Node-Red. Heb er te weinig tijd in kunnen steken om uit te zoeken hoe ik dit ophoog.

Bedankt voor je feedback!
djkooij schreef op dinsdag 22 januari 2019 @ 10:16:
[...]


Zeker wel een voorbeeldje.
In mijn geval werk ik met de Power Monitor node:

[Afbeelding]


https://flows.nodered.org...red-contrib-power-monitor

Werkt hier probleemloos met de wasmachine.
Helaas gebruik ik de Hassio add-on, waardoor ik de functie mis en ook niet kan installeren. Lijkt echter op een erg handige functie!
lolgast schreef op dinsdag 22 januari 2019 @ 11:26:
@Thoit Mijn oplossing is iets minder NR georiënteerd: Ik heb in Home Assistant een template sensor gemaakt
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
    wasmachine_state_template:
      friendly_name: 'Wasmachine - Status'
      value_template: >-
          {%- if is_state("switch.neocoolcam_wasmachine_switch", "off") %}
              Schakelaar Uit
          {%  elif states('sensor.neocoolcam_wasmachine_power') | float >= 0.1 and states('sensor.neocoolcam_wasmachine_power') | float < 10.0 | float %}
              Standby
          {%  elif states('sensor.neocoolcam_wasmachine_power') | float >= 10.0 and states('sensor.neocoolcam_wasmachine_power') | float < 3600.0 | float %}
              In gebruik
          {% else %}
              Uit
          {%- endif %}

Deze sensor wordt niet continu geüpdatet qua status en dus triggert hij geen events, tenzij hij daadwerkelijk van bijvoorbeeld 'In gebruik' wijzigt naar 'Uit'.[Afbeelding]
JSON:
1
[{"id":"c994ffb6.b6ef","type":"api-current-state","z":"905df0f3.d8c748","name":"Check Stefan home","server":"39fd7a9b.252f86","halt_if":"not_home","override_topic":true,"override_payload":true,"entity_id":"device_tracker.stefan","outputs":1,"x":750,"y":240,"wires":[["db378911.43a3f8"]]},{"id":"980c586f.714928","type":"trigger","z":"905df0f3.d8c748","op1":"","op2":"true","op1type":"nul","op2type":"bool","duration":"10","extend":false,"units":"min","reset":"reset","bytopic":"all","name":"trigger 10 min","x":520,"y":284,"wires":[["c994ffb6.b6ef","4f058d49.54c9e4"]],"icon":"node-red-contrib-stoptimer/stoptimer.png"},{"id":"db378911.43a3f8","type":"function","z":"905df0f3.d8c748","name":"Message template","func":"msg.payload = { \n    data: {\n     'title':\n       'Was is klaar',\n     'message':\n       \"Wasmachine is klaar en moet leeggehaald worden!\" }};\nmsg.payload.service = msg.topic.replace('device_tracker.', 'iphone_');\nreturn msg;","outputs":1,"noerr":0,"x":990,"y":260,"wires":[["829255b5.85c098"]]},{"id":"4f058d49.54c9e4","type":"api-current-state","z":"905df0f3.d8c748","name":"Check Meggie home","server":"39fd7a9b.252f86","halt_if":"not_home","override_topic":true,"override_payload":true,"entity_id":"device_tracker.meggie","outputs":1,"x":760,"y":290,"wires":[["db378911.43a3f8"]]},{"id":"40de04c1.3699ec","type":"switch","z":"905df0f3.d8c748","name":"","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"Uit","vt":"str"},{"t":"eq","v":"Uit","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":330,"y":260,"wires":[["2a98b937.25bbc6"],["980c586f.714928"]]},{"id":"2a98b937.25bbc6","type":"change","z":"905df0f3.d8c748","name":"payload to reset","rules":[{"t":"set","p":"payload","pt":"msg","to":"reset","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":237,"wires":[["980c586f.714928"]]},{"id":"829255b5.85c098","type":"link out","z":"905df0f3.d8c748","name":"","links":["d40f2d4a.e0af6","a1470c3e.8ac12"],"x":1155,"y":260,"wires":[]},{"id":"8eebb766.98ff58","type":"server-state-changed","z":"905df0f3.d8c748","name":"Wasmachine status","server":"39fd7a9b.252f86","entityidfilter":"sensor.wasmachine_state_template","entityidfiltertype":"exact","haltifstate":"","outputs":1,"x":150,"y":260,"wires":[["40de04c1.3699ec"]]}]

Thanks, dit is voor mij nu de meest logische om te maken. In feite komt het neer op iets van: als het verbruik < 3 watt voor een bepaalde tijd nadat er een hoger verbruik is geweest, dan mag de melding komen dat die klaar is.

Heb er nu dit van gemaakt, zal nog niet 100% zijn maar volgens mij is dit wat robuuster.


  • Naj_Geetsrev
  • Registratie: oktober 2002
  • Laatst online: 13:15
Thoit schreef op dinsdag 22 januari 2019 @ 13:18:
[...]


[...]


Helaas gebruik ik de Hassio add-on, waardoor ik de functie mis en ook niet kan installeren. Lijkt echter op een erg handige functie!


[...]
Kan dus wel. :). Onder Hass.io -> Node-red -> Kopje config -> Zet "node-red-contrib-power-monitor" bij "npm_packages". Volgende keer dat je de container opnieuw opstart installeert hij de module.

Voorbeeld van mijn config

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
{
  "log_level": "info",
  "credential_secret": "xxxxx",
  "http_node": {
    "username": "xxxxx",
    "password": "xxxxx"
  },
  "http_static": {
    "username": "xxxxx",
    "password": "xxxxx"
  },
  "port": 1880,
  "ssl": true,
  "certfile": "fullchain.pem",
  "keyfile": "privkey.pem",
  "require_ssl": true,
  "system_packages": [
    "linux-headers",
    "python",
    "make",
    "g++"
  ],
  "npm_packages": [
    "node-red-contrib-rfxcom",
    "node-red-contrib-huemagic",
    "node-red-node-rbe",
    "node-red-contrib-npm",
    "node-red-contrib-cast",
    "node-red-node-geofence",
    "node-red-node-darksky",
    "node-red-contrib-stoptimer",
    "node-red-contrib-timecheck",
    "node-red-contrib-tado-client",
    "node-red-contrib-ramp-thermostat",
    "node-red-contrib-broadlink-control",
    "node-red-contrib-tv-bravia"
  ],
  "init_commands": []
}


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 23-03 09:29
Naj_Geetsrev schreef op dinsdag 22 januari 2019 @ 13:31:
[...]


Kan dus wel. :). Onder Hass.io -> Node-red -> Kopje config -> Zet "node-red-contrib-power-monitor" bij "npm_packages". Volgende keer dat je de container opnieuw opstart installeert hij de module.

Voorbeeld van mijn config

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
{
  "log_level": "info",
  "credential_secret": "xxxxx",
  "http_node": {
    "username": "xxxxx",
    "password": "xxxxx"
  },
  "http_static": {
    "username": "xxxxx",
    "password": "xxxxx"
  },
  "port": 1880,
  "ssl": true,
  "certfile": "fullchain.pem",
  "keyfile": "privkey.pem",
  "require_ssl": true,
  "system_packages": [
    "linux-headers",
    "python",
    "make",
    "g++"
  ],
  "npm_packages": [
    "node-red-contrib-rfxcom",
    "node-red-contrib-huemagic",
    "node-red-node-rbe",
    "node-red-contrib-npm",
    "node-red-contrib-cast",
    "node-red-node-geofence",
    "node-red-node-darksky",
    "node-red-contrib-stoptimer",
    "node-red-contrib-timecheck",
    "node-red-contrib-tado-client",
    "node-red-contrib-ramp-thermostat",
    "node-red-contrib-broadlink-control",
    "node-red-contrib-tv-bravia"
  ],
  "init_commands": []
}

Weer wat bijgeleerd _/-\o_ Heb de functie er nu inderdaad inzitten, eens kijken hoe de power monitor werkt. Edit: Overigens kon ik zojuist ook modules installeren via het menu, manage palette, install en daar vervolgens een module zoeken :)

Thoit wijzigde deze reactie 23-01-2019 15:20 (4%)


  • om3ega
  • Registratie: maart 2001
  • Laatst online: 11:17

om3ega

Merry XMAS

..

om3ega wijzigde deze reactie 22-01-2019 15:42 (97%)
Reden: -- link was al gepost :) --

Ervaring is het archief van onze stommiteiten.


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 23-03 09:29
Hmm wederom een vervelend probleem met Node-Red. De HA database was weer eens volgelopen en deze heb ik weggegooid. Hierna waren in NR alle flows weg. Dacht ik kopieer het flows bestand vanuit de back-up terug. Maar het lijkt er nu op dat de flows wel iets doen maar niet meer zichtbaar zijn.

Iemand dit al een keer gehad? Heb reeds de add-on verwijdert en opnieuw geinstalleerd zonder succes.

  • Tassadar32
  • Registratie: september 2006
  • Laatst online: 14:10
@Thoit De HA database (alleen de sqlite bestanden) zijn voor history en logbook. Als je die in de config uitzet loopt je config dir niet meer vol. Je kan voor geschiedenis/inzicht ook bijvoorbeeld influxdb & grafana gebruiken.

27x320Wp LG | 7.4 kW W/W warmtepomp | Tesla Model 3 LR AWD EAP+FSD | TNM Lolo 3.7kW


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 23-03 09:29
Tassadar32 schreef op donderdag 24 januari 2019 @ 14:29:
@Thoit De HA database (alleen de sqlite bestanden) zijn voor history en logbook. Als je die in de config uitzet loopt je config dir niet meer vol. Je kan voor geschiedenis/inzicht ook bijvoorbeeld influxdb & grafana gebruiken.
Weet ik, maar ik maak nog wel gebruik hiervan. Heb het al wat lager gezet maar het vreemde is dat daardoor NR gewoon leeg is.

  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 07:08
om3ega schreef op vrijdag 18 januari 2019 @ 12:40:


Je begrijpt als ik zo 10 sensors hebt dat het wat veel wordt.. Kan dat makkelijker?
Je kunt met arrays werken, dan krijg je 10 outputs op je function node. Zie documentatie.

  • Greetoz
  • Registratie: juni 2002
  • Laatst online: 14:38
Ik gebruik Node-red met Hass.io maar de tijd in nodered is UTC ipv onze eigen tijdzone. Kan dit aangepast worden? In de configyaml van hass heb ik Europe/Amsterdam staan en de tijden in Hass zelf kloppen gewoon. Nogal onhandig voor schedules in Node-Red.

Verder vroeg ik mij af wat de beste manier is om het volgende te doen.

Ik heb wandschakelaars met Fibaro switches erachter. Als ik die om zet dan zetten ze via Nodered een Ikea/hue lamp aan. Maar als ik nu via de app oid de lamp aan zet blijft de fibaro schakelaar uit staan natuurlijk. Als ik de lamp vervolgens uit wil zetten via de schakelaar moet ik de schakelaar 2x indrukken (eerst de fibaro aan en vervolgens uit waarmee de flow start).

Is er een nette manier om een flow te maken die soort loopback maakt om de schakelaar te syncen met de lamp? Ik kan natuurlijk een 2e flow maken met state event light on -> switch on etc. Maar mijn gevoel zegt dat hier een betere manier voor is ;-).

Greetoz wijzigde deze reactie 28-01-2019 15:28 (7%)

@Greetoz Ik doe het zo, afhankelijk van of het een MQTT switch is (die heeft geen output meer..) of een Hue lamp in mijn geval

MQTT
JSON:
1
[{"id":"dbd6fad5.3d3be8","type":"api-current-state","z":"ba68260d.f9c468","name":"","server":"39fd7a9b.252f86","halt_if":"","override_topic":true,"override_payload":true,"entity_id":"light.keukenspots","outputs":1,"x":640,"y":1820,"wires":[["cbb4a20.b9da06"]]},{"id":"d88efbff.fed218","type":"switch","z":"ba68260d.f9c468","name":"Restart?","property":"data.old_state","propertyType":"msg","rules":[{"t":"nnull"}],"checkall":"true","repair":false,"outputs":1,"x":410,"y":1820,"wires":[["dbd6fad5.3d3be8"]]},{"id":"cbb4a20.b9da06","type":"function","z":"ba68260d.f9c468","name":"toggle","func":"var sts = msg.payload;\nmsg.payload = \"\";\n\nif ( sts === \"off\" ) {\nmsg.payload = true;\nreturn [ msg, null ];\n\n} else if ( sts === \"on\" ) {\nmsg.payload = false;\nreturn [ null, msg ];\n\n} else {\nreturn [ null, null ];\n}","outputs":2,"noerr":0,"x":860,"y":1820,"wires":[["c7d16e21.b1994"],["c7d16e21.b1994"]],"outputLabels":["true","false"]},{"id":"69d4d0c5.24c85","type":"server-state-changed","z":"ba68260d.f9c468","name":"Achterdeur schakelaar 2","server":"39fd7a9b.252f86","entityidfilter":"switch.fibaro_achterdeur_switch_2","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"","halt_if_compare":"is","outputs":1,"x":220,"y":1820,"wires":[["d88efbff.fed218"]]},{"id":"c7d16e21.b1994","type":"mqtt out","z":"ba68260d.f9c468","name":"Keuken","topic":"cmnd/sonoffKeuken/power","qos":"0","retain":"false","broker":"a0c390fa.b822a","x":1070,"y":1820,"wires":[]}]

Hue
JSON:
1
[{"id":"580b8a6.b5be374","type":"function","z":"ba68260d.f9c468","name":"toggle","func":"var sts = flow.get(\"eettafel.status\");\nmsg.payload = \"\";\n\nif ( sts === true ) {\nmsg.payload.on = false;\nreturn [ msg, null ];\n\n} else if ( sts === false ) {\nmsg.payload.on = true;\nreturn [ null, msg ];\n\n} else {\nreturn [ null, null ];\n}","outputs":2,"noerr":0,"x":560,"y":1870,"wires":[["f472893b.f94b18"],[]],"outputLabels":["false","true"]},{"id":"6c04db89.395574","type":"switch","z":"ba68260d.f9c468","name":"restart?","property":"data.old_state","propertyType":"msg","rules":[{"t":"nnull"}],"checkall":"true","repair":false,"outputs":1,"x":410,"y":1870,"wires":[["580b8a6.b5be374"]]},{"id":"f472893b.f94b18","type":"hue-group","z":"ba68260d.f9c468","name":"Eettafel","bridge":"e9503c7a.ea5fe8","groupid":"1","colornamer":true,"x":770,"y":1870,"wires":[["55210f4a.516b1"]]},{"id":"3b59d7e2.e6e3e8","type":"server-state-changed","z":"ba68260d.f9c468","name":"Achterdeur schakelaar","server":"39fd7a9b.252f86","entityidfilter":"switch.fibaro_achterdeur_switch","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"","halt_if_compare":"is","outputs":1,"x":210,"y":1870,"wires":[["6c04db89.395574"]]},{"id":"55210f4a.516b1","type":"change","z":"ba68260d.f9c468","name":"","rules":[{"t":"set","p":"eettafel.status","pt":"flow","to":"payload.on","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":1870,"wires":[[]]}]


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 23-03 09:29
tdw schreef op maandag 28 januari 2019 @ 22:03:
[...]

Daarom vraag ik wat je probeert te bereiken. Maar probeer het anders eens met de Moment-node.


[...]

Uiteraard!
[Afbeelding]

De events: deconz_event is een events: all-node die in dit geval specifiek naar deCONZ (en dus ZigBee) events luistert. Je ziet daarboven de groene msg-node. Die laat het complete msg-object zien. Zo ziet het er bijvoorbeeld uit als ik m'n Tradfri-afstandsbediening bedien:
[Afbeelding]

Zo kan ik zien welk id de actie heeft getriggerd (tradfri_remote_control) en wat de actie was (boven: knop 5, long press, start, onder: knop 5, long press, end). Daarna ga ik verder met automatiseren :)
Even een crosspost omdat ik in het HA topic vragen over NR aan het stellen was. Ik probeer de Xiaomi Cube aan de gang te krijgen die gekoppeld is met Deconz. De events wil ik niet loggen met een debug log, omdat mijn kaartje dan te snel vol loopt. Blijkbaar kunnen de events ook gevangen worden in NR zonder logging. Dit heb ik nu met de volgende flow geprobeerd, maar helaas komt er niks voorbij in de debugger. De debug node is ingeschakeld.


code:
1
[{"id":"cbf812c2.1b3ab","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"3b7f3df1.9d28f2","type":"server-events","z":"cbf812c2.1b3ab","name":"","server":"c281a616.59fe98","event_type":"deconz_event","x":480,"y":260,"wires":[["920aacbc.79af8"]]},{"id":"920aacbc.79af8","type":"debug","z":"cbf812c2.1b3ab","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":710,"y":260,"wires":[]},{"id":"c281a616.59fe98","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open"}]


  • tdw
  • Registratie: augustus 2004
  • Laatst online: 23-03 06:23

tdw

Amai seg!

Thoit schreef op woensdag 30 januari 2019 @ 08:24:
[...]


Even een crosspost omdat ik in het HA topic vragen over NR aan het stellen was. Ik probeer de Xiaomi Cube aan de gang te krijgen die gekoppeld is met Deconz. De events wil ik niet loggen met een debug log, omdat mijn kaartje dan te snel vol loopt. Blijkbaar kunnen de events ook gevangen worden in NR zonder logging. Dit heb ik nu met de volgende flow geprobeerd, maar helaas komt er niks voorbij in de debugger. De debug node is ingeschakeld.


code:
1
[{"id":"cbf812c2.1b3ab","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"3b7f3df1.9d28f2","type":"server-events","z":"cbf812c2.1b3ab","name":"","server":"c281a616.59fe98","event_type":"deconz_event","x":480,"y":260,"wires":[["920aacbc.79af8"]]},{"id":"920aacbc.79af8","type":"debug","z":"cbf812c2.1b3ab","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":710,"y":260,"wires":[]},{"id":"c281a616.59fe98","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open"}]

Als ik jouw flow importeer dan krijg ik een foutmelding. Als ik de serverinstellingen van de events-node aanpas naar 'de bovenste server' (mijn eigen HA instance dus), dan werkt ie wel.

"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


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 23-03 09:29
tdw schreef op woensdag 30 januari 2019 @ 08:36:
[...]

Als ik jouw flow importeer dan krijg ik een foutmelding. Als ik de serverinstellingen van de events-node aanpas naar 'de bovenste server' (mijn eigen HA instance dus), dan werkt ie wel.
Bij mij blijft het gewoon leeg :?

In de Add-on config staat dit, zou hier het verschil in zitten?
"debug_info": 1,
"debug_aps": 0,
"debug_zcl": 0,
"debug_zdp": 0,
"debug_otau": 0,

In de confiugration.yaml heb ik dit staan:

logger:
default: critical
logs:
pydeconz: critical
homeassistant.components.deconz: critical

  • tdw
  • Registratie: augustus 2004
  • Laatst online: 23-03 06:23

tdw

Amai seg!

Thoit schreef op woensdag 30 januari 2019 @ 09:34:
[...]


Bij mij blijft het gewoon leeg :?

In de Add-on config staat dit, zou hier het verschil in zitten?
"debug_info": 1,
"debug_aps": 0,
"debug_zcl": 0,
"debug_zdp": 0,
"debug_otau": 0,
Deze staan bij mij allemaal op 0.
In de confiugration.yaml heb ik dit staan:

logger:
default: critical
logs:
pydeconz: critical
homeassistant.components.deconz: critical
Hier heb ik zelf nooit aan gezeten.

Is de Xiaomi het enige ZigBee apparaat waarmee je kunt proberen? Ik moet, nu ik zelf ff test, ook toegeven dat bijv. mijn Ikea bewegingsmelder niet via deconz_events kan worden opgevangen...

"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


  • ny-hardcore
  • Registratie: maart 2002
  • Laatst online: 07:57
tdw schreef op woensdag 30 januari 2019 @ 10:06:
[...]
Deze staan bij mij allemaal op 0.


[...]

Hier heb ik zelf nooit aan gezeten.

Is de Xiaomi het enige ZigBee apparaat waarmee je kunt proberen? Ik moet, nu ik zelf ff test, ook toegeven dat bijv. mijn Ikea bewegingsmelder niet via deconz_events kan worden opgevangen...
Alleen switches gaan via events ( ik denk omdat die geen echte state hebben, ze sturen alleen een event) De Cube is een switch. De motion is een sensor.

cd /pub && more beer


  • ny-hardcore
  • Registratie: maart 2002
  • Laatst online: 07:57
Thoit schreef op woensdag 30 januari 2019 @ 08:24:
[...]


Even een crosspost omdat ik in het HA topic vragen over NR aan het stellen was. Ik probeer de Xiaomi Cube aan de gang te krijgen die gekoppeld is met Deconz. De events wil ik niet loggen met een debug log, omdat mijn kaartje dan te snel vol loopt. Blijkbaar kunnen de events ook gevangen worden in NR zonder logging. Dit heb ik nu met de volgende flow geprobeerd, maar helaas komt er niks voorbij in de debugger. De debug node is ingeschakeld.


code:
1
[{"id":"cbf812c2.1b3ab","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"3b7f3df1.9d28f2","type":"server-events","z":"cbf812c2.1b3ab","name":"","server":"c281a616.59fe98","event_type":"deconz_event","x":480,"y":260,"wires":[["920aacbc.79af8"]]},{"id":"920aacbc.79af8","type":"debug","z":"cbf812c2.1b3ab","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":710,"y":260,"wires":[]},{"id":"c281a616.59fe98","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open"}]

Volgens mij kun je de events ook zien in deze tool
https://www.home-assistan...system/hass-configurator/

cd /pub && more beer


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 23-03 09:29
Ook daar zie ik ze niet voorbij komen :( Om de een of andere reden zie ik met geen mogelijkheid de events van de Cube voorbij komen. Zelfs toen ik de log op debug had staan en bijv. met de cube een beweging maakte kwam er niks voorbij in de log.

  • ny-hardcore
  • Registratie: maart 2002
  • Laatst online: 07:57
Thoit schreef op vrijdag 1 februari 2019 @ 08:10:
[...]


Ook daar zie ik ze niet voorbij komen :( Om de een of andere reden zie ik met geen mogelijkheid de events van de Cube voorbij komen. Zelfs toen ik de log op debug had staan en bijv. met de cube een beweging maakte kwam er niks voorbij in de log.
Zie je in phoscon wel iets veranderen bij de state?

cd /pub && more beer


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 23-03 09:29
Nee, hier zie ik alleen het volgende staan:



Enige state die ik in HA zie is de batterij status. Maar dat zou normaal gedrag moeten zijn.

  • om3ega
  • Registratie: maart 2001
  • Laatst online: 11:17

om3ega

Merry XMAS

Heeft iemand hier het al eens voor elkaar gekregen om een notificatie te krijgen bij een RSS update van een website?

Ik gebruik daar nu "Feedparse2" voor met een interval Timer ervoor , maar heel vaak krijg ik elke keer de zelfde RSS berichten terug , en niet "die gene die net nieuw is geplaatst" ..

Er moet dus nog een stukje intelligentie tussen die daar mee om kan gaan.

Ervaring is het archief van onze stommiteiten.


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 23-03 09:29
om3ega schreef op vrijdag 1 februari 2019 @ 10:16:
Heeft iemand hier het al eens voor elkaar gekregen om een notificatie te krijgen bij een RSS update van een website?

Ik gebruik daar nu "Feedparse2" voor met een interval Timer ervoor , maar heel vaak krijg ik elke keer de zelfde RSS berichten terug , en niet "die gene die net nieuw is geplaatst" ..

Er moet dus nog een stukje intelligentie tussen die daar mee om kan gaan.
Kan je niet met een functie controleren of de waarde die hij weergeeft overeen komt met de vorige waarde? Dus het tijdelijk wegschrijven en controleren of het overeenkomt?

  • Naj_Geetsrev
  • Registratie: oktober 2002
  • Laatst online: 13:15
Thoit schreef op vrijdag 1 februari 2019 @ 10:30:
[...]


Kan je niet met een functie controleren of de waarde die hij weergeeft overeen komt met de vorige waarde? Dus het tijdelijk wegschrijven en controleren of het overeenkomt?
Tip: node-red-node-rbe

Werkt als een filter. Alleen als de input anders is dan de vorige keer laat hij hem door. :).

  • om3ega
  • Registratie: maart 2001
  • Laatst online: 11:17

om3ega

Merry XMAS

Naj_Geetsrev schreef op vrijdag 1 februari 2019 @ 10:32:
[...]


Tip: node-red-node-rbe

Werkt als een filter. Alleen als de input anders is dan de vorige keer laat hij hem door. :).
Hmm, hier ga ik eens naar kijken .. thanks :)

Ervaring is het archief van onze stommiteiten.


  • Greetoz
  • Registratie: juni 2002
  • Laatst online: 14:38
lolgast schreef op dinsdag 29 januari 2019 @ 07:49:
@Greetoz Ik doe het zo, afhankelijk van of het een MQTT switch is (die heeft geen output meer..) of een Hue lamp in mijn geval
[Afbeelding]
MQTT
JSON:
1
[{"id":"dbd6fad5.3d3be8","type":"api-current-state","z":"ba68260d.f9c468","name":"","server":"39fd7a9b.252f86","halt_if":"","override_topic":true,"override_payload":true,"entity_id":"light.keukenspots","outputs":1,"x":640,"y":1820,"wires":[["cbb4a20.b9da06"]]},{"id":"d88efbff.fed218","type":"switch","z":"ba68260d.f9c468","name":"Restart?","property":"data.old_state","propertyType":"msg","rules":[{"t":"nnull"}],"checkall":"true","repair":false,"outputs":1,"x":410,"y":1820,"wires":[["dbd6fad5.3d3be8"]]},{"id":"cbb4a20.b9da06","type":"function","z":"ba68260d.f9c468","name":"toggle","func":"var sts = msg.payload;\nmsg.payload = \"\";\n\nif ( sts === \"off\" ) {\nmsg.payload = true;\nreturn [ msg, null ];\n\n} else if ( sts === \"on\" ) {\nmsg.payload = false;\nreturn [ null, msg ];\n\n} else {\nreturn [ null, null ];\n}","outputs":2,"noerr":0,"x":860,"y":1820,"wires":[["c7d16e21.b1994"],["c7d16e21.b1994"]],"outputLabels":["true","false"]},{"id":"69d4d0c5.24c85","type":"server-state-changed","z":"ba68260d.f9c468","name":"Achterdeur schakelaar 2","server":"39fd7a9b.252f86","entityidfilter":"switch.fibaro_achterdeur_switch_2","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"","halt_if_compare":"is","outputs":1,"x":220,"y":1820,"wires":[["d88efbff.fed218"]]},{"id":"c7d16e21.b1994","type":"mqtt out","z":"ba68260d.f9c468","name":"Keuken","topic":"cmnd/sonoffKeuken/power","qos":"0","retain":"false","broker":"a0c390fa.b822a","x":1070,"y":1820,"wires":[]}]

Hue
JSON:
1
[{"id":"580b8a6.b5be374","type":"function","z":"ba68260d.f9c468","name":"toggle","func":"var sts = flow.get(\"eettafel.status\");\nmsg.payload = \"\";\n\nif ( sts === true ) {\nmsg.payload.on = false;\nreturn [ msg, null ];\n\n} else if ( sts === false ) {\nmsg.payload.on = true;\nreturn [ null, msg ];\n\n} else {\nreturn [ null, null ];\n}","outputs":2,"noerr":0,"x":560,"y":1870,"wires":[["f472893b.f94b18"],[]],"outputLabels":["false","true"]},{"id":"6c04db89.395574","type":"switch","z":"ba68260d.f9c468","name":"restart?","property":"data.old_state","propertyType":"msg","rules":[{"t":"nnull"}],"checkall":"true","repair":false,"outputs":1,"x":410,"y":1870,"wires":[["580b8a6.b5be374"]]},{"id":"f472893b.f94b18","type":"hue-group","z":"ba68260d.f9c468","name":"Eettafel","bridge":"e9503c7a.ea5fe8","groupid":"1","colornamer":true,"x":770,"y":1870,"wires":[["55210f4a.516b1"]]},{"id":"3b59d7e2.e6e3e8","type":"server-state-changed","z":"ba68260d.f9c468","name":"Achterdeur schakelaar","server":"39fd7a9b.252f86","entityidfilter":"switch.fibaro_achterdeur_switch","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"","halt_if_compare":"is","outputs":1,"x":210,"y":1870,"wires":[["6c04db89.395574"]]},{"id":"55210f4a.516b1","type":"change","z":"ba68260d.f9c468","name":"","rules":[{"t":"set","p":"eettafel.status","pt":"flow","to":"payload.on","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":1870,"wires":[[]]}]

Hi, bedankt voor de flows. Ik begrijp ze alleen nog niet helemaal.

Want jouw flows beginnen met het omzetten van de schakelaar. Stel ik open nu de HA app op mn telefoon en zet een zigbee lamp aan. Zet hij dan ook de fibaro schakelaar aan met jouw flows?
Greetoz schreef op vrijdag 1 februari 2019 @ 12:29:
[...]


Hi, bedankt voor de flows. Ik begrijp ze alleen nog niet helemaal.

Want jouw flows beginnen met het omzetten van de schakelaar. Stel ik open nu de HA app op mn telefoon en zet een zigbee lamp aan. Zet hij dan ook de fibaro schakelaar aan met jouw flows?
Nee daar blijft hij vanaf, want het maakt helemaal niks uit wat de status van de schakelaar is. Zodra je de schakelaar gebruikt, leest hij in HA de status van de lamp uit en voert daar de gepaste actie op uit. Staat de lamp al aan -> zet lamp uit. Staat de lamp uit -> zet lamp aan.

  • Greetoz
  • Registratie: juni 2002
  • Laatst online: 14:38
lolgast schreef op vrijdag 1 februari 2019 @ 12:58:
[...]

Nee daar blijft hij vanaf, want het maakt helemaal niks uit wat de status van de schakelaar is. Zodra je de schakelaar gebruikt, lees hij in HA de status van de lamp uit en voert daar de gepaste actie op uit. Staat de lamp al aan -> zet lamp uit. Staat de lamp uit -> zet lamp aan.
Ja dan volgt de lamp dus altijd de status van de schakelaar. Ik wil dus ook dat de schakelaar de status van de lamp gebruikt. Ik zet vaak lampen aan via Amazon Alexa bijv of een lamp wordt geschakeld met een scene. Maar mijn vriendin gebruikt vaak de schakelaars om ze weer uit te zetten. Dus ik wil dat de schakelaar ook de lamp volgt. Maar ik denk dat ik daar dan 2 flows voor moet maken. Een als de schakelaar de lamp aan zet en eentje if light on -> switch on.
Prima, ook goed....

Maar als ik jou was zou ik mijn berichtjes vanavond nog eens een keer rustig lezen. En daarna pas Node-RED openen :O

  • Thoit
  • Registratie: februari 2015
  • Laatst online: 23-03 09:29
Greetoz schreef op vrijdag 1 februari 2019 @ 14:32:
[...]


Ja dan volgt de lamp dus altijd de status van de schakelaar. Ik wil dus ook dat de schakelaar de status van de lamp gebruikt. Ik zet vaak lampen aan via Amazon Alexa bijv of een lamp wordt geschakeld met een scene. Maar mijn vriendin gebruikt vaak de schakelaars om ze weer uit te zetten. Dus ik wil dat de schakelaar ook de lamp volgt. Maar ik denk dat ik daar dan 2 flows voor moet maken. Een als de schakelaar de lamp aan zet en eentje if light on -> switch on.
Volgens mij was @lolgast vrij duidelijk in deze zin toch? :)

Nee daar blijft hij vanaf, want het maakt helemaal niks uit wat de status van de schakelaar is. Zodra je de schakelaar gebruikt, lees hij in HA de status van de lamp uit en voert daar de gepaste actie op uit. Staat de lamp al aan -> zet lamp uit. Staat de lamp uit -> zet lamp aan.

  • Greetoz
  • Registratie: juni 2002
  • Laatst online: 14:38
Thoit schreef op vrijdag 1 februari 2019 @ 14:41:
[...]


Volgens mij was @lolgast vrij duidelijk in deze zin toch? :)

Nee daar blijft hij vanaf, want het maakt helemaal niks uit wat de status van de schakelaar is. Zodra je de schakelaar gebruikt, lees hij in HA de status van de lamp uit en voert daar de gepaste actie op uit. Staat de lamp al aan -> zet lamp uit. Staat de lamp uit -> zet lamp aan.
Misschien snap ik het dan niet hoor maar stel ik zet de lamp aan zonder de schakelaar. Dan staat de schakelaar in OFF. Dan zet ik de lamp aan met een flow etc. Dan staat de lamp aan en de schakelaar in OFF. Dan druk ik op de schakelaar om de lamp uit te zetten. Dan gaat de schakelaar in ON. en de lamp blijft dus aan. Dan moet ik nogmaals op de schakelaar drukken, dan gaat de schakelaar in OFF en de lamp dus ook uit.

Althans dat is wat er nu gebeurt bij mij ;-). Of bedoelt @lolgast dat de status on/off van de schakelaar er sowieso niet toe doet? Dan begrijp ik het denk ik.

Greetoz wijzigde deze reactie 01-02-2019 16:13 (7%)

@Greetoz De status van de schakelaar maakt niet uit nee. Waar denk je dat die ‘toggle’-function voor is :9

Maar misschien moet je wat minder nadenken over wat er allemaal fout zou kunnen gaan en het gewoon eens proberen. Dan snap je de flow misschien ook meteen wat beter
Pagina: 1 ... 4 5 6 Laatste


Apple iPhone XS Red Dead Redemption 2 LG W7 Google Pixel 3 XL OnePlus 6T (6GB ram) FIFA 19 Samsung Galaxy S10 Google Pixel 3

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