Adapter: nest

Wie man einen Adapter entwickelt, oder wie man debuggen kann.
Antworten
foxthefox
professional
Beiträge: 395
Registriert: 22.01.2017, 14:35

Adapter: nest

Beitrag von foxthefox » 18.02.2018, 15:32

Es gibt einen neuen Adapter für die Google Nest Produkte.

Version 0.0.1 steht auf github bereit.

Vorerst ist der Adapter lediglich auf das Lesen der Daten getrimmt, da der Bedarf erstmal am größten für die NEST-Protect war.
Ich selbst werde mein Thermostat nicht produktiv einsetzen, werde aber in der nächsten Version die Befehle dafür einbauen.

Gruß
Klaus
Meine Adapter: fritzdect; musiccast; milight; lifx; jeelink;

MrScrooge
Beiträge: 6
Registriert: 29.11.2015, 10:21

Re: Adapter: nest

Beitrag von MrScrooge » 18.02.2018, 17:00

Auch hier nochmal Danke für das Erstellen.

Nachdem ich kurz Schwierigkeiten hatte den access_token zu erstellen, sind jetzt meine Nest Protect in der Liste.

Einzig das Löschen der Beispielgeräte ist etwas tricky. Ich muss ein Gerät löschen, dann Speichern und Schließen, dann muss ich die Instanzeinstellungen wieder öffnen und kann wieder nur ein Gerät löschen. Ist natürlich bei 3 Geräte nicht so schlimm.

Ansonsten werde ich die zwei für mich wichtigen Variablen: co_alarm_state und smoke_alarm_state mal testen.
Dort sind ja folgende Stati möglich:
- ok Normal operation
- warning Detection of rising CO levels
- emergency CO levels too high, user should exit the home

Der Versuch steht noch aus, wird aber meiner Meinung nach funktionieren.

Viele Grüße
Péter

foxthefox
professional
Beiträge: 395
Registriert: 22.01.2017, 14:35

Re: Adapter: nest

Beitrag von foxthefox » 18.02.2018, 18:51

MrScrooge hat geschrieben:Auch hier nochmal Danke für das Erstellen.

Nachdem ich kurz Schwierigkeiten hatte den access_token zu erstellen, sind jetzt meine Nest Protect in der Liste.

Einzig das Löschen der Beispielgeräte ist etwas tricky. Ich muss ein Gerät löschen, dann Speichern und Schließen, dann muss ich die Instanzeinstellungen wieder öffnen und kann wieder nur ein Gerät löschen. Ist natürlich bei 3 Geräte nicht so schlimm.

Ansonsten werde ich die zwei für mich wichtigen Variablen: co_alarm_state und smoke_alarm_state mal testen.
Dort sind ja folgende Stati möglich:
- ok Normal operation
- warning Detection of rising CO levels
- emergency CO levels too high, user should exit the home

Der Versuch steht noch aus, wird aber meiner Meinung nach funktionieren.

Viele Grüße
Péter
Hallo Péter,

ja, die Beispielgeräte sind schwierig zu löschen. Das Problem kenne ich, aber leider hab ich noch kein Weg gefunden das onChange() an einer anderen Stelle abzusetzen. Damit verlieren die Tasten immer den Bezug zum click-handling und es benötigt einen Neuaufruf der Seite.

Na das freut mich, daß alle Geräte auch gefunden werden und die Objekte angelegt werden.

Ich denke ich werde die Beispielgeräte rauswerfen, oder evtl nur noch eines belassen.
Und zur Vereinfachung des access_tokens werde ich die Seite erweitern.

Grüße
Klaus
Meine Adapter: fritzdect; musiccast; milight; lifx; jeelink;

mrMuppet
professional
Beiträge: 214
Registriert: 22.03.2016, 15:42

Re: Adapter: nest

Beitrag von mrMuppet » 18.02.2018, 20:35

Läuft bei mir noch nicht. Bekomme auch keinen Token:

Code: Alles auswählen

nest.0	2018-02-18 20:34:03.268	error	exception by stop: nestTimeout is not defined
nest.0	2018-02-18 20:34:03.268	error	at Socket.onack (/usr/local/www/iobroker/node_modules/socket.io-client/lib/socket.js:312:9)
nest.0	2018-02-18 20:34:03.268	error	at Socket. (/usr/local/www/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:703:25)
nest.0	2018-02-18 20:34:03.268	error	at process.exit (internal/process.js:166:15)
nest.0	2018-02-18 20:34:03.268	error	at process.emit (events.js:188:7)
nest.0	2018-02-18 20:34:03.268	error	at emitOne (events.js:96:13)
nest.0	2018-02-18 20:34:03.268	error	at process.g (events.js:292:16)
nest.0	2018-02-18 20:34:03.268	error	at process.stop (/usr/local/www/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4702:18)
nest.0	2018-02-18 20:34:03.268	error	at Adapter.emit (events.js:188:7)
nest.0	2018-02-18 20:34:03.268	error	at emitOne (events.js:96:13)
nest.0	2018-02-18 20:34:03.268	error	at Adapter. (/usr/local/www/iobroker/node_modules/iobroker.nest/main.js:44:9)
nest.0	2018-02-18 20:34:03.268	error	ReferenceError: nestTimeout is not defined
nest.0	2018-02-18 20:34:03.268	error	uncaught exception: nestTimeout is not defined
nest.0	2018-02-18 20:34:03.264	error	already running
nest.0	2018-02-18 20:34:03.261	debug	statesDB connected
nest.0	2018-02-18 20:34:03.247	debug	objectDB connected
host.iobroker_v1	2018-02-18 20:34:02.859	info	instance system.adapter.nest.0 started with pid 79358
ioBroker auf FreeNAS (FreeBSD 11.1)
Homematic, HMIP, Harmony, Hue, Yamaha AVR, Hyperion, Squeezebox, Unifi, Plex

