Fibaro & ioBroker Teil 1: Wie bekommt Ihr Geräte & Daten vom ioBroker in Euer Fibaro Home Center?
In diesem Tutorial zeigen wir Dir beispielhaft an einer virtuellen Fernbedienung, wie Du Geräte und auch Daten in Deine Fibaro Zentrale übertragen kannst.
Willkommen zu unserer neuen Tutorial-Reihe zum Thema ioBroker. In den kommenden Beiträgen zu diesem Thema wollen wir Dir zeigen, wie Du diese Integrationsplattform mit Deinem Fibaro Home Center verbinden kannst, bzw. Geräte zu dem ioBroker hinzufügst. Heute geht es darum, wie wir den ioBroker selbst zum Home Center hinzufügen. Dies wollen wir Dir an zwei verschiedenen Beispielen zeigen, welche natürlich auch durch andere Geräte ersetzt werden können. Unsere nachfolgende Lösung dient somit nur als Inspiration, wie man die Schritte mit dem ioBroker umsetzen kann.
Was wollen wir erstellen?
Als erstes Beispiel werden wir mit einem Harmony Hub von Logitech, eine Universalfernbedienung als virtuelles Modul in unserer Fibaro Zentrale erstellen. Dafür nutzen wir einen Adapter. Mit diesem können dann über verschiedene Buttons Aktionen umgesetzt werden. Beispielsweise lassen sich TV-Channel einstellen, die Lautstärke ändern oder auch Buttons in Szenen integrieren. Diese virtuelle Fernbedienung wird zudem in der Fibaro App auf Deinem iPhone nutzbar sein, mit der sich danach Dein TV-Gerät wie der Apple TV oder Fire TV steuern lässt. Wie man den Harmony Adapter beim ioBroker installiert und anschließend über Fibaro nutzt, zeigen wir Dir in diesem Beitrag.
Über einen zweiten Adapter wollen wir ein virtuelles Modul erstellen, welches erkennt und angibt, welches Gerät sich derzeit im heimischen WLAN befindet und angemeldet ist. Darauf kann dann die Alarmanlage oder ein smartes Türschloss angepasst werden, sodass man bei jedem Login ins WLAN auch die Alarmanlage deaktivieren lassen kann und vieles mehr. Man erhält sozusagen einen Überblick darüber, welche Person Zuhause und im WLAN mit dem Smartphone eingeloggt ist.
Möglicherweise fragst Du Dich jetzt, wieso wir die Geräte über den ioBroker ins Home Center einfügen wollen. Normalerweise funktioniert der ioBroker genau andersherum: Man fügt Smart Home Geräte zu diesem hinzu und verwaltet sie über die “Objekte”. Damit können dann über Skripte die Geräte verbunden werden. Für uns macht es aber mehr Sinn, den ioBroker nur als Verwalter unserer Smart Home Komponenten zu nutzen, die nicht mit dem Home Center kompatibel sind. Die restliche Logik soll über die Fibaro Zentrale selbst laufen. Dafür nutzen wir wie erwähnt heute zwei verschiedene Adapter, welche die Geräte ins Home Center überspielen.
Konfiguration im ioBroker für Fernbedienung
Um unsere virtuelle Fernbedienung zu erstellen, müssen wir zunächst den ioBroker herunterladen und installieren. Dazu findest Du online viele Tutorials zu, beispielsweise mit einem Raspberry Pi oder auch Synology Nas. Die Installation ist auf vielen Systemen möglich.
Um das Ganze verknüpfbar zu machen, müssen wir zunächst einige Adapter installieren. Klicke dafür auch “Adapter” und suche nach “Script Engine”. Installieren diesen über das “+”-Symbol. Anschließend wirst Du auf eine Konfigurationsseite weitergeleitet, wo jedoch nichts installiert werden muss. Auf die gleiche Weise installierst Du auch den “simpleAPI Adapter” sowie den “Logitech Harmony Adapter” für die Fernbedienung und den Javascript Adapter.
Fernbedienung als virtuelles Modul nachbauen
Um unsere virtuelle Fernbedienung zu erstellen, öffnen wir im Home Center den Menüpunkt “Module” und fügen danach ein neues virtuelles Modul hinzu. Gib diesem einen Namen und füge einen passenden Raum hinzu. Auch die IP-Adresse von Deinem ioBroker und den Port “8087” von der API-Schnittstelle kannst Du mit eintragen.
Nach dem Speichern kannst Du über “Fortgeschritten” Buttons hinzufügen, welche in Deiner Fernbedienung zu sehen sein sollen. Wir legen dafür beispielhaft einen On/Off-Button an, die Lautstärke und einen Favortiensender. Auch einen Status kannst Du über das “Label” hinzufügen. Hier sind deine Vorstellungen gefragt.
Anschließend sollten die Buttons noch passende Namen erhalten. Lege unter “Label” den jeweiligen Namen für die einzelnen Buttons an, je nach der Funktion.
Die virtuelle Fernbedienung ist mit diesen Schritten angelegt, kann natürlich entsprechend durch Deine Vorstellungen ergänzt werden. Damit die Buttons auch funktionieren, muss nun das Home Center noch mit dem ioBroker verknüpft werden.
Home Center mit ioBroker verbinden
Um eine Verknüpfung zwischen der Integrationsplattform und dem Home Center herzustellen, müssen wir einmalig eine LUA Szene in der Fibaro Zentrale anlegen:
--[[ %% properties %% events %% globals --]] --[[ Füge bitte Deine IP adresse von Deiner IoBroker Installation ein sowie den Port vom simpleAPI Adpater. Außerdem musst Du zwei globale Variablen anlegen: change_iob_state & change_iob_value Mehr muss in dieser Szene nicht geändert werden: Wenn du Dein State bei ioBroker ändern willst, nutze folgenden Code: fibaro:setGlobal('change_iob_state', 'tr-064.0.states.reboot'); -- Name des States den du ändern willst! fibaro:setGlobal('change_iob_value', true); -- Auf was willst du ändern: true / false 1,0 oder was auch immer fibaro:startScene(154); ID der Send to iobroker Szene Das Script wurde von Nico Bode von https://www.intelligentes-haus.de entwickelt. Die Anleitung inkl. Video findest du hier: https://www.intelligentes-haus.de/tutorials/fibaro-iobroker-teil-1-wie-bekommt-ihr-gerate-daten-vom-iobroker-in-euer-fibaro-home-center/ --]] local ip_iobroker_api ='192.168.178.83'; local port_iobroker_api = '8087'; local change_iob_state = fibaro:getGlobal('change_iob_state'); local change_iob_value = fibaro:getGlobal('change_iob_value'); fibaro:debug('Scene started Change '..change_iob_state..' to value '..change_iob_value..''); local encodeText = function(url) return url:gsub(" ", "%%20") end request_url = 'http://'..ip_iobroker_api..':'..port_iobroker_api..'/set/'..encodeText(change_iob_state)..'?value='..encodeText(change_iob_value)..''; local http = net.HTTPClient(); http:request((request_url), { options = { method = 'GET', headers = {} }, success = function(response) local result = json.decode(response.data); if response.status == 200 then fibaro:debug('State änderung erfolgreich gesendet!'); else fibaro:debug(request_url); fibaro:debug('Es ist ein HTTP Fehler aufgetreten: '..response.status..'') fibaro:debug(response.data) end end, error = function(err) fibaro:debug(request_url); fibaro:debug('[ERROR] ' .. err); end });
In der Szene müssen noch die Werte durch Deine eigenen ergänzt werden. Das heißt, zu Beginn muss die IP-Adresse Deines ioBrokers eingetragen werden, genauso wie der Port der Schnittstelle “8087”. Lege außerdem über das Home Center zwei neue Variablen (über “Steuerungen” – “Variablensteuerungen”) an: “change_iob_state” und “change_io_value”.
Setze die Szene außerdem auf “manuell”, damit diese nicht automatisch gestartet wird.
Die Konfiguration der Szene ist nun abgeschlossen. Wichtig ist, dass Du Dir zum Schluss noch die ID der Szene merkst, da wir diese im Anschluss noch benötigen.
So werden die Buttons funktionsfähig
Kehre als nächstes zu Deinem virtuellen Modul der Fernbedienung zurück. Wir wollen nun dafür sorgen, dass diese auch funktioniert, sobald Du einen Button betätigst. Innerhalb der Bearbeitung der einzelnen Buttons, kannst Du entsprechend für jeden einzelnen Button einen LUA Code einfügen. Dafür benötigst Du folgendes Skript:
local path = 'harmony.0.Harmony Hub.Samsung TV.'; fibaro:setGlobal('change_iob_state', path..'PowerOn'); fibaro:setGlobal('change_iob_value', '1'); fibaro:startScene(156);
Diesen Code benötigst Du bei allen Buttons. Passe natürlich noch den Namen für die Buttons innerhalb des jeweiligen Codes an, dafür benötigst Du den passenden Pfad aus dem ioBroker. Dieser muss genau gleich sein, damit danach die Button-Funktion auch umsetzbar ist. Genauso sollte dann auch die Button-ID sollte heißen.
Außerdem muss noch die ID Deiner Szene bei “startScene” eingetragen werden.
Auch die value-Variable kannst Du noch ändern, indem Du den Wert durch andere Angaben ersetzt. In den kommenden Tutorials zum Thema ioBroker gehen wir darauf auch noch näher ein, sodass Du die Umsetzung besser verstehen wirst und anweden kannst.
Auch mit den anderen Buttons kannst Du wie oben vorgehen, indem Du nur die dazugehörigen Werte änderst und anpasst. Die Vorgehensweise ist bei allen Buttons gleich, Du kannst also beliebig viele Taster hinzufügen und nur die Verknüpfung entsprechend herstellen.
Eine Ausnahme sind die Favoritenbuttons. Bei einer Samsung-Fernbedienung gibt es beispielsweise keinen Favoriten-Knopf. Daher fügen wir dort selbst eine Reihenfolge von Channeln ein, sodass wir an unserer Fernbedienung verschiedenen Knöpfe betätigen, sodass anschließend der Favoritensender gestartet wird. Beispielsweise drücken wir “1”, “0” und “OK”. Folgender Code verdeutlicht diese Reihenfolge:
local path = 'harmony.0.Harmony Hub.Samsung TV.'; fibaro:setGlobal('change_iob_state', path..'Number1'); fibaro:setGlobal('change_iob_value', '1'); fibaro:startScene(156); fibaro:sleep(1000); fibaro:setGlobal('change_iob_state', path..'Number0'); fibaro:setGlobal('change_iob_value', '1'); fibaro:startScene(156); fibaro:sleep(1000); fibaro:setGlobal('change_iob_state', path..'Select'); fibaro:setGlobal('change_iob_value', '1'); fibaro:startScene(156);
Anschließend funktioniert Deine virtuelle Fernbedienung auch schon.
Statusanzeige erstellen
Um darüber informiert zu sein, ob der Harmony Hub online oder offline ist, haben wir eine Statusanzeige mit in unsere Fernbedingung integriert.
Im ioBroker gibt es dafür unter “Objekte”, unter den “Aktivitäten” des TV-Geräts die Variable “hubConnected”. Wenn diese auf “true” steht, ist der Fernseher verbunden. Bei “false” wäre dieser nicht mehr verbunden. Diesen Wert wollen wir nun auch in unser Home Center einfügen, um es anschließend über unsere virtuelle Fernbedienung nutzen zu können.
Status über API lesen
Für den Status gibt es zwei verschiedene Wege, damit dieser in die Fibaro Zentrale übernommen werden kann. Die erste Möglichkeit wäre, den Wert über die API zu lesen, wofür wir im Folgenden eine Szene anlegen. Dieser Schritt macht aber nur für Werte Sinn, die man nicht schnell benötigt, da die Verarbeitung langsam läuft.
Wenn Du Dich für diese Vorgehensweise entscheidest, füge zunächst eine neue LUA Szene in der Fibaro Zentrale hinzu und trage dort folgenden Code ein:
--[[ %% properties %% weather %% events %% globals --]] --[[ Füge bitte Deine IP-Adresse von Deiner IoBroker Installation hinzu und den Port vom simpleAPI Adpater. Weiter unten kannst Du die States dann angeben, die du speichern willst. Das Script wurde von Nico Bode von https://www.intelligentes-haus.de entwickelt. Die Anleitung inkl. Video findest du hier: https://www.intelligentes-haus.de/tutorials/fibaro-iobroker-teil-1-wie-bekommt-ihr-gerate-daten-vom-iobroker-in-euer-fibaro-home-center/ --]] local ip_iobroker_api ='192.168.178.83'; local port_iobroker_api = '8087'; local states_pattern = ''; request_url = 'http://'..ip_iobroker_api..':'..port_iobroker_api..'/states?pattern='..states_pattern..''; local http = net.HTTPClient(); http:request((request_url), { options = { method = 'GET', headers = {} }, success = function(response) if response.status == 200 then local result_json = json.decode(response.data); fibaro:debug('Api wurde erfolgreich gelesen:'); for key, value in pairs(result_json) do if(type(value) == 'table') then value_string = tostring(value.val); --[[ mit dieser if anweisung kannst du sagen welche states du übernehmen willst und unten bei set Global kannst du sagen unter welchem Globalen variablen Namen das gespeichert werden soll if(key == 'harmony.0.Harmony Hub.hubConnected') then fibaro:debug('State: '..key..' Value: '..value_string..' '); fibaro:setGlobal('harmonyConnected', value_string); end if(key == 'tr-064.0.devices.Tanjas-iPhone.active') then fibaro:debug('State: '..key..' Value: '..value_string..' '); fibaro:setGlobal('tanjaiphoneon', value_string); end --]] end end else fibaro:debug(request_url); fibaro:debug('Es ist ein HTTP Fehler aufgetreten: '..response.status..'') fibaro:debug(response.data) end end, error = function(err) fibaro:debug(request_url); fibaro:debug('[ERROR] ' .. err); end });
Auch in dieser Szene muss erneut die IP-Adresse und der Port angepasst werden. Außerdem muss unter “states_pattern” noch der entsprechende Wert für das Gerät, bei uns beispielsweise für den Harmony Hub, eingetragen werden. Vergiss dabei nicht, am Ende ein * zu setzen, also beispielsweise “harmony.0*”, damit auch alle Geräte gelesen werden, die zum Beispiel mit “harmony” anfangen. Wenn Du mehrere Geräte impotieren möchtest, lasse diesen Wert leer, sodass alle Objeke geladen werden können. Wir konfigurieren außerdem in unserer Szene immer alle Werte zu einem “String“. Außerdem muss für diese Szene eine neue globale Variable, in unserem Fall zum Beispiel “harmonyConnected”, angelegt werden.
Info
Am Ende die Szene speichern. Wenn Du diese nun auslöst, wird der Harmony Hub auf “true” gesetzt und die Status-Anzeige in der Fernbedienung wird diesen Status entsprechend wiedergeben.
Außerdem kannst Du die API auch zeitgesteuert kontrollieren lassen. Dies funktioniert mit dem Fibaro Home Center über sogenannate Cronjobs. Dabei handelt es sich um zeitgesteuerte Aktionen. Wie das funktoniert, findest Du hier in einem Tutorial und kannst Dir von dort auch die Szene kopieren. Danach kannst Du es minütlich für den API Status festlegen, sodass dieser immer überprüft wird, indem Du die API Szene in das Cronjobs Skript mit einträgst.
Status über Javascript
Als zweite Möglichkeit, um den Status ins Home Center zu übertragen, benötigen wir den Javascript Adapter im ioBroker. Dafür müssen wir die zwei folgenden Skripte innerhalb der Integrationsplattform anlegen. Dabei gibt es zwei verschiedene Ordner. Einmal den Ordner “global”, in dem sich Skripte befinden, die zuerst ausgegeben werden, sowie den Ordner “common” mit Skripten, die erst danach zum Einsatz kommen. Ein Skript muss zunächst im ersten Ordner angelegt werden mit dem Javascript. Füge dort folgendes Skript ein:
/* Bitte lege dieses Script im IOBroker unter Scripte an -> als Javascript -> dieses Script muss in den Ordner Global Unten musst Du Deine Fibaro Benutzerdaten noch eintragen. Das Script wurde von Nico Bode von https://www.intelligentes-haus.de entwickelt. Die Anleitung inkl. Video findest du hier: https://www.intelligentes-haus.de/tutorials/fibaro-iobroker-teil-1-wie-bekommt-ihr-gerate-daten-vom-iobroker-in-euer-fibaro-home-center/ */ var fibaro_username = ''; // Fibaro Admin Loginname var fibaro_password = ''; // Fibaro Password var fibaro_ip = ''; // Fibaro IP adresse function fibaro_create_global_var(fibaro_global_name,fibaro_global_value,fibaro_create_when_not_exist=true) { request.post({ url: 'http://'+fibaro_username+':'+fibaro_password+'@'+fibaro_ip+'/api/globalVariables/', form: '{"name":"'+fibaro_global_name+'","value":"'+fibaro_global_value+'"}' }, function(error, response, body) { if (error) { //log(error, 'error'); } else { if (response.statusCode == 201) { log('Variable '+ fibaro_global_name+' bei Fibaro mit dem Wert '+fibaro_global_value+' angelegt ','info'); } else { log('HTTP Fehler2','info'); log(JSON.stringify(response), 'error'); } } }); } function fibaro_update_global_var(fibaro_global_name,fibaro_global_value,fibaro_create_when_not_exist=true) { toString(fibaro_global_name); toString(fibaro_global_value); request.put({ url: 'http://'+fibaro_username+':'+fibaro_password+'@'+fibaro_ip+'/api/globalVariables/'+fibaro_global_name, form: '{"name":"'+fibaro_global_name+'","value":"'+fibaro_global_value+'","invokeScenes":true}' }, function(error, response, body) { if (error) { log(error, 'error'); } else { if (response.statusCode == 200) { log('Variable '+ fibaro_global_name+' bei Fibaro mit dem Wert '+fibaro_global_value+' gespeichert ','info'); } else { if(response.statusCode == 404 && fibaro_create_when_not_exist === true) { log('Variable wird angelegt','info'); fibaro_create_global_var(fibaro_global_name,fibaro_global_value); } else { log('HTTP Fehler','info'); log(JSON.stringify(response), 'error'); } } } }); }
In diesem Skript müssen drei Werte konfiguriert werden: Dein Fibaro Username (Admin), Dein Passwort und die IP-Adresse Deines Home Centers. Über “Play” muss das Skript danach noch einmalig gestartet werden. Gib diesem auch einen Namen.
Anschließend legen wir das zweite Skript über den Ordner “common” an. Füge auch dort wieder ein neues Javascript hinzu, in welches Du den folgenden Block einfügst:
/* Bitte lege ein weiteres Script im IOBroker an. Der ordner ist egal, nur nicht der Ordner Global als Javascript. Mit diesem Code kannst Du immer, wenn sich ein State bei ioBroker ändert, dieses auch bei Fibaro ändern lassen. Das Script wurde von Nico Bode von https://www.intelligentes-haus.de entwickelt. Die Anleitung inkl. Video findest du hier: */ on({id: 'harmony.0.Harmony Hub.hubConnected', change: "any"}, function (obj) { var value = obj.state.val; fibaro_update_global_var('harmonyConnected',value,true); });
Dieser Block überwacht unseren Harmony Hub. Alles wieder speichern und auch diesem Skript einen Namen geben.
Als nächstes wollen wir die globale Variable “harmony_connected” weiter beobachten. Dafür benötigen wir folgenden Code, welchen wir in unserem Home Center in das vorgesehene Label für den Status setzen:
local harmonyConnected = tostring(fibaro:getGlobalValue('harmonyConnected')); if(harmonyConnected == 'true') then fibaro:call(760, "setProperty", "ui.harmonyhubstatus.value", "Online"); else fibaro:call(760, "setProperty", "ui.harmonyhubstatus.value", "Offline"); end
Damit dieses funktioniert, muss bei der ID zum Status noch “harmonyhubstatus” eingetragen werden. Auch die ID von Deinem virtuellen Modul muss noch eingetragen werden, damit das Skript weiß, welches Gerät angesprochen werden soll.
Wenn Du nun speicherst, sollte die Statusanzeige in Deiner virtuellen Fernbedienung funktionieren.
Die Daten verwenden
Natürlich kannst Du die Fernbedienung nun über Dein iPhone oder Tablet und über die App nutzen. Gleichzeitig lassen sich die Werte aber auch in einer Szene nutzen. Dafür kannst Du zum Beispiel eine grafische Szene erstellen, in der Du festlegt, dass bei jeder Aktivierung des Lichts im Wohnzimmer auch der Ferneseher angeht. Natürlich lässt sich der Fernseher auch über eine Szene deaktivieren, wenn Du zum Beispiel eine Gute-Nacht-Szene erstellst.
Genauso kann man Alexa-Szenen erstellen. Wie Du solche Szenen erstellst, erklären wir auch in einem Video über Alexa in Verbindung mit dem Bose Soundtouch System, welches Du hier findest!
Die Möglichkeiten sind unbegrenzt. Du kannst die Werte nun aus Deinem Home Center nutzen und auf verschiedenste Weise verwenden.
Hallo Nico,
zuerst mal dickes Lob für diese super Anleitung. Ich werde das am Wochenende direkt mal bei meiner Fibaro HC2 umsetzen.
Ein Bekannter von mir hat das Fibaro Home Center Lite. Leider funktioniert dort ja keine LUA.
Kennst du eine Möglichkeit das Home Center Lite, ohne LUA Szene, mit dem IoBroker zu Verbinden?
Viele Grüße
Chris
Hallo Chris,
es gibt Möglichkeiten das auch mit dem Lite zu machen ist aber deutlich komplizierter – da ja wie du schon sagtest kein Lua zur Verfügung steht.
Das Lesen über die Szene Read from ioBroker wir mit der Lite nicht klappen. Der zweite weg den ich gezeigt habe mit einem Script beim ioBroker anlegen und an Fibaro schicken klappt aber genauso 😉 da Globale Variablen und die Api ja auch dort zur Verfügung stehen.
Send to iobroker ist auch nicht so einfach – über die Lua Szene geht es nicht – aber zumindest in einem Virtuell Device könnte man die ioBroker api auch ansprechen. Dort hat man die Möglichkeit HTTP Befehle auszuführen.
https://manuals.fibaro.com/knowledge-base-browse/creating-virtual-devices/ schau mal das letzte Bild da wird ein Http Request gemacht in einem VD ohne Lua – aber ich muss auch sagen das ich mich damit nie wirklich beschäftigt habe. Aber so könnte man auch die api vom ioBroker ansprechen.
Generell muss man aber sagen: das Lite ist für so Geschichten einfach nicht gebaut.
Vielen Dank für die ausführliche Antwort.
VD mit http Befehl erstellen sollte kein Problem sein. Denke du hast mich da in die richtige Richtung gelenkt.
Ich spiele das ganze mal einfach bei meinem Bekannten durch. Wenn es too much wird dann lassen wir es. Wenn es für mich als nicht Profile ok ist, melde ich mich mal wieder und schildere meine Eindrücke bei dem Lite.
Hallo Nico,
super Artikel. Danke.
Ps: Im Text hat sich ein kleiner Fehler eingeschlichen ….
“… Lege außerdem über das Home Center zwei neue Variablen (über „Steuerungen“ – „Variablensteuerungen“) an: „change_iob_state“ und „change_io_value“.”
Richtig müsste es „change_iob_value“ lauten !
Hallo zusammen
Wozu der Umweg über ioBroker ?
Welchen Vorteil hat das ?
Kann man den TV nicht direkt mit Fibaro ansteuern ?
Mit dem Harmony Hub sollte das doch gehen ?
Io Broker ist doch eine eigenständiges Smarthome System oder versteh ich das falsch ?
Ich verstehe es nicht kann mich einer aufklären ?
Vielen Dank
Hallo,
man kann iobroker als eigenes Smart Home System nutzen das stimmt. Ich nutze es aber anders. Wie im Videos gezeigt hole ich mir so nur Geräte und Funktionen ins Home Center die sonst nicht unterstützt werden bzw. es ein großer Aufwand wäre diese zu implementieren.
Kann man den TV nicht direkt mit Fibaro ansteuern ?
Mit dem Harmony Hub sollte das doch gehen ?
Da zum Beispiel: Fibaro ist natürlich als Hersteller an die Offizielle Logitech API gebunden. Diese ist aber sehr eingeschränkt und kann Aktivitäten nur anschalten. Einzelne Sender oder Lautstärke kann ich damit nicht steuern. Die Community muss nicht den offiziellen weg gehen und deswegen geht das über iobroker und so habe ich das in mein Home Center geholt.
Ein anderer User hat mit diesem Tutorial als Beispiel seine Xioami Staubsaugerroboter in das Fibaro HC2 geholt.
Hallo, ich habe es versucht, aber leider bin ich bei der ersten Szene “Home Center mit ioBroker verbinden schon” auf Fehler gelaufen.
Habe alles so gemacht wie in der Anleitung und folgende Fehler kommen raus.
[DEBUG] 20:49:15: [1;31m2018-10-23 20:49:15.611745 [ error] API: Not found
[DEBUG] 20:49:16: [1;31m2018-10-23 20:49:15.625666 [ error] API: Not found
[DEBUG] 20:49:16: [1;31m2018-10-23 20:49:15.627190 [ fatal] Unknown exception: /opt/fibaro/scenes/42.lua:31: attempt to concatenate local ‘change_iob_value’ (a nil value)
Kannst du mir hier helfen, da ich wohl sonst nicht weiter machen brauche.
Aber dickes lob super Anleitungen auf deiner Seite, Wahnsinn.
Hallo, erst mal ein dickes lob für diese eingehende Beschreibung.
Leider hatte ich aber gleich bei der ersten Szene Probleme weil die API nicht erkannt wurde.
Ich habe die Variablen angelegt, die IP-Adresse geändert und der Port 8087 hat gepasst.
Folgende Fehlermeldung ist aufgetreten.
[DEBUG] 16:25:12: [1;31m2018-10-25 16:25:12.524629 [ error] API: Not found
[DEBUG] 16:25:12: [1;31m2018-10-25 16:25:12.533386 [ error] API: Not found
[DEBUG] 16:25:12: [1;31m2018-10-25 16:25:12.534244 [ fatal] Unknown exception: /opt/fibaro/scenes/41.lua:31: attempt to concatenate local ‘change_iob_value’ (a nil value)
Kannst du hier helfen?
Gruß Micha
Tolle Anleitung, vielen Dank!
Ich habe jetzt eine weitergehende Frage:
Die Möglichkeiten von Biobroker sind in manchen Bereichen besser, ich würde mir zum Beispiel gerne die Daten der Fritzbox im Fibaro HC2 anzeigen lassen.
Jetzt habe ich den adapter eingerichtet und hänge an der Stelle wie man die JSON Daten (zb.Caller Liste) ins HC2 bekommt. Kannst du hier unterstützen?
viele Grüße vom Namensvetter
Nico
Hallo zusammen. ich versuche verzweifelt seit Tagen nach dieser Anleitung meine Ikea Rollos vom Iobroker ins HC2 zubringen… Ohne Erfolg…. Mit der Anleitung hier funktioniert der Harmony Hub testweise super. Kann ich mit dem VD und den Einstellungen problemlos schalten. Versuche ich es aber mit Rollos – anpasst – kommt immer im Lua Debug : starte Scene und dann irgendwas mit Fehler 500 und datenpunkt nicht gefunden… Obwohl ich ihn aus dem Adapter übernommen habe… Hat bitte einer einen Tipp oder kann mir helfen ? Gruß campos
Hallo Nico, vielen Dank für deine tolle Arbeit mit den beiden Produkten und die tollen Videos dazu.
Du beschreibst im Verlauf, dass man mit dem erklärten Skript Werte vom iobroker an HC2 leiten kann.
Ich habe folgende umgekehrte Problematik: zwave Fensterkontakte die in Fibaro tadellos funktionieren, werden im iobroker als Objekte zwar importiert, aber der State wird nicht übermittelt. An was könnte das liegen, und gibt es dazu Lösungen?
Moin moin zusammen.
ioBroker JavaScript Adapter ab v8 fordert die Umstellung von ‘request’ auf ‘httpGet’. (siehe Link)
https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/upgrade-guide.md#request-to-httpget
Hat jemand das JavaScript welches die Funktionen
– fibaro_create_global_var(…)
– fibaro_update_global_var(…)
enthält, von ‘request’ auf ‘httpGet’ erfolgreich umgestellt ?
Trotz Code-Beispiel in o.g. Link traue ich mir das nicht zu, weil in dem Beispiel die Function ‘request’
anders als im genannten Script aufgeführt wird.
Schönen Dank im Voraus.
Peter