Fensterkontakt und Telegram

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
meddelin
Beiträge: 7
Registriert: 05.04.2021, 14:35
System: CCU
Hat sich bedankt: 4 Mal

Fensterkontakt und Telegram

Beitrag von meddelin » 05.04.2021, 20:29

Hallo,

Habe eine CCU2 und einen HM-Sec-SCo Fensterkontakt.
Heute habe ich mir einen Telegram Bot erstellt und kann mir mit einem Script , dass zu einem gewissen Zeitpunkt getriggered wird
eine Nachricht in den Telegram channel schicken. Nun dachte ich mir , dass ich sobald der status des Fensterkontakts sich ändert
auch eine Message zu schicken.

Script schaut wie folgt aus: (Token und chatId wurden ge#x't)

Code: Alles auswählen

string MESSAGE = "Fenster im Bad wurde geöffnet";
string TOKEN = "16xxxxxxxxxxxxxxxxxxxxxxxxxxxnKI";
string CHATID = "99xxxxxxxxx7";
system.Exec("wget --no-check-certificate -q -O - 'https://api.telegram.org/bot"#TOKEN#"/sendMessage?chat_id="#CHATID#"&text="#MESSAGE#"'");
Programm:


Geräteauswahl
HM-Sec-SCo MEQ1727973:1 bei
geschlossen

bei Änderung auslösen


UND

ODER
Aktivität: Dann...Vor dem Ausführen alle laufenden Verzögerungen für diese Aktivitäten beenden (z.B. Retriggern).

Skript
string MESSAGE = "Fenster im Bad wurde geöffnet"; string TOK...
sofort


Aktivität:
Sonst...
Vor dem Ausführen alle laufenden Verzögerungen für diese Aktivitäten beenden (z.B. Retriggern).


Leider kommt nie eine Nachricht an, hab ich irgendwo einen Denkfehler?
Zuletzt geändert von alchy am 05.04.2021, 20:48, insgesamt 3-mal geändert.
Grund: Code in Codetags posten & Titel angepasst

Benutzeravatar
robbi77
Beiträge: 13842
Registriert: 19.01.2011, 19:15
System: CCU
Wohnort: Landau
Hat sich bedankt: 181 Mal
Danksagung erhalten: 737 Mal

Re: Fensterkontakt und Telegram

Beitrag von robbi77 » 05.04.2021, 20:58

Programm als Screenshot.
Bei Risiken und Nebenwirkungen fragen Sie den Elektriker Ihres geringsten Mißtrauens!
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...

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

Re: Fensterkontakt und Telegram

Beitrag von alchy » 05.04.2021, 21:36

Außerdem wird es auch in deinem Fall funktionieren, wenn du keine Umlaute / Sonderzeichen im Nachrichtentext verwendest.
ODER
den Nachrichtenstring mit der Methode .ToUTF8() wandelst.

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.

Hausmeister
Beiträge: 692
Registriert: 20.09.2017, 23:08
Hat sich bedankt: 11 Mal
Danksagung erhalten: 88 Mal

Re: Fensterkontakt und Telegram

Beitrag von Hausmeister » 05.04.2021, 22:21

Willst du wirklich jedes mal informiert werden wenn sich ein Fenster öffnet oder schließt?

Oder willst du eigentlich nur wissen ob alle Fenster zu sind?

Denn dann würde ich mit einem Programm alle Fensterkontakte abfragen, und eine Systemvariable auf Wahr / true setzen, wenn alle Fenster zu sind.

Und diese Systemvariable auf falsch / false setzen, sobald min. ein Fenster offen ist.

Und wenn diese Variable true ist, sendest du eine Nachricht, alle Fenster geschlossen, und sobald die Variable false ist sendest du eine Nachricht Fenster geöffnet.

Wenn du nicht mehr als 2 Mitbewohner oder auch Bedienstete hast, oder nicht in Buckingham Palace wohnst, solltest du bei einem Blick auf die letzte Nachricht darüber im Bilde sein, ob alles zu ist, und ggf dich daran erinnern, welches Fenster wohl zuletzt aufgemacht worden sein könnte.

Ok Scherz beiseite. Überlege bei solchen Hausautomationen immer, welche Information benötigst du überhaupt.
CCU3 und CCU2 für Heizung, Sicherheit, Energiesparen, Anwesenheit und Klingel
IOBroker und Google Home zur Einbindung Klimaanlage, Smartspeaker, SPS, Arduino D1 Mini...
Datenauswertung ECharts
Smart-Home sollte nicht "bedient" werden müssen!
Bitte immer Kirche mit Dorf direkt verknüpfen!!!

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

Re: Fensterkontakt und Telegram

Beitrag von dtp » 06.04.2021, 07:49

Vielleicht hilft dir das hier auch noch etwas weiter.

Ansonsten gilt das von @alchy Geschriebene. Wenn Sonderzeichen und Umlaute ohne entsprechende Konvertierung per Telegram verschickt werden sollen, verweigert Telegram das Verschicken.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

meddelin
Beiträge: 7
Registriert: 05.04.2021, 14:35
System: CCU
Hat sich bedankt: 4 Mal

Re: Fensterkontakt und Telegram

Beitrag von meddelin » 06.04.2021, 13:02

Danke für die Nachrichten und Beiträge.

Mir geths eigentlich erstmal darum, warum es nicht funktioniert.
Die Kadenz, etc würde ich dann eher später einstellen. Jetzt möchte ich erstmal
Ereigniss (Fensterstatus ändert sich) --> Nachricht auf Telegram.

Habe die message mal geändert , damit keine Sonderzeichen geschickt werden.
e71e06900-fenster.jpg
Zuletzt geändert von alchy am 06.04.2021, 18:30, insgesamt 1-mal geändert.
Grund: Bild über Forenfunktion angehangen - bitte beachten

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

Re: Fensterkontakt und Telegram

Beitrag von dtp » 06.04.2021, 14:22

Bitte keine Bildhoster verlinken, sondern den Screenshot direkt hier im Posting einfügen.

Geht's denn nun oder nicht?
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

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

Re: Fensterkontakt und Telegram

Beitrag von alchy » 06.04.2021, 18:28

meddelin hat geschrieben:
06.04.2021, 13:02
Mir geths eigentlich erstmal darum, warum es nicht funktioniert.
Weil du in deinem Sendescript Sonderzeichen verwendest hast, wozu dein Script nicht in der Lage ist.
meddelin hat geschrieben:
06.04.2021, 13:02
Habe die message mal geändert , damit keine Sonderzeichen geschickt werden.
Und damit sollte es dann auch funktionieren, oder?

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.

Benutzeravatar
o_krause
Beiträge: 21
Registriert: 11.09.2020, 23:04
System: CCU
Hat sich bedankt: 8 Mal
Danksagung erhalten: 2 Mal

Re: Fensterkontakt und Telegram

Beitrag von o_krause » 06.04.2021, 19:27

Hallo meddelin,

bei mir funktioniert das folgender Maßen mit mehreren Fensterkontakten sehr gut:

CCU-Programm_Statusaenderung-Fenster_und_Tuerkontakte.JPG

Das Telegram-Skript dazu sieht dann so aus ( ChatID, BotAPI und Cuxd-Gerät anpassen):

Code: Alles auswählen

!Telegram Script - Statusaenderung-Fenster und Tuerkontakte                                                                            
string chatid = "-111111111111"; !das ist die chatid
string botAPI = "2222222:XXXXXXXXXXXX"; !und das ist die BOT API id

object o_dp = dom.GetObject ("$src$");
if (o_dp) {
  string s_status = "geschlossen;offen".StrValueByIndex (";", o_dp.Value());
  object o_channel = dom.GetObject (o_dp.Channel());
  string s_channel = o_channel.Name();
  string s_subject = s_channel # " " # s_status;
  string msg = "Der " # s_channel # " wurde bewegt. \nDie Tuer ist jetzt " # s_status # ".";

!Telegram-Textnachricht versenden
dom.GetObject("CUxD.CUX2801005:1.CMD_EXEC").State("extra/curl -s -k https://api.telegram.org/bot"#botAPI#"/sendMessage -F text='"#msg#"' -F chat_id="#chatid);
}
!  Ende des Scripts
...und mit dem Zusatz von alchy sollte der Versand über Telegram auch mit Umlauten funktionieren.


Grüße
o_krause

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

Re: Fensterkontakt und Telegram

Beitrag von alchy » 06.04.2021, 21:32

Ja, solange du innerhalb deines Programmes auch einige bestimmte Voraussetzungen erfüllst und/oder EQ-3 dir nicht z.B. mit der Konvertierung von true/false den Part vermiest usw. funktioniert auch dein Konstrukt.

Es gibt genügend Varianten und Scripte um offene Fenster zu ermitteln und entsprechend zu versenden.
dtp hat ja auch schon etwas verlinkt. Hätte der TE eine Variante gewählt die hier auch supported wird, bräuchte er erst gar nicht nachfragen.

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 Zentrale (CCU / CCU2 / CCU3 / Charly)“