Aufrufen eines Schaltbefehls via URL

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

mp74
Beiträge: 3
Registriert: 13.05.2021, 09:01
System: sonstige
Hat sich bedankt: 5 Mal

Re: Aufrufen eines Schaltbefehls via URL

Beitrag von mp74 » 14.05.2021, 14:24

Hallo Baxxy,

Code: Alles auswählen

http://192.168.17.40:8181/ret.exe?ret=channels.Get ("HmIP-FSM 000xxxxxxxx:2").DPByHssDP ("STATE").State(1)
funktioniert ! :)

Vielen Dank, wie kommt man auf die Syntax gibt es eine API Beschreibung oder ähnliches?

Grüße

alchy
Beiträge: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 Mal

Re: Aufrufen eines Schaltbefehls via URL

Beitrag von alchy » 14.05.2021, 22:19

mp74 hat geschrieben:
14.05.2021, 11:11
was mache ich falsch
Der verwendete Datenpunkt mit Namen HmIP-FSM 000xxxxxx:2.STATE ist so nicht vorhanden.
Würdest du den richtigen, korrekten Namen (cirka: "HmIP-RF.000xxxxxxx:2.STATE"verwenden, würde es auch damit funktionieren.

Der zweite Versuch von baxxy verlangt den Kanalnamen, den du zufällig oder zufällig mit Absicht korrekt benutzt hast, daher funktioniert dieser Versuch.

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.

mp74
Beiträge: 3
Registriert: 13.05.2021, 09:01
System: sonstige
Hat sich bedankt: 5 Mal

Re: Aufrufen eines Schaltbefehls via URL

Beitrag von mp74 » 16.05.2021, 09:25

Hallo Alchy,

es funktioniert :) , leider verstehe ich den Zusammenhang noch nicht richtig..

Wie ermittelt man den korrekten Namen? Damit ich die Syntax auch auf andere Geräte übertragen kann.

Code: Alles auswählen

http://192.168.17.40:8181/ret.exe?ret=dom.GetObject ("HmIP-RF.000xxxxxxx:2.STATE").State(1)
Grüße

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Aufrufen eines Schaltbefehls via URL

Beitrag von Black » 16.05.2021, 09:52

InterfaceName.SeriennummerVonGerät:KanalNummer.Datenpunktname

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

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

Re: Aufrufen eines Schaltbefehls via URL

Beitrag von Baxxy » 16.05.2021, 09:59

mp74 hat geschrieben:
16.05.2021, 09:25
leider verstehe ich den Zusammenhang noch nicht richtig..
Wenn du ein Freund von Seriennummern bist...

dom.GetObject ("HmIP-RF.000xxxxxxx:2.STATE")
dom.GetObject ("Interface.Seriennummer:Kanalnummer.Datenpunkt")

Wenn du ein Freund von lesbaren Dingen bist...

channels.Get ("Name_deines_Aktorkanals").DPByHssDP ("STATE")
channels.Get ("Kanalname").DPByHssDP ("Datenpunkt")

Ich bevorzuge den Weg über die Benamung. "Beleuchtung-Aussen:3" ist für mich viel intuitiver als "HmIP-RF.000xxxxxxx:3".

Aber...
Jeder wie er mag. :wink:

Grüße
Baxxy

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Aufrufen eines Schaltbefehls via URL

Beitrag von Black » 16.05.2021, 10:20

Der vollsymbolishe Zugriff, den Baxxy erwählt hat, ist auch im Falle eines Geräteaustausches der praktischere.

Grund. Bei den Absolutzugriffen musst du jeden einzelnen Zugriff, auch in allen Externen Anwendungen (Apps, Externe Controller etc) ändern, ansonsten greift der Zugriff ins Leere.

Bei dem Vollsymbolischen Zugriff ist das egal, weil bei einem Gerätetausch ja (normalerweise) der Geräte und Kanalname übernommen wird, während natürlichdie Seriennummer eine Komplett andere sein wird.

Gruss, 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

Theees
Beiträge: 24
Registriert: 17.01.2021, 00:04
System: CCU
Hat sich bedankt: 20 Mal
Danksagung erhalten: 1 Mal

Re: Aufrufen eines Schaltbefehls via URL

Beitrag von Theees » 20.12.2021, 12:11