MrScrooge
Beiträge: 6
Registriert: 29.11.2015, 10:21

Re: Adapter: nest

Beitrag von MrScrooge » 18.02.2018, 22:00

Klaus hatte ein Link für eine Anleitung zum erstellen des access_tokens im Post http://forum.iobroker.net/viewtopic.php ... 14#p125765 hinterlegt.

Dort ist eigentlich recht gut erklärt, wie das mit Postman funktioniert.

kaltesbier
Beiträge: 4
Registriert: 20.06.2017, 23:17

Re: Adapter: nest

Beitrag von kaltesbier » 27.02.2018, 12:25

Erstmal Danke für den Adapter.

Das alles hat bisher wunderbar geklappt. kann es sein das bei mir nicht alles angezeigt wird. ich suche den CO wert.
Dateianhänge
Bildschirmfoto 2018-02-27 um 12.21.59.png
Zuletzt geändert von kaltesbier am 27.02.2018, 15:48, insgesamt 1-mal geändert.

Benutzeravatar
Flauschi
starter
Beiträge: 71
Registriert: 23.02.2017, 12:56

Re: Adapter: nest

Beitrag von Flauschi » 27.02.2018, 13:10

sorry, aber der muss nun kommen:

naja...NEST ist auch kein CO2 Melder sondern ein CO Melder :)

kaltesbier
Beiträge: 4
Registriert: 20.06.2017, 23:17

Re: Adapter: nest

Beitrag von kaltesbier » 27.02.2018, 15:49

Flauschi hat geschrieben:sorry, aber der muss nun kommen:

naja...NEST ist auch kein CO2 Melder sondern ein CO Melder :)

Danke schon berichtet :idea:

foxthefox
professional
Beiträge: 395
Registriert: 22.01.2017, 14:35

Re: Adapter: nest

Beitrag von foxthefox » 16.03.2018, 20:25

kaltesbier hat geschrieben:Erstmal Danke für den Adapter.

Das alles hat bisher wunderbar geklappt. kann es sein das bei mir nicht alles angezeigt wird. ich suche den CO wert.
Es gibt keinen Wert für CO in % oder ähnlich. Es gibt nur binär OK, WARNING, EMERGENCY.
Mehr gibt die API nicht her.

Gruß
Klaus
Meine Adapter: fritzdect; musiccast; milight; lifx; jeelink;

Bradock
professional
Beiträge: 171
Registriert: 30.01.2017, 12:22

Re: Adapter: nest

Beitrag von Bradock » 16.04.2018, 14:12

Hallo an die Experten.

Erstmal vielen Dank für Eure Arbeit!

Kann mir ggf jemand einen Hinweis geben, was sich bei der Installation hinter folgenden Fehlern versteckt?
Spoiler: Show hidden text
root@IoBroker:/opt/iobroker# npm install iobroker.nest

> mdns@2.3.4 install /opt/iobroker/node_modules/mdns
> node-gyp rebuild

make: Entering directory `/opt/iobroker/node_modules/mdns/build'
CXX(target) Release/obj.target/dns_sd_bindings/src/dns_sd.o
In file included from ../src/dns_sd.cpp:1:0:
../src/mdns.hpp:32:20: fatal error: dns_sd.h: Datei oder Verzeichnis nicht gefunden
compilation terminated.
make: *** [Release/obj.target/dns_sd_bindings/src/dns_sd.o] Fehler 1
make: Leaving directory `/opt/iobroker/node_modules/mdns/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:276:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
gyp ERR! System Linux 3.2.0-4-686-pae
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/iobroker/node_modules/mdns
gyp ERR! node -v v6.11.5
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
iobroker@1.0.0 /opt/iobroker
└─┬ iobroker.nest@0.0.1
└─┬ eventsource@1.0.5
└─┬ original@1.0.0
└─┬ url-parse@1.0.5
├── querystringify@0.0.4
└── requires-port@1.0.0

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: mdns@2.3.4 (node_modules/mdns):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: mdns@2.3.4 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
root@IoBroker:/opt/iobroker# ^C
root@IoBroker:/opt/iobroker#
Bin gerade etwas ratlos..

Danke und Gruß Sascha

Antworten