Wert-/Zustandsübergabe von einer CCU an eine andere CCU

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

paul53
Beiträge: 2451
Registriert: 26.04.2012, 20:42
Wohnort: Berlin

Wert-/Zustandsübergabe von einer CCU an eine andere CCU

Beitrag von paul53 » 04.09.2013, 16:53

Mit folgendem HM Script lassen sich Werte / Zustände von Systemvariablen einer CCU an SV einer anderen CCU über das Netzwerk übergeben.
Die Ziel-SV muss vom gleichen Typ sein wie die Quell-SV. Mit SV vom Typ "Zeichenkette" funktioniert es allerdings nicht.

Code: Alles auswählen

var x = dom.GetObject("Quell-SV").Value();
string url='http://xxx.xxx.xxx.xxx:8181/a.exe?y=dom.GetObject("Ziel-SV").State('#x#')';
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - '"#url#"'");
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

alchy
Beiträge: 7711
Registriert: 24.02.2011, 01:34

Re: Wert-/Zustandsübergabe von einer CCU an eine andere CCU

Beitrag von alchy » 05.09.2013, 00:05

Ich habe zwar keine 2. CCU aber interessenhalber über xmlapi / Folgendes sollte es auch gehen, oder ?

Code: Alles auswählen

var source = dom.GetObject("NAME_DER_SYSVAR_HIER");
    string url="'http://IP.DEINER.WEG.CCU./config/xmlapi/statechange.cgi?ise_id=?????&new_value='"#source.Value();
    dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null " # url);
Alchy

.................... Full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
Monty1979
Beiträge: 841
Registriert: 28.10.2010, 20:47
Wohnort: Bremen
Kontaktdaten:

Re: Wert-/Zustandsübergabe von einer CCU an eine andere CCU

Beitrag von Monty1979 » 09.09.2014, 11:25

alchy hat geschrieben: Folgendes sollte es auch gehen, oder ?
Na dann Antworte ich dir mal auch wenn es schon etwas her ist :lol:

ja, über die API geht das auch

alchy
Beiträge: 7711
Registriert: 24.02.2011, 01:34

Re: Wert-/Zustandsübergabe von einer CCU an eine andere CCU

Beitrag von alchy » 09.09.2014, 20:33

Monty1979 hat geschrieben:...auch wenn es schon etwas her ist... :lol:
Cool - ein Jahr ist vorbei. Hier wird nix vergessen. :lol:

Danke Dir Monty1979

Alchy

.................... Full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

bibo09
Beiträge: 152
Registriert: 30.03.2015, 17:34

Re: Wert-/Zustandsübergabe von einer CCU an eine andere CCU

Beitrag von bibo09 » 11.08.2018, 02:10

@ alchy

gibt es auch einen Ansatz wenn zwei CCU sich in
unterschiedlichen Netzwerken befinden?

Gruß
bibo

Xel66
Beiträge: 4234
Registriert: 08.05.2013, 23:33
Wohnort: Nordwürttemberg

Re: Wert-/Zustandsübergabe von einer CCU an eine andere CCU

Beitrag von Xel66 » 11.08.2018, 02:38

bibo09 hat geschrieben:
11.08.2018, 02:10
...zwei CCU sich in unterschiedlichen Netzwerken ...
Ja, ohne Werbung machen zu wollen CloudTrigger kann sowas. Voraussetzung ist, dass die empfangende CCU via cloudmatic erreichbar ist. Ich nutze es selbst nicht, da ich dafür keinen Anwendungsfall habe.

Grundsätzlich arbeiten aber alle Apps, die sich via eines solchen Zugangs in die CCU einloggen auf diese Weise und können Status auf der CCU sowohl auslesen als auch setzen, auf diese Weise.

Gruß Xel66
---------------------------------------------------------------------------------
242 Kanäle in 89 Geräten und 125 CUxD-Kanäle in 23 CUxD-Geräten,
210 Programme, 145 Systemvariablen und 119 Direktverknüpfungen,
RaspberryMatic Version 2.31.25.20180225
---------------------------------------------------------------------------------

alchy
Beiträge: 7711
Registriert: 24.02.2011, 01:34

Re: Wert-/Zustandsübergabe von einer CCU an eine andere CCU

Beitrag von alchy » 11.08.2018, 04:42

Natürlich geht das auch in unterschiedlichen Netzen. Musst ja nur eine Verbindung Z. B. Per VPN errichten.

Alchy

.................... Full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

bibo09
Beiträge: 152
Registriert: 30.03.2015, 17:34

Re: Wert-/Zustandsübergabe von einer CCU an eine andere CCU

Beitrag von bibo09 » 11.08.2018, 08:37

Moin,
die VPN Verbindung steht.
Jetzt möchte ich gerne ein paar Wettervariablen
wie z.b Wind,Regen usw. an die andere CCU übergeben.
Hat einer ein Beispiel Skript?

alchy
Beiträge: 7711
Registriert: 24.02.2011, 01:34

Re: Wert-/Zustandsübergabe von einer CCU an eine andere CCU

Beitrag von alchy » 11.08.2018, 16:59

Das Script oben hast du probiert?

Alchy

.................... Full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

bibo09
Beiträge: 152
Registriert: 30.03.2015, 17:34

Re: Wert-/Zustandsübergabe von einer CCU an eine andere CCU

Beitrag von bibo09 » 13.08.2018, 08:03

Hi Alchy,
ja das Script funktioniert:)

Code: Alles auswählen

var x = dom.GetObject("Quell-SV").Value(); string url='http://xxx.xxx.xxx.xxx:8181/a.exe?y=dom.GetObject("Ziel-SV").State('#x#')'; dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - '"#url#"'"); 
Wie muss das Script angepasst werden,
wenn ich statt eine Variable gleichzeitig 20 Variablen übergeben möchte?

Gruß
bibo

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“