Aktuelle Temperartur pushen

WebUIs (DashUI, yahui, ...), Adapter (Hue, IRTrans, Sonos, ...), Logging, Scripting

Moderator: Co-Administratoren

Antworten
JimPanse
Beiträge: 7
Registriert: 26.10.2016, 19:58

Aktuelle Temperartur pushen

Beitrag von JimPanse » 06.02.2017, 22:16

Hallo Zusammen,

stecke "HM-technisch" noch voll in den Kinderschuchen, weshalb ich zu diesem für Euch warscheinlich trivialen Thema mal etwas hilfe bräuchte.. :?

Wie kann ich die aktuelle Temperatur meines HM_WDS10 auslesen und pushen ?

Hintergrund: Pushe mir gerade für morgens die Meldung "Glatteiswarnung" bei einer ProgAbfrage der Temp bei <1°C.
Diese "Telegram" Message würde ich gerne um die aktuelle Temperatur erweitern... aber wie ?

Hab schon so einige Scrpte gesehen, kann mir aufgrund er komplexität die Einfachheit meiner Anforderung nicht ableiten. :shock:

Danke Euch

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

Re: Aktuelle Temperartur pushen

Beitrag von alchy » 06.02.2017, 22:33

Was benutzt du im Moment?
IMMER entsprechende >>BSC<< und die verwendeten Scripte in Codetags posten.

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.

JimPanse
Beiträge: 7
Registriert: 26.10.2016, 19:58

Re: Aktuelle Temperartur pushen

Beitrag von JimPanse » 07.02.2017, 19:54

Hi Alchy,

sorry... bin hier noch nicht so fit indem, wie man eine richtige Frage postet.
Wahrscheinlich bin ich auch im falschen UNterforum ?!?!

Ich versuch es mal...:

Das Programm
Unbenannt.jpg
und das Script

Code: Alles auswählen

