Über welches Protokoll mit der CCU3 per Skript reden

Nutzung von XML RPC, Remote Script, JSON RPC, XMLAPI

Moderator: Co-Administratoren

Benutzeravatar
Baxxy
Beiträge: 10850
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 610 Mal
Danksagung erhalten: 2230 Mal

Re: Über welches Protokoll mit der CCU3 per Skript reden

Beitrag von Baxxy » 17.01.2024, 15:26

Sehr schöne Ausführungen, Danke Mathias.

Ich muss aber mal nachhaken... :wink:

Es liest sich ja so als wolle der TE die Wochenprogramme / Schaltzeitpunkte von extern anpassen.
Das sind ja Sachen die im MASTER-Paramset liegen.

Geht das überhaupt mit dem Jack, und wenn ja... wie?

wedoon
Beiträge: 13
Registriert: 15.01.2024, 18:31
System: CCU

Re: Über welches Protokoll mit der CCU3 per Skript reden

Beitrag von wedoon » 17.01.2024, 20:49

Hallo zusammen,
leider bezogen sich viele antworten doch auf Addons :)
Die XML-API zähle ich auch dazu.

Der Hintergrund meiner Frage:
Ich habe eine (neue) Heizung, die ich über python und modbus steuern und somit die Heizzeiten an meine Schichtzeiten anpassen kann.
Somit will ich natürlich auch die Heizkörper an diese Zeiten anpassen (Funksteckdosen sollen noch dazu kommen)

Leider scheitere ich mit der offiziellen xml-rpc Api, da mir der Verbdingunsaufbau nicht wirklich gelingen mag.
Ich habe es mit diesen Scripts probiert https://github.com/hawaiik/hm-xmlrpc
Alle anderen Scripts, die man noch so findet, sind ähnlich aufgebaut.

Aber das löst in der CCU3 eine Thread Warnung aus:

Code: Alles auswählen

io.vertx.core.impl.BlockedThreadChecker WARN  [vertx-blocked-thread-checker] Thread Thread[vert.x-eventloop-thread-0,5,main] has been blocked for 6573 ms, time limit is 2000 ms 
Und es kommt nur eine halbe http Anwort zurück.

Daher meine Frage hier:
Gibts es funktionierende python Scripts, die nicht 10 Jahre alt sind, mit denen ich über xmlrpc Daten aus einer CCU3 (Homematic IP) lesen und schreiben kann.

Alternativ würde ich auch Beispiele mit curl (oder wget) nehmen, die ein xml zur CCU3 schicken.

In der offiziellen "HMIP_XmlRpc_API_Addendum.pdf" steht auch leider in der Überschrift
Homematic IP Legacy API
(XML-RPC-Schnittstelle)
Addendum

Und das verwirrt mich halt etwas. Dann müsste es ja was neues geben, wenn xmlrpc als veraltet beschrieben wird.

Ich will keinen Glaubenskrieg über Sinn und Nutzen der XML-API auslösen, zu der ich wohl auch zurückgreifen werde, falls ich keine Lösung finde.
Aber mein Ziel ist es erstmal ohne solche Addons auszukommen.

mfg
Thomas
mfg
Thomas

Benutzeravatar
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: Über welches Protokoll mit der CCU3 per Skript reden

Beitrag von Black » 17.01.2024, 21:22

Wenn du keine eigene Visu oder ähnliches schreiben willst, die aktiv daten von der ccu gepushed bekommt (dazu brauchst du die xmlrpi api) sonden geräte und systemvariablen schalten willst, dann benutz doch die remote script api.
hat auch schon ein kollege angesprochen

ist ein http post auf die :8181, wobei der Body der Nachricht das auszuführenden Script ist. die Scriptausgabe bzw die Variablen bekommst du dabei auch zurück. Programme wie der SDV arbeiten so.

Black

die xmlrpc api icht nicht veraltet, ich würde eher die xml-api als obselet bezeichnen
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

Mathias
Beiträge: 1796
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 262 Mal
Kontaktdaten:

Re: Über welches Protokoll mit der CCU3 per Skript reden

Beitrag von Mathias » 17.01.2024, 22:14

Baxxy hat geschrieben:
17.01.2024, 15:26
Ich muss aber mal nachhaken... :wink:

Es liest sich ja so als wolle der TE die Wochenprogramme / Schaltzeitpunkte von extern anpassen.
Das sind ja Sachen die im MASTER-Paramset liegen.

