NEWS
Empfehlungen für autarke Z-Wave Zentrale
-
@Ja-rod Gut, dein Hub versteht Dich...
Für die nächsten Schritte benötigst du die Script Engine. Hast du schon eine Instanz laufen? javascript.0. ?
Dort legst du ein neues Script an mit dem Inhalt aus ZWayVorbereitung.js aus der Repository von oben. Einmal laufen lassen. Dann solltest du die neuen Datenpunkt bei den Objekten finden und diese anpassen. -
@nordstern19_72 Noch einige Fragen zu den Angaben in diesem Vorbereitungsskript
-
ZwayNamensraum: Ich lege vorher unter Javascript.0. einen Ordner Zway an und trage dann ins Script "JavaScript.0.Zway" ein, oder?
-
Zway Port : Trage ich hier die IP meines Iobrokers inkl. Den Port 8081 ein, oder nur den Port oder ganz was anderes?
Ich habe auch schon auf dem HUB die http -Bridge installiert, da ich sofort die Änderungen mitbekommen will. Ich hätte jetzt dort die Adresse des Iobrokers eingetragen.
Entschuldige die vielen Fragen, muss mich in solche Themen eher reinfuchsen, da ich darüber nur ein eingeschränktes Wissen habe.
Gruß
Ja.rod -
-
@Ja-rod Im ZwayNamensraum nur einen Namen für den Unterordner. Im ZwayPort kommt ein nicht benutzter Port für den Empfänger(express) im ioBroker rein. Dahin sendet dann die HTTP-Bridge App auf dem Hub. Das machen wir aber später. Nach dem Vorbereitungsskript sollte das so aussehen...
Ist bei mir nur auf neu-deutsch. Jetzt kommt das Script "HoleDevice" dran. Wenn das fehlerfrei läuft hast du alle vDevs aus ZWay unter dem Ordner. Sieht bei mir so aus...
Klappt das?
-
@nordstern19_72 Die Geräte werden leider nicht geholt. Ich habe jetzt nochmal die Einstellungen überprüft, da passt alles. Das LOG des iobrokers gibt den Fehler"Null401" aus. Sagt dir das etwas?
-
@Ja-rod Ein "401" bedeutet bei http "Unauthorisiert" - Zugriff nicht erlaubt. Hast du dieselben User-Daten in die DPs eingetragen mit denen du dich an ZWay anmeldest? In Zway muss diesem Benutzer mindestens die Rolle des Benutzers gesetzt sein.
Der gesamte Abruf der vDevices im Browser zum Testen lautet:
http://DeineIP:8083/ZAutomation/api/v1/devices?since=1
Rufe ich das auf, muss ich User und Passwort von ZWay eingeben. Danach werden die Daten ausgegeben als json. Sollte so in der Art aussehen.
-
@nordstern19_72 sagte in Empfehlungen für autarke Z-Wave Zentrale:
Hat etwas gedauert, da ich unterwegs war. Ich werde beim Aufruf nicht nach meinen Zugangsdaten gefragt. Als "Rückantwort" bekomme ich den Fehlercode 401 und den Fehler "Not logged in". Sobald ich mich aber auf dem Hub einlogge und dann im Browser diese Befehlszeile aufrufe bekomme ich alle Geräte wie in deinem Beispiel angezeigt. Ich vermute es hängt doch irgendwie mit den unterschiedlichen Versionen der HUB-Software zusammen.
-
@Ja-rod Hm, nee, die API ist so schon sehr lange in Z-Way.
Hast du einen neuen Benutzer angelegt in Z-Way? Sind alle Räume und Devices dem Benutzer zugeordnet?Das Problem scheint in der Berechtigung zu liegen.
-
@nordstern19_72 Entschuldige dass ich mich nicht mehr gemeldet habe. Es lag an der auf dem Gateway installierten Software. Nachdem ich jetzt die aktuellste drauf habe klappt es jetzt auch mit dem Zugriff. Jetzt kann ich mich endlich darum kümmern die Zwave Geräte auch zu steuern.
Gruß
Ja.rod -
@nordstern19_72
Hast du ein Beispiel für mich wie ich nun einen Befehl an Z-Way sende?
Im iobroker finde ich jetzt die einzelnen Geräte. Ist dir bekannt ob es auch möglich ist mit deinem Script einen speziellen Parameter eines "Geräts" anzusteuern und zu verändern? In meinem Fall setzt sich das "Device" in der Smarthome-View aus vielen einzelnen "Devieces" zusammen, da es dieses in der Form noch nicht bei Z-Wave gibt (Ventil, Durchflussmesser,....). In der Expert-View allerdings nur aus einem "Device", in dieser Sicht kann ich auch den Parameter entsprechend ändern.Gruß
Ja.rod -
@Ja-rod Klasse das es jetzt funktioniert.
Um jetzt die Geräte in ZWay zu steuern ist es das Skript "ZwaySendeAnDevice" aus dem Repository von mir.
Wenn du das in dem globalen Ordner erstellst, hast du die Funktionen ja in jedem anderen Skript zur Verfügung.
Es ist leider nicht möglich mit einer Änderung am DP in ioBroker auf das Gerät in ZWay zu schreiben.Ein Beispiel für ein Doppel-Relais von Fibaro:
'use strict'; let InstanzQuelle = 'system.adapter.javascript.' + instance; on({id:'0_userdata.0.Galerie.Lichtschaltung.BWM', change:'ne', fromNe: InstanzQuelle}, function(dp){ if(dp.state.val){ setDevice('ZWayVDev_zway_25-1-37', 'on'); }else{ setDevice('ZWayVDev_zway_25-1-37', 'off'); } }) on({id:'javascript.0.ZWay.ZWayVDev_zway_25-1-37.metrics.level', change:'ne', from: InstanzQuelle}, function(dp){ if(dp.state.val == 'on'){ setState('0_userdata.0.Galerie.Lichtschaltung.BWM', true); }else{ setState('0_userdata.0.Galerie.Lichtschaltung.BWM', false); } }) on({id:'0_userdata.0.Galerie.Lichtschaltung.Licht', change:'ne', fromNe: InstanzQuelle}, function(dp){ if(dp.state.val){ setDevice('ZWayVDev_zway_25-2-37', 'on'); }else{ setDevice('ZWayVDev_zway_25-2-37', 'off'); } }) on({id:'javascript.0.ZWay.ZWayVDev_zway_25-2-37.metrics.level', change:'ne', from: InstanzQuelle}, function(dp){ if(dp.state.val == 'on'){ setState('0_userdata.0.Galerie.Lichtschaltung.Licht', true); }else{ setState('0_userdata.0.Galerie.Lichtschaltung.Licht', false); } })
SetDevice() ist die Funktion um ein Kommando an ZWay zusenden. Parameter ist einmal das Device als String und das Kommando als String.
Was möglich bzw. erlaubt ist kannst du bei den RegEx Ausdrücken am Anfang des Skriptes sehen.
Im Beispiel gibt es noch einen DP, den ich in der VIS verwende, um von beiden Seiten aus hin- und herzuschalten kann.Gruß
Nordstern