string message = "!! Temperatur <1C - Glatteiswarnung !!";
string chatid = "XXXXXXX"; ! chat_id des Empfängers
string botAPI = "XXXXXXX"; ! API des eingerichteten Bots
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("extra/curl -s -k https://api.telegram.org/bot"#botAPI#"/sendMessage -d text='"#message#"' -d chat_id="#chatid);

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

Re: Aktuelle Temperartur pushen

Beitrag von alchy » 07.02.2017, 20:30

JimPanse hat geschrieben: Wahrscheinlich bin ich auch im falschen UNterforum ?!?!
Jo, bist du - mal schauen, wo ich das reinschiebe. :D
JimPanse hat geschrieben: Ich versuch es mal...:
Dann lass das Programm so, und ändere das Script dazu ab:

Code: Alles auswählen

string wert = "unbekannt";
if (channels.Get("Thermo Gartenhaus")){ wert = dom.GetObject(ID_CHANNELS).Get("Thermo Gartenhaus").DPByHssDP("TEMPERATURE").Value().ToString(1) #" Grad";}
string message = "!! Temperatur "#wert #" - Glatteiswarnung !!";
string chatid = "XXXXXXX"; ! chat_id des Empfängers
string botAPI = "XXXXXXX"; ! API des eingerichteten Bots
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("extra/curl -s -k https://api.telegram.org/bot"#botAPI#"/sendMessage -d text='"#message#"' -d chat_id="#chatid);
Sollte gehen, wenn nicht meklde dich einfach noch mal.

Es ist immer einfacher Usern zu helfen, die sich helfen lassen wollen. :wink:
Und damit ist eben so etwas gemeint, wie ohne Nachfrage >>BidschirmCopys anhängen<<, verwendete Scripte posten, möglichst eine genaue Beschreibung des Gewollten abgeben usw.
Das erspart das Nachfragen, unter anderen Umständen hätte ich vielleicht gar nicht erst nachgefragt und du wärst auf deiner Frage sitzen geblieben.

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.

JimPanse
Beiträge: 7
Registriert: 26.10.2016, 19:58

Re: Aktuelle Temperartur pushen

Beitrag von JimPanse » 08.02.2017, 20:57

Hi Alchy...

danke für deine Bemühungen. Es wird aktuell folgende Mitteilung gepusht: !! Temperatur "unbekannt" - Glatteiswarnung !!
Das ist es jetzt nicht so ganz :shock: :D

Ich hatte mir diese Variante gedacht.... bis aber zu doof das selber final umzusetzen...

!! Temperatur <1°C - Glatteiswarnung !! (nur Text)
Die aktuelle Temperatur liegt bei XX (inkl. aktuellen Temp-Wert bei Auslösen des Progs)

Wäre klasse wenn du mir da noch etwas unter die Arme helfen könntest :!:

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

Re: Aktuelle Temperartur pushen

Beitrag von alchy » 08.02.2017, 23:35

unbekannt wird gepusht wenn dein auszulesender Kanal nicht Thermo Gartenhaus heissen würde, lt. Deiner BSC ist dem aber so :?: :?:
Ich weiß schon, warum ich nie die Namen verwende. :cry:

Probier mal anders.
Du setzt im folgenden Script deine Seriennummer statt der IEQ012345678 deines Temperatursensors ein.

Code: Alles auswählen

WriteLine ((dom.GetObject(ID_DATAPOINTS)).Get("BidCos-RF.IEQ012345678:1.TEMPERATURE").Value().ToString(1) #" Grad");
und wenn du dort eine Ausgabe der Temperatur erhältst, nimmst du das folgende Script zum pushen derselben,

Darin änderst du aber bitte 2 x die Seriennummer :!:

Code: Alles auswählen

string wert = "unbekannt";
if (datapoints.Get("BidCos-RF.IEQ012345678:1.TEMPERATURE")){ wert = datapoints.Get("BidCos-RF.IEQ012345678:1.TEMPERATURE").Value().ToString(1) #" Grad";}
string message = "!! Temperatur "#wert #" - Glatteiswarnung !!";
string chatid = "XXXXXXX"; ! chat_id des Empfängers
string botAPI = "XXXXXXX"; ! API des eingerichteten Bots
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl -s -k https://api.telegram.org/bot"#botAPI#"/sendMessage -d text='"#message#"' -d chat_id="#chatid);
Alchy
Zuletzt geändert von alchy am 23.12.2019, 22:13, insgesamt 1-mal geändert.
Grund: curl Aufruf angepasst

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.

JimPanse
Beiträge: 7
Registriert: 26.10.2016, 19:58

Re: Aktuelle Temperartur pushen

Beitrag von JimPanse » 09.02.2017, 19:53

Da stecke der Teufel mal wieder im Detail ... mein sender heißt Themo_Gartenhaus :shock: :oops:

Nach deiner Vermutung woran es liegen könnte, hab ich natürlich sofort den Fehler im Script gefunden !!

Lieben Dank Alchy

JimPanse
Beiträge: 7
Registriert: 26.10.2016, 19:58

Re: Aktuelle Temperartur pushen

Beitrag von JimPanse » 09.02.2017, 20:13

Noch eine Frage:

Wie finde ich den jetzt selbstständig heraus.... wie ich z.B. auch andere Channels anderer Messfühler auslesen kann, umd diese Zeile zu füllen ??

Code: Alles auswählen

if (channels.Get("Thermo_Gartenhaus")){ wert = dom.GetObject(ID_CHANNELS).Get("Thermo_Gartenhaus").DPByHssDP("TEMPERATURE").Value().ToString(1) #" Grad";}

Auf Luftfeuchtigkeit (HUMUDITY) kann man ja selber schnell kommen ...
Zuletzt geändert von alchy am 10.02.2017, 00:02, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

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

Re: Aktuelle Temperartur pushen

Beitrag von alchy » 10.02.2017, 00:29

JimPanse hat geschrieben:Da stecke der Teufel mal wieder im Detail ... mein sender heißt Themo_Gartenhaus
Nach deiner Vermutung woran es liegen könnte, hab ich natürlich sofort den Fehler im Script gefunden !!
Gratulation. Der Fehler war aber nicht im Script, der Fehler lag an mir.
Hätte ich es dir nicht mundgerecht gemacht, hättest du selber Nachdenken müssen.
Aber ich kann mir nicht helfen, aber bei mir sehe ich deutlich, wenn ich mit _ arbeite 8)
thermo_gartenhaus_alchy.jpg
Alchy
während es bei dir so aussieht:
thermo_gartenhaus_jimpanse.jpg
Jimpanse
thermo_gartenhaus_jimpanse.jpg (18.35 KiB) 3645 mal betrachtet
JimPanse hat geschrieben:Wie finde ich den jetzt selbstständig heraus.... wie ich z.B. auch andere Channels anderer Messfühler auslesen kann, umd diese Zeile zu füllen ??
Mein Tipp: viel Lesen :wink:
In meiner Signatur findest du einige Links die dir dabei helfen könnten.
Für dein Begehr, sollte die verlinkte ScriptDoku passend sein.
Dann entsprechende Hilfsmittel nach eigenen Ermessen (xmlapi addon usw. oder ein paar HM Scripte) und viel probieren, und viel Lesen.
Im Forum gibt es jede Menge Informationen, die man nur Lesen muss.

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.

JimPanse
Beiträge: 7
Registriert: 26.10.2016, 19:58

Re: Aktuelle Temperartur pushen

Beitrag von JimPanse » 13.02.2017, 15:38

Danke dir für deine Hilfe Alchy :!: :!: :!:

Antworten

Zurück zu „CCU.IO“