Systemvariable an eine zweite CCU senden
Moderator: Co-Administratoren
-
- Beiträge: 21
- Registriert: 15.04.2021, 15:24
- System: CCU und Access Point
- Hat sich bedankt: 4 Mal
Systemvariable an eine zweite CCU senden
Leider finde ich keinen Ansatz wie ich hier weiter kommen soll.
Ich möchte Systemvariablen von einer CCU zur andern schicken.
Beide befinden sich im selben Netzwerk. Hat von euch schon mal Jemand sowas Gemacht?
Gruß Markus
Ich möchte Systemvariablen von einer CCU zur andern schicken.
Beide befinden sich im selben Netzwerk. Hat von euch schon mal Jemand sowas Gemacht?
Gruß Markus
-
- Beiträge: 9678
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1626 Mal
Re: Systemvariable an eine zweite CCU senden
Versuch es mit :
Code: Alles auswählen
http://IP.der.CCU.2:8181/x.exe?senden=dom.GetObject("SV-Name").State("String")
http://IP.der.CCU.2:8181/x.exe?senden=dom.GetObject("SV-Name").State(Zahl)
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
-
- Beiträge: 550
- Registriert: 17.04.2021, 17:12
- System: CCU
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 125 Mal
Re: Systemvariable an eine zweite CCU senden
sollte man sich das nicht gleich besser so angewöhnen:
Code: Alles auswählen
http://IP.der.CCU.2:8181/x.exe?senden=dom.GetObject (ID_SYSTEM_VARIABLES).Get("SV-Name").State("String");
http://IP.der.CCU.2:8181/x.exe?senden=dom.GetObject (ID_SYSTEM_VARIABLES).Get("SV-Name").State(Zahl);
Gruß
Harry
Harry
-
- Beiträge: 21
- Registriert: 15.04.2021, 15:24
- System: CCU und Access Point
- Hat sich bedankt: 4 Mal
Re: Systemvariable an eine zweite CCU senden
Sorry funzt nicht:
Error 1 at row 2 col 5 near ^://30.4.78.245:8181/x.exe?senden=dom.GetObject("PV-Test").State("String")
http:/
Parse following code failed:
http://30.4.78.245:8181/x.exe?senden=do ... te("String")
http://30.4.78.245:8181/x.exe?senden=do ... tate(Zahl)
Gruß Markus
Error 1 at row 2 col 5 near ^://30.4.78.245:8181/x.exe?senden=dom.GetObject("PV-Test").State("String")
http:/
Parse following code failed:
http://30.4.78.245:8181/x.exe?senden=do ... te("String")
http://30.4.78.245:8181/x.exe?senden=do ... tate(Zahl)
Gruß Markus
-
- Beiträge: 21
- Registriert: 15.04.2021, 15:24
- System: CCU und Access Point
- Hat sich bedankt: 4 Mal
Re: Systemvariable an eine zweite CCU senden
Hallo TyfysTyfys hat geschrieben: ↑20.06.2022, 11:35sollte man sich das nicht gleich besser so angewöhnen:
Code: Alles auswählen
http://IP.der.CCU.2:8181/x.exe?senden=dom.GetObject (ID_SYSTEM_VARIABLES).Get("SV-Name").State("String"); http://IP.der.CCU.2:8181/x.exe?senden=dom.GetObject (ID_SYSTEM_VARIABLES).Get("SV-Name").State(Zahl);
Kommt leider die selbe Fehlermeldung
- Roland M.
- Beiträge: 9804
- Registriert: 08.12.2012, 15:53
- System: CCU
- Wohnort: Graz, Österreich
- Hat sich bedankt: 252 Mal
- Danksagung erhalten: 1381 Mal
Re: Systemvariable an eine zweite CCU senden
Hallo!
Allerdings habe ich meine Zweifel an der IP! Das ist eine öffentliche IP (30.0.0.0/8 DoD Network Information Center, Columbus, Ohio), ich hoffe, du hast deine CCU nicht per Portforwarding exponiert - wenn ja, dann sofort löschen!. Nimm da die IP-Adresse im lokalen Netzwerk.
Roland
Du musst den Befehl natürlich als Script noch in ein system.Exec() "verpacken", zum Test kannst du den Befehl aber direkt in einem Browser ausführen.MarkusSchickaneder hat geschrieben: ↑20.06.2022, 11:37Sorry funzt nicht:
Error 1 at row 2 col 5 near ^://30.4.78.245:8181/x.exe?senden=dom.GetObject("PV-Test").State("String")
Allerdings habe ich meine Zweifel an der IP! Das ist eine öffentliche IP (30.0.0.0/8 DoD Network Information Center, Columbus, Ohio), ich hoffe, du hast deine CCU nicht per Portforwarding exponiert - wenn ja, dann sofort löschen!. Nimm da die IP-Adresse im lokalen Netzwerk.
Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
- Bezeichnung (HM-... bzw. HmIP-...) der betroffenen Geräte angeben (nicht Artikelnummer)
- Kurzbeschreibung des Soll-Zustandes (Was soll erreicht werden?)
- Kurzbeschreibung des Ist-Zustandes (Was funktioniert nicht?)
- Fehlermeldungen genau abschreiben, besser noch...
- Screenshots von Programmen, Geräteeinstellungen und Fehlermeldungen (direkt als jpg/png) einstellen!
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
- Baxxy
- Beiträge: 10826
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 607 Mal
- Danksagung erhalten: 2225 Mal
Re: Systemvariable an eine zweite CCU senden
Na dann machen wir doch mal Nägel mit Köpfen...
Code: Alles auswählen
!- SysVar-Inhalt von Zentrale A auf Zentrale B "kopieren"
!- v1.1 by Baxxy 14.06.23
!- https://homematic-forum.de/forum/viewtopic.php?f=19&t=74606#p722724
string remote_user_name = "Admin";
string remote_user_pw = "admin";
string local_sysvar_name = "A_Test_SysVar_Text"; !- Name der lokalen SysVar
string remote_sysvar_name = "SysVar_Remote_Text"; !- Name der remote SysVar
string remote_ip_addr = "192.168.1.96"; !- IP-Adresse remote Zentrale
boolean write_remote = true; !- Daten übertragen ja (true) / nein (false)
!- Testdaten falls die lokale SysVar nicht existent ist
var data_value = "test123"; !- Testdaten als String: "test123" / Zahl: 123.45 / Logik: true | false
!- ####################################################
object source_sysvar = dom.GetObject (ID_SYSTEM_VARIABLES).Get (local_sysvar_name);
boolean use_basic_auth; string url; var vartype; string auth_string;
if (( remote_user_name ) && ( remote_user_pw )) { auth_string = remote_user_name #":"# remote_user_pw #"@"; }
if ( source_sysvar ) { data_value = source_sysvar.Value(); }
vartype = data_value.Type();
if ( vartype == "string" ) { data_value = '"'# data_value #'"'; }
url = 'http://'# auth_string # remote_ip_addr #':8181/bx.exe?y=dom.GetObject("'# remote_sysvar_name #'").State('# data_value #')';
WriteLine("Daten-Format: "# vartype #"\nAusgabe-URL -kann im Browser getestet werden- : "# url);
if ( write_remote ) { system.Exec("wget --tries=2 --timeout=2 -q '" # url # "' &"); WriteLine("Daten gesendet!"); }
Getestet nur mit Text/Zahl/Logik - SysVars.
Die "Remote-SysVar" wird nicht auf Vorhandensein und Typ geprüft!
Wer z.B. eine Zahl in eine Text-SysVar schreibt ist selbst schuld.
Zuletzt geändert von Baxxy am 14.06.2023, 19:22, insgesamt 2-mal geändert.
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
-
- Beiträge: 550
- Registriert: 17.04.2021, 17:12
- System: CCU
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 125 Mal
Re: Systemvariable an eine zweite CCU senden
Hallo Baxxy
Wer eine schliessende Klammer verbummelt ist auch selbst Schuld.....
Hast du nicht sogar den SDV ?
Wer eine schliessende Klammer verbummelt ist auch selbst Schuld.....
Code: Alles auswählen
WriteLine("Daten-Format: "# vartype #"\nAusgabe-URL: "# url;
Gruß
Harry
Harry
- Black
- Beiträge: 5480
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 424 Mal
- Danksagung erhalten: 1074 Mal
- Kontaktdaten:
Re: Systemvariable an eine zweite CCU senden
Joah, so ein WriteLine braucht auch eine schliessende Klammer.
der SDV zeigt den Fehler übrigens an ^^
Black
der SDV zeigt den Fehler übrigens an ^^
Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
- Baxxy
- Beiträge: 10826
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 607 Mal
- Danksagung erhalten: 2225 Mal
Re: Systemvariable an eine zweite CCU senden
Ja sowas aber auch... wer hat die Klammer gemopst?
Habe das Script korrigiert.
Ja, wurde mit dem SDV produziert. Aber im "Hardcore-Modus" ohne jegliche Hilfsfunktionen.
Grüße, Baxxy
Habe das Script korrigiert.
Ja, wurde mit dem SDV produziert. Aber im "Hardcore-Modus" ohne jegliche Hilfsfunktionen.
Grüße, Baxxy