Aktor über xml Api schalten geht nicht

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

mick_we
Beiträge: 22
Registriert: 14.02.2018, 15:29

Aktor über xml Api schalten geht nicht

Beitrag von mick_we » 03.10.2021, 10:42

Hallo,

ich brauche mal Hilfe, weil irgendwie bekomme ich es nicht hin oder bin zu blöd. Ich würde gerne meinen 3D Drucker über OctoPrint ein und ausschalten. Das ist auf der OctoPrint Seite auch kein Problem. Habe dazu auch schon eine Menge hier gelesen.

Damit ich den Aktor über z.B: eine URL EIn- und Ausschalten kann, habe ich XML-Api installiert, auch um die ID zu bekommen.

Code: Alles auswählen

<device name="Office Micha 3D-Printer" address="00021BE99C0450" ise_id="9987" interface="HmIP-RF" device_type="HMIP-PS" ready_config="true">
<channel name="Office Micha 3D-Printer:0" type="30" address="00021BE99C0450:0" ise_id="9988" direction="UNKNOWN" parent_device="9987" index="0" group_partner="" aes_available="false" transmission_mode="AES" visible="true" ready_config="true" operate="true"/>
<channel name="Office Micha 3D-Printer:Taster" type="17" address="00021BE99C0450:1" ise_id="10014" direction="SENDER" parent_device="9987" index="1" group_partner="" aes_available="false" transmission_mode="AES" visible="true" ready_config="true" operate="true"/>
<channel name="Office Micha 3D-Printer:Schaltausgang" type="26" address="00021BE99C0450:2" ise_id="10017" direction="UNKNOWN" parent_device="9987" index="2" group_partner="" aes_available="false" transmission_mode="AES" visible="true" ready_config="true" operate="true"/>
<channel name="Office Micha 3D-Printer:Schaltaktor" type="26" address="00021BE99C0450:3" ise_id="10022" direction="RECEIVER" parent_device="9987" index="3" group_partner="" aes_available="false" transmission_mode="AES" visible="true" ready_config="true" operate="true"/>
<channel name="Office Micha 3D-Printer:Schaltaktor 1" type="26" address="00021BE99C0450:4" ise_id="10029" direction="RECEIVER" parent_device="9987" index="4" group_partner="" aes_available="false" transmission_mode="AES" visible="true" ready_config="true" operate="true"/>
<channel name="Office Micha 3D-Printer:Schaltaktor 2" type="26" address="00021BE99C0450:5" ise_id="10036" direction="RECEIVER" parent_device="9987" index="5" group_partner="" aes_available="false" transmission_mode="AES" visible="true" ready_config="true" operate="true"/>
<channel name="Office Micha 3D-Printer:Wochenprogramm" type="26" address="00021BE99C0450:6" ise_id="10043" direction="UNKNOWN" parent_device="9987" index="6" group_partner="" aes_available="false" transmission_mode="AES" visible="true" ready_config="true" operate="true"/>
</device>
Ich habe jetzt so ziemlich alle IDs durch und auch mit verschiedenen Werten, also z.B.

Code: Alles auswählen

http://192.168.2.115/addons/xmlapi/statechange.cgi?ise_id=9987&new_value=1
Aber nichts funktioniert? Kann mir jemand helfen, was denn einmal die richtige ID wäre (Bei den meisten IDs kommt im Browser keine Rückmeldung ) und welcher Wert wofür ist?

Unendliche Dankbarkeit für jeden Tipp.
Zuletzt geändert von alchy am 03.10.2021, 20:02, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

Xel66
Beiträge: 14164
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1499 Mal

Re: Aktor über xml Api schalten geht nicht

Beitrag von Xel66 » 03.10.2021, 10:51

Du adressierst auch den Kanal 0. Der kann nicht schalten. Du musst schon einen Schaltkanal benutzen, der auch per WebUI oder von anderen verknüpften Tastern geschaltet wird. Also beispielsweise vom HmIP-PS den Kanal3 und eben dessen iseID (bei Dir 10022).

Gruß Xel66
Zuletzt geändert von Xel66 am 03.10.2021, 10:52, insgesamt 1-mal geändert.
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

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

Re: Aktor über xml Api schalten geht nicht

Beitrag von Baxxy » 03.10.2021, 10:52

mick_we hat geschrieben:
03.10.2021, 10:42
Aber nichts funktioniert?
Ich gehe immer über den Kanalnamen...

