Daten von Raspberry an CCU3 senden oder empfangen
Moderator: Co-Administratoren
- Black
- Beiträge: 5483
- 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: Daten von Raspberry an CCU3 senden oder empfangen
joah, passt, aber s. o.
dann noch:
... die berühmten firewalleinstellungen ?
remote homematik script api ? auf was steht das ? vollzugriff = ok
kein zugriff = wäre schade, dann tut das am jüngsten tag imme rnoch net
eingeschrängt: dann musste die IP des raspi freigegeben haben
dann Firewallrichtlinie, was steht da
ports offen ?
ports blockiert ? dann solltest du den port 8181 auch separat unter portfreigabe freigeben.
hats du authentifizierung bei dir ein ? dann weiss ich net wies mit curl geht. synapse hilft dir in dem moment nicht weiter.
bevor da nu fehler suchst, guck erst mal, dass du den externen scripting weg überhaupt frei hast
dann noch:
... die berühmten firewalleinstellungen ?
remote homematik script api ? auf was steht das ? vollzugriff = ok
kein zugriff = wäre schade, dann tut das am jüngsten tag imme rnoch net
eingeschrängt: dann musste die IP des raspi freigegeben haben
dann Firewallrichtlinie, was steht da
ports offen ?
ports blockiert ? dann solltest du den port 8181 auch separat unter portfreigabe freigeben.
hats du authentifizierung bei dir ein ? dann weiss ich net wies mit curl geht. synapse hilft dir in dem moment nicht weiter.
bevor da nu fehler suchst, guck erst mal, dass du den externen scripting weg überhaupt frei hast
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
-
- Beiträge: 269
- Registriert: 14.11.2018, 20:43
- System: CCU
- Wohnort: Bayern
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 17 Mal
Re: Daten von Raspberry an CCU3 senden oder empfangen
Code: Alles auswählen
http://192.168.xxx.xx:8181/alchy.exe?sagt=(dom.GetObject(ID_SYSTEM_VARIABLES)).Get(14478).State(%2260%22);
Habe es im Browser eingegeben und siehe da der Wert steht in der richtigen Variable ???
Keine Ahnung wieso aber es funzt
Gruß André
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: Daten von Raspberry an CCU3 senden oder empfangen
Weil "State" einen Wert setzt und "Value" ihn nur ausliest.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 26
- Registriert: 10.05.2013, 08:13
Re: Daten von Raspberry an CCU3 senden oder empfangen
und wie ist der Syntax beim auslesen der Systemvariablen ?
Anstelle .State .Value funktioniert bei mir nicht. Verbindungen und Freigaben funktionieren.
Ich möchte gerne Variablenwerte aus der CCU3-Homematic in ein Python Skript einlesen, das auf einem Raspberry läuft.
Das Schreiben funktioniert. Hier lese ich mit dem Raspberry Bluetooth Pflanzen Sensoren von MiFlora aus um damit das Licht über Homematic zu steuern.
Anstelle .State .Value funktioniert bei mir nicht. Verbindungen und Freigaben funktionieren.
Ich möchte gerne Variablenwerte aus der CCU3-Homematic in ein Python Skript einlesen, das auf einem Raspberry läuft.
Das Schreiben funktioniert. Hier lese ich mit dem Raspberry Bluetooth Pflanzen Sensoren von MiFlora aus um damit das Licht über Homematic zu steuern.
Code: Alles auswählen
# Homematic Adresse
HOMEMATIC_URL_TEMPLATE = (
'http://192.168.xx.xx:8181/egal.exe?x=dom.GetObject("{}").State({})'
)
def main():
.
# bluetooth sensoren auslesen
values, sensors, sender_id = get_bluetooth_sensors(MIFLORA_MAC_ADDRESS_01)
.
# sensors = Liste mit Systemvariablen für die Sensoren, values = Werte der Sensoren
responses = save_homematic(sensors, values)
# Funktion zum Schreiben der Sensorwerte in Homematic Variablen.
def save_homematic(sensors,values):
responses = [
requests.get(HOMEMATIC_URL_TEMPLATE.format(homematic_name, value))
for (_, homematic_name), value in zip(sensors, values)
]
return(responses)
------------------------------------------------------------------
107 Kanäle in 38 Geräten:
1x HM-Sec-MDIR, 1x HM-RC-19, 1x HMIP-SWDO, 2x HM-OU-CFM-Pl, 3x HM-CC-TC, 1x HmIP-eTRV-2, 3x HM-CC-VD, 1x HM-WDS40-TH-I, 1x HmIP-WRC6, 5x HM-LC-Sw1-Pl-2, 1x HM-Sen-DB-PCB, 1x HM-RC-P1, 1x HM-Sec-SD, 3x HM-Sec-SD-2, 1x HM-Sec-SD-2-Team, 3x HmIP-BROLL, 1x HM-LC-Dim1TPBU-FM, 1x HM-LC-Dim1T-Pl-2, 1x HM-SwI-3-FM, 1x HM-WDS30-OT2-SM-2, 1x HM-Sec-SCo, 2x HM-PB-2-WM55, 1x HM-WDS100-C6-O
107 Kanäle in 38 Geräten:
1x HM-Sec-MDIR, 1x HM-RC-19, 1x HMIP-SWDO, 2x HM-OU-CFM-Pl, 3x HM-CC-TC, 1x HmIP-eTRV-2, 3x HM-CC-VD, 1x HM-WDS40-TH-I, 1x HmIP-WRC6, 5x HM-LC-Sw1-Pl-2, 1x HM-Sen-DB-PCB, 1x HM-RC-P1, 1x HM-Sec-SD, 3x HM-Sec-SD-2, 1x HM-Sec-SD-2-Team, 3x HmIP-BROLL, 1x HM-LC-Dim1TPBU-FM, 1x HM-LC-Dim1T-Pl-2, 1x HM-SwI-3-FM, 1x HM-WDS30-OT2-SM-2, 1x HM-Sec-SCo, 2x HM-PB-2-WM55, 1x HM-WDS100-C6-O
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Daten von Raspberry an CCU3 senden oder empfangen
. State() ist zum Schreiben da und nicht. Value()
Alchy
Alchy
Blacklist................... almost 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.
-
- Beiträge: 26
- Registriert: 10.05.2013, 08:13
Re: Daten von Raspberry an CCU3 senden oder empfangen
@Alchy
Klar. Das Schreiben funktioniert ja auch problemlos mit .State() -> Homematic Template
Nur wie ist der Syntax zu Lesen ?
Klar. Das Schreiben funktioniert ja auch problemlos mit .State() -> Homematic Template
Nur wie ist der Syntax zu Lesen ?
------------------------------------------------------------------
107 Kanäle in 38 Geräten:
1x HM-Sec-MDIR, 1x HM-RC-19, 1x HMIP-SWDO, 2x HM-OU-CFM-Pl, 3x HM-CC-TC, 1x HmIP-eTRV-2, 3x HM-CC-VD, 1x HM-WDS40-TH-I, 1x HmIP-WRC6, 5x HM-LC-Sw1-Pl-2, 1x HM-Sen-DB-PCB, 1x HM-RC-P1, 1x HM-Sec-SD, 3x HM-Sec-SD-2, 1x HM-Sec-SD-2-Team, 3x HmIP-BROLL, 1x HM-LC-Dim1TPBU-FM, 1x HM-LC-Dim1T-Pl-2, 1x HM-SwI-3-FM, 1x HM-WDS30-OT2-SM-2, 1x HM-Sec-SCo, 2x HM-PB-2-WM55, 1x HM-WDS100-C6-O
107 Kanäle in 38 Geräten:
1x HM-Sec-MDIR, 1x HM-RC-19, 1x HMIP-SWDO, 2x HM-OU-CFM-Pl, 3x HM-CC-TC, 1x HmIP-eTRV-2, 3x HM-CC-VD, 1x HM-WDS40-TH-I, 1x HmIP-WRC6, 5x HM-LC-Sw1-Pl-2, 1x HM-Sen-DB-PCB, 1x HM-RC-P1, 1x HM-Sec-SD, 3x HM-Sec-SD-2, 1x HM-Sec-SD-2-Team, 3x HmIP-BROLL, 1x HM-LC-Dim1TPBU-FM, 1x HM-LC-Dim1T-Pl-2, 1x HM-SwI-3-FM, 1x HM-WDS30-OT2-SM-2, 1x HM-Sec-SCo, 2x HM-PB-2-WM55, 1x HM-WDS100-C6-O
-
- Beiträge: 26
- Registriert: 10.05.2013, 08:13
Re: Daten von Raspberry an CCU3 senden oder empfangen
Die Frage hat sich erledigt.
Der Aufruf ist:
Die Datenpunkte der Variablen kann man sich mit:
anzeigen lassen.
Das Python Skript dazu post ich sobald ich es auisgetestet habe.
Der Aufruf ist:
Code: Alles auswählen
http://meine.CCU.IP/config/xmlapi/state.cgi?datapoint_id=
Code: Alles auswählen
http://meine.ccu.ip/config/xmlapi/sysvarlist.cgi
Das Python Skript dazu post ich sobald ich es auisgetestet habe.
------------------------------------------------------------------
107 Kanäle in 38 Geräten:
1x HM-Sec-MDIR, 1x HM-RC-19, 1x HMIP-SWDO, 2x HM-OU-CFM-Pl, 3x HM-CC-TC, 1x HmIP-eTRV-2, 3x HM-CC-VD, 1x HM-WDS40-TH-I, 1x HmIP-WRC6, 5x HM-LC-Sw1-Pl-2, 1x HM-Sen-DB-PCB, 1x HM-RC-P1, 1x HM-Sec-SD, 3x HM-Sec-SD-2, 1x HM-Sec-SD-2-Team, 3x HmIP-BROLL, 1x HM-LC-Dim1TPBU-FM, 1x HM-LC-Dim1T-Pl-2, 1x HM-SwI-3-FM, 1x HM-WDS30-OT2-SM-2, 1x HM-Sec-SCo, 2x HM-PB-2-WM55, 1x HM-WDS100-C6-O
107 Kanäle in 38 Geräten:
1x HM-Sec-MDIR, 1x HM-RC-19, 1x HMIP-SWDO, 2x HM-OU-CFM-Pl, 3x HM-CC-TC, 1x HmIP-eTRV-2, 3x HM-CC-VD, 1x HM-WDS40-TH-I, 1x HmIP-WRC6, 5x HM-LC-Sw1-Pl-2, 1x HM-Sen-DB-PCB, 1x HM-RC-P1, 1x HM-Sec-SD, 3x HM-Sec-SD-2, 1x HM-Sec-SD-2-Team, 3x HmIP-BROLL, 1x HM-LC-Dim1TPBU-FM, 1x HM-LC-Dim1T-Pl-2, 1x HM-SwI-3-FM, 1x HM-WDS30-OT2-SM-2, 1x HM-Sec-SCo, 2x HM-PB-2-WM55, 1x HM-WDS100-C6-O
-
- Beiträge: 26
- Registriert: 10.05.2013, 08:13
Re: Daten von Raspberry an CCU3 senden oder empfangen
Die Abfrage in Python auf die Schnelle :
Geht nur mit SysVars, da bei Geräten der Rückgabestring etwas anders aussieht.
Geht nur mit SysVars, da bei Geräten der Rückgabestring etwas anders aussieht.
Code: Alles auswählen
# Homematic Adresse
HOMEMATIC_GET_TEMPLATE = ('http://meine.ccu.ip/config/xmlapi/state.cgi?datapoint_id={}')
def main():
datapoint = "SysvarID" # id der SysVar aus http://meine.ccu.ip/config/xmlapi/sysvarlist.cgi
value = get_homematic(datapoint) # Rückgabe als String (True, False, Text oder Zahl im float format
.
.
# print(value) # oder was auch immer
# falls Rückgabe als Zahl -> zu int konvertieren mit: wert = int(float(value))
# Funktion um Systemvariablen von Homematic holen
def get_homematic(datapoint):
responses = requests.get(HOMEMATIC_GET_TEMPLATE.format(datapoint))
result = responses.text # Rückgabe von CCU als string
# im Format responses.text = '<?xml version="1.0" encoding="ISO-8859-1" ?><state><datapoint ise_id='18719' value='21.600000'/></state'
# daraus dann den Wert extrahieren
value= result[result.find('value') +7 : result.find('/') -1] # suche nach value +7 zeichen und / -1 Zeichen und das dazwischen ausgeben
return(value)
------------------------------------------------------------------
107 Kanäle in 38 Geräten:
1x HM-Sec-MDIR, 1x HM-RC-19, 1x HMIP-SWDO, 2x HM-OU-CFM-Pl, 3x HM-CC-TC, 1x HmIP-eTRV-2, 3x HM-CC-VD, 1x HM-WDS40-TH-I, 1x HmIP-WRC6, 5x HM-LC-Sw1-Pl-2, 1x HM-Sen-DB-PCB, 1x HM-RC-P1, 1x HM-Sec-SD, 3x HM-Sec-SD-2, 1x HM-Sec-SD-2-Team, 3x HmIP-BROLL, 1x HM-LC-Dim1TPBU-FM, 1x HM-LC-Dim1T-Pl-2, 1x HM-SwI-3-FM, 1x HM-WDS30-OT2-SM-2, 1x HM-Sec-SCo, 2x HM-PB-2-WM55, 1x HM-WDS100-C6-O
107 Kanäle in 38 Geräten:
1x HM-Sec-MDIR, 1x HM-RC-19, 1x HMIP-SWDO, 2x HM-OU-CFM-Pl, 3x HM-CC-TC, 1x HmIP-eTRV-2, 3x HM-CC-VD, 1x HM-WDS40-TH-I, 1x HmIP-WRC6, 5x HM-LC-Sw1-Pl-2, 1x HM-Sen-DB-PCB, 1x HM-RC-P1, 1x HM-Sec-SD, 3x HM-Sec-SD-2, 1x HM-Sec-SD-2-Team, 3x HmIP-BROLL, 1x HM-LC-Dim1TPBU-FM, 1x HM-LC-Dim1T-Pl-2, 1x HM-SwI-3-FM, 1x HM-WDS30-OT2-SM-2, 1x HM-Sec-SCo, 2x HM-PB-2-WM55, 1x HM-WDS100-C6-O