Hilfe bei Fehlersuche...

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Flash
Beiträge: 39
Registriert: 30.11.2015, 08:43

Hilfe bei Fehlersuche...

Beitrag von Flash » 13.07.2021, 22:14

Hallo Zusammen,

Ich habe ein kleines Problem beim Aufrufen/Ausführen eines Skriptes und finde das Problem nicht. Vielleicht sieht einer von euch den Haken der da fehlt oder zuviel ist...
Es geht darum eine Kamera beim Auslösen eines Ereignisses zu positionieren, ein Bild zu ziehen und das per Telegramm zu versenden.
Bei dem Aufruf via Bewegungsmelder geht es, beim Aufruf via Klingeltaster geht es nicht.
Ich habe das schon gefühlte 1000 mal alles überprüft und sehe nix.

So geht es:

Aufruf siehe Bild

Skript Cam PTZ aufrufen

Code: Alles auswählen

! +++ Cam PTZ aufrufen
! +++++ Settings +++++
string user = "user";
string pass = "passwort";
string ptzurl = "http://"#user#":"#pass#"@192.168.1.1/ISAPI/PTZCtrl/channels/1/presets/1/goto";

! +++++ PTZ aufrufen +++++
dom.GetObject("CUxD.CUX2801002:1.CMD_EXEC").State("curl -X PUT "#ptzurl#"");

!  Ende des Scripts
Bild holen

Code: Alles auswählen

! +++ Cam Bild holen 
! +++++ Settings +++++
string photo = "/tmp/Haustuer.jpg"; 
string user = "user";
string pass = "passwort";
string camurl = "http://"#user#":"#pass#"@192.168.1.1/ISAPI/Streaming/channels/1/picture";

! +++++ Klingelbild von Haustür holen +++++
dom.GetObject("CUxD.CUX2801002:1.CMD_EXEC").State("wget -O "#photo#" "#camurl#"");

!  Ende des Scripts
per Telegramm senden

Code: Alles auswählen

! +++ Telegram senden
! +++++ Settings +++++
string msg = "'Bewegung Haustuer erkannt'";
string photo = "/tmp/Haustuer.jpg";  
string chatid = "-123456789";
string botAPI = "6789987654321";

! +++++ Nachricht Senden +++++
dom.GetObject("CUxD.CUX2801002:1.CMD_EXEC").State("curl -s -k  https://api.telegram.org/bot"#botAPI#"/sendMessage -F chat_id="#chatid#" -F text="#msg#"");

! +++++ Klingelbild versenden +++++
dom.GetObject("CUxD.CUX2801002:1.CMD_EXEC").State("curl -s -k https://api.telegram.org/bot"#botAPI#"/sendPhoto -F chat_id="#chatid#" -F photo='@'"#photo#" ");

!  Ende des Scripts

Jetzt das selbe für die Klingel.
Aufruf als Screenshot im Anhang.

Script um Kamera zu positionieren:

Code: Alles auswählen

! +++ Cam PTZ aufrufen
! +++++ Settings +++++
string user = "user";
string pass = "passwort";
string ptzurl = "http://"#user#":"#pass#"@192.168.1.1/ISAPI/PTZCtrl/channels/1/presets/2/goto";

! +++++ PTZ aufrufen +++++
dom.GetObject("CUxD.CUX2801002:1.CMD_EXEC").State("curl -X PUT "#ptzurl#"");

!  Ende des Scripts

Bild holen

Code: Alles auswählen

! +++ Cam Bild holen
! +++++ Settings +++++
string photo = "/tmp/klingel.jpg"; 
string user = "user";
string pass = "passwort";
string camurl = "http://"#user#":"#pass#"@192.168.1.1/ISAPI/Streaming/channels/1/picture";

! +++++ Klingelbild von Haustür holen +++++
dom.GetObject("CUxD.CUX2801002:1.CMD_EXEC").State("wget -O "#photo#" "#camurl#"");


!  Ende des Scripts
per Telegramm senden

Code: Alles auswählen

! +++ Telegram senden
! +++++ Settings +++++
string msg = "'Klingel Gartentuer betaetigt'";
string photo = "/tmp/klingel.jpg"; 
string chatid = "-123456789";
string botAPI = "67890987654321";

! +++++ Nachricht Senden +++++
dom.GetObject("CUxD.CUX2801002:1.CMD_EXEC").State("curl -s -k  https://api.telegram.org/bot"#botAPI#"/sendMessage -F chat_id="#chatid#" -F text="#msg#"");

! +++++ Klingelbild versenden +++++
dom.GetObject("CUxD.CUX2801002:1.CMD_EXEC").State("curl -s -k https://api.telegram.org/bot"#botAPI#"/sendPhoto -F chat_id="#chatid#" -F photo='@'"#photo#" ");

!  Ende des Scripts

Folgende Hinweise noch dazu:

- bei Aufruf einzeln, also im Script Editor - Ausführen klicken - geht es wie gewünscht
- die URL für die PTZ habe ich mehrfach geprüft und im Browser getestet - macht das was sie machen soll
- bei der Klingel wird die Textnachricht per Telegramm gesendet und das setzen des Lichts und der Töne am MP3 geht auch, der Trigger zieht also
- Username, Passwort, IP, Chat ID und API ID sind editiert und nicht die, die im Script wirklich stehen - dieses Daten wollte ich hier nicht so direkt veröffentlichen ;)

Falls irgendjemand eine Idee hat, warum es beim Bewegungsmelder geht aber nicht bei der Klingel, wäre das hilfreich.

Grüße
Dateianhänge
Aufruf-funktioniert nicht.png
Funktioniert nicht
Aufruf-funktioniert.png
Funktioniert
Rasperberrymatic auf Charly mit NodeRed und Historian . Abgesetzter ConBee II Stick für Zigbee Geräte

MichaelN
Beiträge: 9649
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1617 Mal

Re: Hilfe bei Fehlersuche...

Beitrag von MichaelN » 13.07.2021, 22:20

Verzögerung! Du rufst die skripte zeitgleich auf.

Wieso hast du das überhaupt in 3 skripte aufgeteilt?
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Flash
Beiträge: 39
Registriert: 30.11.2015, 08:43

Re: Hilfe bei Fehlersuche...

Beitrag von Flash » 13.07.2021, 22:23

Das ist in drei Teile aufgeteilt, weil ich sonst das Bild hole bevor die Kamera richtig steht und ich dann das Bild versende bevor die Datei richtig gezogen ist. Da ich das im Script nicht sauber steuern kann, das zwischen Aufruf und Ausführen 2-3 sek. gewartet wird, habe ich das auseinandergenommen und steuere das im Aufruf mit Verzögerung an.

Ok, die Verzögerung bezieht sich auf den letzten Befehl?
Dachte eigentlich das erst Script eins ausgeführt wird, dann wird Script zwei aufgerufen - 3 sek. gewartet, die Aktion (=Script) ausgeführt und erst dann wird Script 3 aufgerufen - wieder 3 sek. gewartet und dann die Aktion ausgeführt.
Script sollte also, nach meinem Verständnis 6 sek nach dem ersten ausgeführt werden.

Die Zeit en kann ich aber mal anpassen. Danke für den Hinweis - hatte da zwar schon verschiedene Zeiten drin, aber ich teste alles durch, habe eh keine anderen Ideen mehr dazu. ;)

Grüße
Rasperberrymatic auf Charly mit NodeRed und Historian . Abgesetzter ConBee II Stick für Zigbee Geräte

Matsch
Beiträge: 5423
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 114 Mal
Danksagung erhalten: 733 Mal

Re: Hilfe bei Fehlersuche...

Beitrag von Matsch » 13.07.2021, 22:41

Flash hat geschrieben:
13.07.2021, 22:23
Dachte eigentlich das erst Script eins ausgeführt wird, dann wird Script zwei aufgerufen - 3 sek. gewartet, die Aktion (=Script) ausgeführt und erst dann wird Script 3 aufgerufen - wieder 3 sek. gewartet und dann die Aktion ausgeführt.
Beide Scripts werden zur gleichen Zeit abgearbeitet - nach 3 s. Wenn das dritte Script nach 6 s abgearbeitet werden soll, mußt du auch 6 s festlegen, nicht 3 s. Die (absoluten) Verzögerungszeiten startet mit dem Zeitpunkt des DANN-Aufrufs, sie addieren sich nicht.

Zudem erfolgt das Warten VOR Ausführung des Scripts, nicht danach. Die Aktionen werden ohne jede Verzögerung sofort ausgeführt.
Zuletzt geändert von Matsch am 13.07.2021, 22:46, insgesamt 1-mal geändert.

Flash
Beiträge: 39
Registriert: 30.11.2015, 08:43

Re: Hilfe bei Fehlersuche...

Beitrag von Flash » 13.07.2021, 22:45

Nein, es soll nicht nach 6sek. ausgeführt werden.
Ich bin nur davon ausgegangen das die Abarbeitung chronologisch erfolgt und nicht gleichzeitig. Daher also 2x 3 sek. Wartezeit = 6 sek.

Grüße
Rasperberrymatic auf Charly mit NodeRed und Historian . Abgesetzter ConBee II Stick für Zigbee Geräte

Matsch
Beiträge: 5423
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 114 Mal
Danksagung erhalten: 733 Mal

Re: Hilfe bei Fehlersuche...

Beitrag von Matsch » 13.07.2021, 22:47

Sie werden nicht chronologisch ausgeführt, sondern in der Reihenfolge, die festgelegt ist. Die Aktionen haben keine Verzögerung und werden sofort ausgeführt, ebenso Script 1. Nach weiteren 3 s werden Script 2 und 3 zeitgleich gestartet, muß aber nicht heißen, Script 2 VOR Script 3.

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

Re: Hilfe bei Fehlersuche...

Beitrag von Black » 13.07.2021, 22:51

Script2 und Script 3 werden zwar zeitgleich getriggert
von der Ausführung her wird aber zuerst script2 ausgeführt, erst nach dem Ende er Asuführung von Script2 wird Ausführung von Script3 gestartet.

die Rega kann in dieser Ablaufebene immer noch ein Script gleichzeitig ausführen.

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

Matsch
Beiträge: 5423
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 114 Mal
Danksagung erhalten: 733 Mal

Re: Hilfe bei Fehlersuche...

Beitrag von Matsch » 13.07.2021, 22:54

So war's gemeint.

MichaelN
Beiträge: 9649
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1617 Mal

Re: Hilfe bei Fehlersuche...

Beitrag von MichaelN » 13.07.2021, 22:54

Und es gibt natürlich keinen Grund, warum die Befehle in gewürfelter Reihenfolge ausgeführt werden. Ist ja kein Funk. Also das erst Skript 1, dann 2, dann 3 ausgeführt wird, darauf kann man sich verlassen. Aber die gewünschten 3 Sekunden Abstand stellen sich so nicht ein.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Matsch
Beiträge: 5423
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 114 Mal
Danksagung erhalten: 733 Mal

Re: Hilfe bei Fehlersuche...

Beitrag von Matsch » 13.07.2021, 22:56

MichaelN hat geschrieben:
13.07.2021, 22:54
Also das erst Skript 1, dann 2, dann 3 ausgeführt wird, darauf kann man sich verlassen.
Nee, weil Script 2 und 3 ja erst nach 3 s ausgeführt werden, die Aktionen aber sofort und damit vorher.

Antworten

Zurück zu „HomeMatic allgemein“