Code: Alles auswählen

http://192.168.1.66:8181/bx.exe?x=channels.Get ("HMIP-PS C88:3 - Schaltkanal 1").DPByHssDP ("STATE").State(1)
Grüße, Baxxy

mick_we
Beiträge: 22
Registriert: 14.02.2018, 15:29

Re: Aktor über xml Api schalten geht nicht

Beitrag von mick_we » 03.10.2021, 11:33

Ahhh, wie geil:

Code: Alles auswählen

http://192.168.2.115:8181/bx.exe?x=channels.Get%20(%22Office%20Micha%203D-Printer:Schaltaktor%22).DPByHssDP%20(%22STATE%22).State(1)
Funktioniert. Klasse. Danke

Tyfys
Beiträge: 550
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 125 Mal

Re: Aktor über xml Api schalten geht nicht

Beitrag von Tyfys » 03.10.2021, 12:14

Für diese Lösung ist nicht mal das XML-API erforderlich.

Gruß
Harry
Gruß
Harry

Benutzeravatar
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: Aktor über xml Api schalten geht nicht

Beitrag von Black » 03.10.2021, 12:23

wenn man die xml-api nicht unbedingt wirklich braucht (z.b. weil eine Handy app nicht anders auf die ccu zugreifen kann), sollte man selbst generierte Zugriffe meiner Meinung nach immer über die Remote Script APi machen.

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

mick_we
Beiträge: 22
Registriert: 14.02.2018, 15:29

Re: Aktor über xml Api schalten geht nicht

Beitrag von mick_we » 03.10.2021, 14:13

Ich habe es schon deinstalliert. So ist es ja viel genialer.

derrapf
Beiträge: 815
Registriert: 17.12.2012, 22:29

Re: Aktor über xml Api schalten geht nicht

Beitrag von derrapf » 14.01.2022, 00:05

Was hast Du denn dann im Octoprint genau in die System-Kommandos geschrieben?

Bei mir funktioniert das nicht. Wenn ich im Raspi das Kommando

Code: Alles auswählen

wget -q http://192.168.111.160:8181/bx.exe?x=channels.Get("3D Drucker:1").DPByHssDP("STATE").State(1)
eingebe, dann bekomme ich den Fehler

Code: Alles auswählen

-bash: Syntaxfehler beim unerwarteten Wort `('
Dabei ist es egal ob ich die Spaces mit%20 und die " mit %22 schreibe oder nicht. Ob ich wget oder curl verwende...


mit

Code: Alles auswählen

 
  curl "http://192.168.111.160/addons/xmlapi/statechange.cgi?ise_id=59964&new_value=true"
funktioniert es.

Gruss Ralf

Silverstar
Beiträge: 369
Registriert: 11.02.2020, 12:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 94 Mal
Danksagung erhalten: 68 Mal

Re: Aktor über xml Api schalten geht nicht

Beitrag von Silverstar » 14.01.2022, 21:06

Im ersten Fall ist die URL nicht in " eingefasst. Beim zweiten Beispiel schon.

Die bash interpretiert die Sonderzeichen in der URL als Kommandos für sie, wobei es ja Teile der URL sind, daher muss man solche Strings korrekt einfassen.

Mit

Code: Alles auswählen

wget -q 'http://192.168.111.160:8181/bx.exe?x=channels.Get("3D Drucker:1").DPByHssDP("STATE").State(1)'
sollte es gehen. Curl oder wget ist nicht das Problem, die Sonderzeichen sind es, die die shell interpretieren möchte.

In dem Fall mit ' eingefasst, damit nichts dazwischen interpretiert wird, denn dort tauchen unter anderem ja auch " auf.

derrapf
Beiträge: 815
Registriert: 17.12.2012, 22:29

Re: Aktor über xml Api schalten geht nicht

Beitrag von derrapf » 14.01.2022, 21:28

Stimmt mit

Code: Alles auswählen

wget -q "http://192.168.111.160:8181/bx.exe?x=channels.Get("3D Drucker:1").DPByHssDP("STATE").State(1)"
Gibt' s keinen Syntaxfehler mehr; aber der Drucker geht trotzdem nicht an. Macht aber nichts; ich hab ja jetzt ne Lösung. Danke trotzdem.
Gruss Ralf

Antworten

Zurück zu „HomeMatic allgemein“