Baxxy hat geschrieben:
14.05.2021, 12:20
Ich mache das so...
mit Authentifizierung:

Code: Alles auswählen

http://Admin:admin@192.168.1.66:8181/ret.exe?ret=channels.Get ("HMIP-PSM 0D2 Kanal :3 - Schaltaktor").DPByHssDP ("STATE").State(1)
Hallo zusammen,

irgendwie klappt es bei mir noch nicht so recht mit den Links. Ich habe eine CCU3 mit Anmeldename und Passwort.

Baxxy, das erste Admin ist doch der Anmeldename und das zweite admin das Passwort oder?

Wenn ich an der CCU angemeldet bin und in einem neuen Tab den Link eingebe kann ich z.B. die Steckdose schalten. Sobald ich aber von der CCU abgemeldet bin und meinen Link aufrufe dann öffnet sich immer ein Anmeldefenster :oops:

Code: Alles auswählen

http://Anmeldename:Passwort@192.168.bla.bla:8181/ret.exe?ret=channels.Get ("HMIP-PS 00021928587DDA:3").DPByHssDP ("STATE").State(1)
Wie bekomme ich denn dieses Anmeldefenster umgangen?

Und direkt noch eine Frage. Wie kann ich meinen Garagentoraktor per URL ansprechen?
Denn den Schalte ich ja nicht mit "0" oder "1" ein oder aus sondern der hat ne DV mit 100ms Schaltzeit, siehe Bild.

Danke und Gruß
Theees
Dateianhänge
Garagentortaster.JPG
Zuletzt geändert von Theees am 21.12.2021, 22:40, insgesamt 1-mal geändert.

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Aufrufen eines Schaltbefehls via URL

Beitrag von Black » 20.12.2021, 12:37

Wenn dein passwort oder Name irgendwas an Sonderzeichen (ganz fies ist @ /%) oder ähnliches enthält wird das unspassig.

Ich kannte das problem beim programmieren des SDV, ich hab es da so gelöst in dem ich die Authentification sauber in den Header verpackt habe.

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

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

Re: Aufrufen eines Schaltbefehls via URL

Beitrag von Baxxy » 20.12.2021, 13:01

Theees hat geschrieben:
20.12.2021, 12:11
das erste Admin ist doch der Anmeldename und das zweite admin das Passwort oder?
Ja genau. Also...

Code: Alles auswählen

http://Username:Passwort@192.x.x.x:8181
Theees hat geschrieben:
20.12.2021, 12:11
Wie bekomme ich denn dieses Anmeldefenster umgangen?
Hmm, bei mir geht das problemlos. Mit aktiver Authentifizierung und ausgeloggt aus der WebUI kann ich mit dem selben Browser oder auch mit einem anderen problemlos auf diese Weise schalten.
Was mir nur gerade aufgefallen ist... nach jedem senden der URL wird Username:Passwort aus der URL durch den Browser entfernt.
Mann muss also für jeden Befehl die gesamte URL neu in den Browser kopieren / einfügen.
Theees hat geschrieben:
20.12.2021, 12:11
Wie kann ich meinen Garagentoraktor per URL ansprechen?
Hmm, da fällt mir nur eine Möglichkeit ein.
  • Eine DV zwischen virtueller IP-Taste (HmIP-RCV-50 HmIP-RCV-1) und PCBS Kanal:3 mit den 100ms Einschaltdauer anlegen und diese virtuelle Taste dann per URL drücken.
    Beispiel:

    Code: Alles auswählen

    channels.Get ("HmIP-RCV-50 HmIP-RCV-1:6").DPByHssDP ("PRESS_SHORT").State(1);
  • "COMBINED_PARAMETER" wäre auch noch praktikabel, hierbei beträgt die kleinste Einschaltdauer aber 1s, also für deine Anwendung zu lang

alchy
Beiträge: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 Mal

Re: Aufrufen eines Schaltbefehls via URL

Beitrag von alchy » 20.12.2021, 21:18

Theees hat geschrieben:
20.12.2021, 12:11
Hallo zusammen,

irgendwie klappt es bei mir noch nicht so recht mit den Links. Ich habe eine CCU3 mit Anmeldename und Passwort.
Firewalleinstellungen in CCU Setup?
Zugriff aus lokalen oder entfernten Netz?

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.

Antworten

Zurück zu „HomeMatic allgemein“