Aktor über xml Api schalten geht nicht

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

mick_we
Beiträge: 19
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: 10792
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 219 Mal
Danksagung erhalten: 845 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.
-------------------------------------------------------------------------------------------
343 Kanäle in 118 Geräten und 264 CUxD-Kanäle in 33 CUxD-Geräten:
282 Programme, 246 Systemvariablen und 144 Direktverknüpfungen,
RaspberryMatic Version: 3.61.5.20211113 + Testsystem: CCU2 2.53.27
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Benutzeravatar
Baxxy
Beiträge: 5022
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 322 Mal
Danksagung erhalten: 928 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: 19
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: 185
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 8 Mal
Danksagung erhalten: 40 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: 4283
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 180 Mal
Danksagung erhalten: 586 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 4.08.07F Das umfassende Entwicklungs und Diagnosetool für Homematik

technical contribution against annoying advertising

mick_we
Beiträge: 19
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: 802
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: 62
Registriert: 11.02.2020, 12:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 21 Mal
Danksagung erhalten: 14 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: 802
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“