NEWS
Google Home/Assistant ioBroker einrichten/nutzen
-
@thomas-flaechsig sagte in Google Home/Assistant ioBroker einrichten/nutzen:
@mend Frage 1 kann ich Dir nicht beantworten, Frage 2: Der Link stimmt. Meine 4 minis laufen damit.
Danke @ Frage 2
-
Ich habs grad gelöst Scheiß Scrollbalken hahahahah
Aber Raum einstellen kann ich trotzdem nicht.
Geht das nur mit der Lizenz ?
P.S Lizenz diese find ich auch nicht nur die Fernzugriff aber nicht die Assistent. -
@mend Sorry wenn meine Antwort "irgendwo" hier von Dir gefunden wird, mir ist die Systematik dieses Forums noch nicht so geläufig Jedenfalls musst Du die Raum- und Funktionszuordnung in den Aufzählungen des iobrokers setzen. Ich persönlich habe da nur einen Raum / eine Funktion "RaumGH" / "FunktionGH" angelegt, die states zugeordnet und in "intelligente Aufzählungen" des iot-Adapters den Schiebeschalter auf "On" gestellt. Es ist wichtig die Systematik verstanden zu haben, sonst sucht Du Dich fusselig - "Frohe Weihnachten" (y)
@mend said in Google Home/Assistant ioBroker einrichten/nutzen:
Ich habs grad gelöst Scheiß Scrollbalken hahahahah
Aber Raum einstellen kann ich trotzdem nicht.
Geht das nur mit der Lizenz ?
P.S Lizenz diese find ich auch nicht nur die Fernzugriff aber nicht die Assistent. -
Moin!
Nachdem ich die Heizkörperthermostate nun endlich zugange habe (Auto Mode hat nicht funktioniert, obwohl Raum und Funktion zugeordnet. Objekt wird gefunden und im iot angezeigt mit komplett korrekten Einstellungen. Iot schmiert bei Abfrage dieser Geräte allerdings mit nem riesen Error-Block ab und restartet. Füge ich das identische Objekt manuell hinzu, funktioniert es sofort!), möchte ich nun auch gerne meine Rollläden und Tür-/Fensterkontakte in der GHome App und per Sprache sehen und steuern können.
Da ich beides nicht eingebunden bekomme, bzw nur so, dass die Geräte nicht steuerbar sind (Icon in der GHome App mit einem "Einstellungen-Ritzel". Beim auswählen bekommt man nur die Informationen, dass das Gerät zu iobroker gehört, mehr nicht), möchte ich hier einmal um Hilfe bitten und stelle zudem gerne die Json-Files zur Verfügung. Es muss ja noch andere Leute geben, die zB den HM Rollladenaktor nutzen.jalousie.json
tuerkontakt.jsonGruß
-
@hollywoot Könntest du du bitte die Version die hier verlinkt ist installiert nur um sicherzustellen dass es bei allen iot versionen auftritt.
-
@tombox
Jopp, hab ich erledigt.
Hab die 1.18 vom Github installiert. Änderung gibt es keine.
Auf dem Bild kann man gut sehen, dass ich "Flur" manuell hinzugefügt habe und jetzt das Thermostat aus dem "Kinderzimmer" über die Autofunktion hinzugefügt habe.
Das Thermostat aus dem Flur kann ich abfragen, steuern, regeln, was auch immer - es geht alles.
Bei der Abfrage des Termostates aus dem Kinderzimmer knallt es und ich bekomme folgende Errors im Log:
-
Hi,
hat schon mal jemand von euch Rolladen unter ghome zum laufen gebracht(mit iot Adapter) ?
Meine wurden zwar automatisch erkannt:
Doch in der G Home App ist der Device nur Lesbar, kann dort keinen Wert setzen. Unter Alexa funktioniert das gerät einwandfrei.
Des Weiteren bringt der Aufruf eines Thermostat in der Google Home App den IoT Adapter zum Absturz:
2019-12-28 21:45:53.365 - info: iot.0 (19421) hm-rpc.0.PEQ2266365.1.LEVEL is auto added with type blind. 2019-12-28 21:45:53.472 - info: iot.0 (19421) Connection changed: connect 2019-12-28 21:52:36.283 - error: iot.0 (19421) uncaught exception: Cannot read property 'startsWith' of undefined 2019-12-28 21:52:36.284 - error: iot.0 (19421) TypeError: Cannot read property 'startsWith' of undefined at GoogleHome.getStates (/opt/iobroker/node_modules/iobroker.iot/lib/GoogleHome.js:2072:26) at Immediate.setImmediate [as _onImmediate] (/opt/iobroker/node_modules/iobroker.iot/lib/GoogleHome.js:2074:41) 2019-12-28 21:52:36.316 - info: iot.0 (19421) Connection changed: disconnect 2019-12-28 21:52:36.316 - info: iot.0 (19421) Connection lost 2019-12-28 21:52:36.318 - info: iot.0 (19421) terminating 2019-12-28 21:52:36.318 - info: iot.0 (19421) Terminated (NO_ERROR): Without reason 2019-12-28 21:52:36.838 - error: host.HomeServer Caught by controller[0]: at GoogleHome.getStates (/opt/iobroker/node_modules/iobroker.iot/lib/GoogleHome.js:2072:26) 2019-12-28 21:52:36.838 - error: host.HomeServer Caught by controller[0]: at Immediate.setImmediate [as _onImmediate] (/opt/iobroker/node_modules/iobroker.iot/lib/GoogleHome.js:2074:41) 2019-12-28 21:52:36.838 - info: host.HomeServer instance system.adapter.iot.0 terminated with code 0 (NO_ERROR) 2019-12-28 21:52:36.839 - info: host.HomeServer Restart adapter system.adapter.iot.0 because enabled 2019-12-28 21:53:06.851 - info: host.HomeServer instance system.adapter.iot.0 started with pid 21869 2019-12-28 21:53:09.206 - info: iot.0 (21869) starting. Version 1.1.9 in /opt/iobroker/node_modules/iobroker.iot, node: v8.15.0
-
@echoDave manche Geräte lassen sich nur per Sprache und nicht per App steuern. Hast du per Sprache probiert?
-
@tombox Ohjj per Sprache gehts, gracias! Aber Schade, dass es per App nicht geht
-
Auf dem Google Nest hub Display gibts für die Rolläden Auf und Ab Tasten.
-
@echoDave Ja ich war auch überrascht wie schlecht die Unterstützung ist und das anscheinend keine signifikanten Verbesserungen kommen. Aber du kannst gerne dein Wunsch auf Englisch in einem Ticket bei Google äußern. Vielleicht hat es ja ein Einfluss
https://issuetracker.google.com/issues/new?component=655104&template=1284148
-
Hi!
Nachdem ich jetzt nun in den letzten Wochen mehrere Stunden damit zugebracht habe, hier zu lesen und auszuprobieren, wo das Problem liegt, muss ich einfach hier noch mal fragen.
Ich habe Aqara Sensoren (Temperatur und Fenster) und will die in meiner GHome-App angezeigt bekommen. Ich bekomme es einfach nicht hin, weil ich die richtige Kombination von Type/Trait/Attribut irgendwie nicht herausfinden kann. Kann mir hier jemand mal für absolute Idioten erklären, wie das geht? Ich bin durchaus bereit komplett von vorne anzufangenMein Setup: Raspberry 3B+ mit RaspBee Aufsatz von Dresden Elektronik, drei Temperatur-Sensoren und zwei Fenster-Sensoren von Xiaomi/Aqara
-
@Maximilian-Klie könntest du ein export von den objekten (Beschreibung Beitrag 1) machen dann kann ich mir das anschauen. Wenn ich Zeit habe.
-
@tombox
Hier bitte:{ "deconz.0.Sensors.2": { "type": "device", "common": { "name": "Bad oben Temp", "role": "sensor", "smartName": false }, "native": { "ep": 1, "etag": "1cc6a3fe67a5e3502457af81c184ceae", "id": "2", "manufacturername": "LUMI", "modelid": "lumi.weather", "swversion": "20161129", "type": "ZHATemperature", "uniqueid": "00:15:8d:00:03:f0:55:74-01-0402" }, "from": "system.adapter.deconz.0", "user": "system.user.admin", "ts": 1574276560696, "_id": "deconz.0.Sensors.2", "acl": { "object": 1636 } }, "deconz.0.Sensors.2.battery": { "type": "state", "common": { "name": "Multisensor battery", "type": "number", "role": "indicator.battery", "read": true, "write": false }, "native": {}, "from": "system.adapter.deconz.0", "user": "system.user.admin", "ts": 1574276560720, "_id": "deconz.0.Sensors.2.battery", "acl": { "object": 1636, "state": 1636 } }, "deconz.0.Sensors.2.lastupdated": { "type": "state", "common": { "name": "lastupdated", "type": "string", "role": "state", "read": true, "write": false }, "native": {}, "from": "system.adapter.deconz.0", "user": "system.user.admin", "ts": 1574276615079, "_id": "deconz.0.Sensors.2.lastupdated", "acl": { "object": 1636, "state": 1636 } }, "deconz.0.Sensors.2.offset": { "type": "state", "common": { "name": "Multisensor offset", "type": "number", "role": "state", "read": true, "write": true, "smartName": false }, "native": {}, "from": "system.adapter.iot.0", "user": "system.user.admin", "ts": 1577399877048, "_id": "deconz.0.Sensors.2.offset", "acl": { "object": 1636, "state": 1636 } }, "deconz.0.Sensors.2.on": { "type": "state", "common": { "name": "Multisensor on", "type": "boolean", "role": "state", "read": true, "write": true, "smartName": false }, "native": {}, "from": "system.adapter.deconz.0", "user": "system.user.admin", "ts": 1574276560746, "_id": "deconz.0.Sensors.2.on", "acl": { "object": 1636, "state": 1636 } }, "deconz.0.Sensors.2.reachable": { "type": "state", "common": { "name": "Multisensor reachable", "type": "boolean", "role": "state", "read": true, "write": false }, "native": {}, "from": "system.adapter.deconz.0", "user": "system.user.admin", "ts": 1574276560746, "_id": "deconz.0.Sensors.2.reachable", "acl": { "object": 1636, "state": 1636 } }, "deconz.0.Sensors.2.temperature": { "type": "state", "common": { "name": "Sensor Bad oben", "type": "number", "role": "value.temperature", "unit": "°C", "read": true, "write": true, "smartName": false, "enums": [ { "_id": "enum.functions.infos", "common": { "name": "Infos", "icon": "", "color": false } }, { "_id": "enum.rooms.bad_oben", "common": { "name": "Bad oben", "icon": "", "color": false } } ] }, "native": {}, "from": "system.adapter.iot.0", "user": "system.user.admin", "ts": 1577541459184, "_id": "deconz.0.Sensors.2.temperature", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 } } }
Ich will nicht ausschließen, dass ich irgendwo Mist gemacht hab. Das ist jetzt auch nur ein Sensor exemplarisch. Danke schon mal!
-
@Maximilian-Klie die json datei wäre einfacher für mich
-
@tombox Verzeihung. Hier isse: deconz.0.Sensors.2.json
-
@tombox said in Google Home/Assistant ioBroker einrichten/nutzen:
https://issuetracker.google.com/issues/new?component=655104&template=1284148
Mache ich danke.
Aber der Zustand, dass der Adapter Abstürzt wenn ich in der GHome App ein Thermostat aufrufe wäre noch zu klären. Ich habe mal den iot Adapter etwas debugt und folgendes rausgefunden:
der Fehler Steckt in folgender Datei:
/opt/iobroker/node_modules/iobroker.iot/lib/GoogleHome.jsUnd zwar in der Zeile 2073:
getStates(ids, callback, states) { states = states || {}; if (!ids || !ids.length) { callback(states); } else { const id = ids.shift(); this.adapter.getForeignState(id, (err, state) => { <-- Hier steck der Fehler! states[id] = state && state.val; setImmediate(() => this.getStates(ids, callback, states)); }); } }
ids ist ein Array der zwei Elemente hat, das erste ist bestückt das zweite ist leer. Warum auch immer liefert hier das ids.length in der If trotzdem eine 1 für das leere Element. Dadurch geht der If zum zweiten mal in den Else-Zweig. Beim shift kommt's dann zur "Tragödie", die Konstante id wird undefined, wodurch der getForeignState abbricht weil er .startwith(ALIAS_STARTS_WITH) nicht auf ein undefiniertes Objekt machen kann. Dadurch schmiert der Adapter dann ab und Google Home App bekommt keine Antwort.
Ich habe die Funktion wie folgt abgeändert:
getStates(ids, callback, states) { states = states || {}; const id = ids.shift(); if (!id || !id.length) { callback(states); } else { //const id = ids.shift(); this.adapter.getForeignState(id, (err, state) => { states[id] = state && state.val; setImmediate(() => this.getStates(ids, callback, states)); }); } }
Also den Shift vor die If gezogen und in der If Frage ich die Konstante ab.
Jetzt läuft es durch und man kann Thermostate über die App auch bedienen.
Hat noch jemand anders den Fehler gehabt?
Und reicht es hier als Lösung oder soll ich das noch wo anders posten?Viele Grüße, David
-
Hallo,
ich hab jetzt auch mal diese Zeilen abgeändert und es funktionieren jetzt auch die Thermostate. Vorher ist der Adapter sofort abgestürzt, sobald irgendetwas mit Temperatur zu tun hatte.
Allerdings kann ich sie nur über die Google Home App bedienen und nicht auf Zuruf, hier kommt das das Gerät aktuell nicht erreichbar ist. -
@echoDave Hi danke für das Feedback, In meiner Version ist der Fehler schon länger behoben aber ich hatte noch keine Zeit es in die offizielle Version zu kopieren. Werde ich zeitnah machen.
Bzw teste doch mal meine Version ob da der Fehler auch weg ist.
-
@Maximilian-Klie Der schnellste Weg dein Problem zu fixen ist Sensor.2 manuell zu löschen und durch deconz neuerzeugen lassen und dann wie beschrieben dem Device Sensors.2 ein Raum und Funktion zu weisen und nicht dem State temperature