Mit 2 IPS-Installtionen auf 1 Z-Wave-Socket zugreifen?

Hallo liebe Z-Wave-Profis, hallo paresy,

ist es möglich mit zwei IPS-Rechnern (1x SymBox und 1x Raspberry) auf einen Z-Wave-Controller (RaZberry) zuzugreifen? Beim HomeMatic-Socket und beim EIB/KNX-Gatteway funktioniert das parallel.

Ich habe zwei IPS-Installationen, die eine für tägliche Routine-Aufgaben (Rollo nach Zeitplan fahren, Lichter und Steckdosen nach Zeitplan schalten, PV-Werte übermitteln usw.) und die zweite nur für das Webfront. Eine Lastverteilung war die ursprüngliche Idee, als eine Installation noch auf einem Windows-Server lief. Außerdem ist die SymBox für die Grundfunktionalitäten und der Raspberry für die Komfort-Funktionen gedacht (auf die man auch mal verzichten kann bei Rechnerausfall).

Nun möchte ich aus beiden Installationen die selben Z-Wave-Steckdosen ansteuern. Leider funktioniert immer nur der erste aktivierte Socket, der zweite bringt eine Fehlermeldung, die ich im Moment leider nicht zitieren kann, da mein Fernzugriff nicht funktioniert.

Als Z-Wave-Controller habe ich ein RaZberry-Modul auf einem Rasperry Pi. Jeweils einzeln funktioniert es einwandfrei.

Weiß jemand eine Möglichkeit hier etwas zu konfigurieren?
Gibt es einen Controller der die „Doppel“-Belegung unterstützt?
Kann das IP-Symcon Z-Wave LAN Gateway parallele Zugriffe?

Ich würde mich über Antworten oder Tipps freuen. Danke.

Viele Grüße aus dem Unterallgäu
Harry

Nein. Das ist unmöglich. Die CCU und KNX können explizit mehrere Verbindungen! Z-Wave Sticks/Gateways können nur eine exklusive Verbindung. Du kannst somit nur über JSON-RPC von einem IP-Symcon auf das andere den Schaltvorgang auslösen.

paresy

Ich habe es fast befürchtet - danke für die sehr schnelle Antwort!

Gibt es irgendwo eine kompakte Doku zur Nutzung der JSON-RPC?

Hier im Forum habe ich einiges dazu schon „überflogen“, aber mangels Notwendigkeit bisher nicht weiter beachtet.

Da muss ich mir dann das Entsprechende zusammensuchen. Im Grunde brauche ich nur die Schaltbefehle und die Statusmeldungen austauschen. :confused:

Nochmals Danke - viele Grüße aus dem Unteralgäu
Harry

Wer suchet, der findet: Datenaustausch — IP-Symcon :: Automatisierungssoftware :slight_smile:

paresy

Na klar - Danke - Du warst deutlich schneller als ich.

Die Doku habe ich gefunden, dachte aber nicht, dass es so einfach sein kann.
Ich werde es ausprobieren, aber ich muss mir aber überlegen wie ich die fast 50 Steckdosen-IDs behandele, denn ich will die ja nicht alle raussuchen und eintippen.

Nochmals Danke für die stets schnelle Antworten. :loveips:

Viele Grüße aus dem Unterallgäu
Harry

Wie eintippen?
Wer macht den so etwas :wink:
Schnellfilter alle markieren mit gedrückter STRG und dann alle IDs mit STRG+C in die Zwischenablage kopieren.

Aber hast schon recht, geht bestimmt auch eleganter und ohne IDs, je nachdem wie du deinen Baum aufgebaut hast.
Michael

Wenn das alles Instanzen vom gleichen Typ sind, hast Du die mit einem kleinen Script schnell rausgefischt.

Schnellfilter alle markieren mit gedrückter STRG und dann alle IDs mit STRG+C in die Zwischenablage kopieren.

Ihr habt natürlich Recht - das ist einfach. Da denkt man gute Skripte zu schreiben und kennt die einfachsten Funktionen im Editor nicht. Irgendwie bin ich manchmal betriebsblind und mache immer den gleichen Stiefel. :banghead:

Auch JSON-RPC war ja viel einfacher wie befürchtet. Variablen lesen und Skript starten funktioniert gemäß Doku. Gibt es eine Möglichkeit ein Array() rüber zu holen?

Ich habe es in der Tat mit einem Ausleseskript hinbekommen. Soweit habe ich getestet (ist aber noch nicht fertig!):

// JSON-RPC Verbindung aufbauen
$rpc = new JSONRPC("http:/user:pwort@ipadr:3777/api/");

// Konfiguration
$PlugsKatID_remote = 12345;   // ID der Steckdosen-Kategorie bzw. -Dummymoduls

// IDs aller Z-Wave-Plugs / Umsetzung Name to Device-ID
$deviceIDs_remote = array();

// alle Instanzen = Devices einlesen
$devices_remote = $rpc->IPS_GetChildrenIDs($PlugsKatID_remote);
//print_r($devices_remote);

// alle Instanzen durchlaufen / ID und Name ermitteln
for($i=0; $i<count($devices_remote); $i++) {
	$device_id_remote = $devices_remote[$i];
	$device_name_remote = utf8_decode($rpc->IPS_GetName($device_id_remote));
	$deviceIDs_remote[$device_remote] = $device_id_remote;
	echo $device_name_remote.":".$device_id_remote."
";
}
...


@paresy: In der Doku steht noch Port 82!

Danke für Eure Hilfe.

Viele Grüße aus dem Unterallgäu
Harry