Geht das überhaupt mit dem Jack, und wenn ja... wie?
Der CCU-Jack bietet über die REST-API zu jedem Gerät und Kanal die Variable $MASTER an. Über diese kann der Master-Paramset per HTTP-GET als JSON gelesen oder über HTTP-PUT beschrieben werden.

Benutzeravatar
Baxxy
Beiträge: 10850
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 610 Mal
Danksagung erhalten: 2230 Mal

Re: Über welches Protokoll mit der CCU3 per Skript reden

Beitrag von Baxxy » 17.01.2024, 22:24

Ok, aber wie geht das lesen/schreiben genau?
Magst du mal ein Beispiel posten?

Sagen wir mal ich möchte den Temperatur-Offset eines WTH-2 anpassen:
(fürs Beispiel +1,5)

Gegeben:
/device/000A98A9A228C2/1/$MASTER
TEMPERATURE_OFFSET

Code: Alles auswählen

(control=, default=0, flags=1, id=TEMPERATURE_OFFSET, maximum=3,5, minimum=-3,5, operations=3, tabOrder=0, type=FLOAT, unit=°C)

Benutzeravatar
Henke
Beiträge: 1526
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 141 Mal
Danksagung erhalten: 306 Mal

Re: Über welches Protokoll mit der CCU3 per Skript reden

Beitrag von Henke » 17.01.2024, 22:52

Baxxy hat geschrieben:
17.01.2024, 22:24
Ok, aber wie geht das lesen/schreiben genau?
https://github.com/mdzio/ccu-jack/wiki/CURL

Benutzeravatar
Baxxy
Beiträge: 10850
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 610 Mal
Danksagung erhalten: 2230 Mal

Re: Über welches Protokoll mit der CCU3 per Skript reden

Beitrag von Baxxy » 17.01.2024, 23:02

Hmm, tut sich nix.

Code: Alles auswählen

curl -X PUT -d '{"v":{"TEMPERATURE_OFFSET":-1.5}}' http://localhost:2121/device/000A98A9A228C2/1/$MASTER/~pv
Ok, also entweder ist die Doku falsch oder das geht generell (bei IP) nicht.

wedoon
Beiträge: 13
Registriert: 15.01.2024, 18:31
System: CCU

Re: Über welches Protokoll mit der CCU3 per Skript reden

Beitrag von wedoon » 18.01.2024, 14:15

Black hat geschrieben:
17.01.2024, 21:22
die xmlrpc api icht nicht veraltet, ich würde eher die xml-api als obselet bezeichnen
Nicht ich bezeichne es als veraltet. eQ-3 macht das in der "HMIP_XmlRpc_API_Addendum.pdf"
https://www.eq-3.de/downloads/download/ ... dendum.pdf

Aber der weg über URL ist wohl der einfachste.

Aber hat jemand ein funktionierendes python Script für xmlrpc (Client / Server) ?

mfg
Thomas
mfg
Thomas

Benutzeravatar
Henke
Beiträge: 1526
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 141 Mal
Danksagung erhalten: 306 Mal

Re: Über welches Protokoll mit der CCU3 per Skript reden

Beitrag von Henke » 18.01.2024, 16:10

wedoon hat geschrieben:
18.01.2024, 14:15
Nicht ich bezeichne es als veraltet. eQ-3 macht das in der "HMIP_XmlRpc_API_Addendum.pdf"
https://www.eq-3.de/downloads/download/ ... dendum.pdf
Ich finde da keinen Hinweis, bei dem eQ-3 die Schnittstelle als veraltet bezeichnet. Könntest du da bitte den Text zitieren?

wedoon
Beiträge: 13
Registriert: 15.01.2024, 18:31
System: CCU

Re: Über welches Protokoll mit der CCU3 per Skript reden

Beitrag von wedoon » 18.01.2024, 18:31

Henke hat geschrieben:
18.01.2024, 16:10
wedoon hat geschrieben:
18.01.2024, 14:15
Nicht ich bezeichne es als veraltet. eQ-3 macht das in der "HMIP_XmlRpc_API_Addendum.pdf"
https://www.eq-3.de/downloads/download/ ... dendum.pdf
Ich finde da keinen Hinweis, bei dem eQ-3 die Schnittstelle als veraltet bezeichnet. Könntest du da bitte den Text zitieren?

Naja, steht halt so in der pdf
Dateianhänge
Snap2.png
mfg
Thomas

Antworten

Zurück zu „Softwareentwicklung von externen Applikationen“