Codehilfe: Kombination WD + perlCode

Begonnen von Andre0909, 22 April 2018, 22:17:11

Vorheriges Thema - Nächstes Thema

Andre0909

moin habe foldendes probiert:

define WD_Stausmeldung WeekdayTimer teleBot 78|13:30|{fhem("set teleBot silentmsg ℹ <b>Systems OK </b> \n <i>Up: </i>(ReadingsVal("System","fhemuptime_text",0)) \n <i>Modus: </i>(ReadingsVal("Automatikmodus","state",0)) ⚠(ReadingsVal("Ueberwachungsmodus","state",0))🔔 (ReadingsVal("Klingelbenachrichtigungsdummy","state",0))")}

Das klappt aber nicht. Was mache ich falsch? Was will ich? jeden Tag um 13:30 eine Telegram Nachricht mit dem Inhalt dahinter....

Nutze Telegram für sehr viele Meldungen die alle ähnlich lauten aber der Zusammenhang mit weekdaytimer will nicht klappen ... :(

Jmd ne idee?

Prof. Dr. Peter Henning



CoolTux

Ich würde das mit einem at lösen, ich glaube für Dein Vorhaben ist der WeekdayTimer nicht so gut.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Beta-User

Näheres zu solcher Art Antwort wie der von pah ist hier zu finden: In welcher Gruppe sollte ich meine Fragen stellen, link in diesem Post: https://forum.fhem.de/index.php/topic,13092.msg105687.html#msg105687

@CoolTux: gebe dir recht, wenn es wie hier täglich zur gleichen Zeit sein soll.

Für den Fall, dass es um die Einarbeitung in den WeekdayTimer ging: die Syntax paßt nicht zu dem, was Weekdaytimer möchte, lt. commandref sollte das so aussehen:
define <name> WeekdayTimer <device> [<language>] [weekdays] <profile> <command>|<condition>

Übertragen auf deine Frage könnte also folgendes Klappen

define WD_Stausmeldung WeekdayTimer teleBot 78|13:30|on {fhem "set teleBot silentmsg ..."}

Das "on" brauchst du nur, damit die Syntax paßt, das könnte auch "blabla" oder "42" stehen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

CoolTux

Bitte bloß nicht 42!!
Damit wären automatisch alle Fragen beantwortet  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Beta-User

Oje, wie konnte ich das übersehen?!?

Die kniffelige Frage ist aber doch, ob der WDT den Wert dieser Antwort auch zu schätzen weiß? Er bekommt sie ja schließlich, und niemand sonst ::) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Prof. Dr. Peter Henning

#7
Hmm. Bisher hat er ja keine Sachfrage gestellt, sondern nur gefragt, ob jemand eine Idee hat. Der Semantik nach muss diese sich noch nicht einmal auf sein Problem beziehen...

Allerdings könnte man natürlich "Was mache ich falsch" auch als Frage verstehen => Antwort: String-Delimiter ".


LG

pah

Andre0909

Zitat von: Beta-User am 23 April 2018, 13:31:22
Näheres zu solcher Art Antwort wie der von pah ist hier zu finden: In welcher Gruppe sollte ich meine Fragen stellen, link in diesem Post: https://forum.fhem.de/index.php/topic,13092.msg105687.html#msg105687

@CoolTux: gebe dir recht, wenn es wie hier täglich zur gleichen Zeit sein soll.

Für den Fall, dass es um die Einarbeitung in den WeekdayTimer ging: die Syntax paßt nicht zu dem, was Weekdaytimer möchte, lt. commandref sollte das so aussehen:
define <name> WeekdayTimer <device> [<language>] [weekdays] <profile> <command>|<condition>

Übertragen auf deine Frage könnte also folgendes Klappen

define WD_Stausmeldung WeekdayTimer teleBot 78|13:30|on {fhem "set teleBot silentmsg ..."}

Das "on" brauchst du nur, damit die Syntax paßt, das könnte auch "blabla" oder "42" stehen...

Danke werde ich ausprobieren

Andre0909

Zitat von: CoolTux am 23 April 2018, 13:28:22
Ich würde das mit einem at lösen, ich glaube für Dein Vorhaben ist der WeekdayTimer nicht so gut.

Gebe ich dir recht, wollte nur flexibler sein, da dies später auch zu anderen Zeiten und Wochentagsabhängig gestaltet werden soll.

Andre0909

Zitat von: Prof. Dr. Peter Henning am 23 April 2018, 16:23:35
Hmm. Bisher hat er ja keine Sachfrage gestellt, sondern nur gefragt, ob jemand eine Idee hat. Der Semantik nach muss diese sich noch nicht einmal auf sein Problem beziehen...

Allerdings könnte man natürlich "Was mache ich falsch" auch als Frage verstehen => Antwort: String-Delimiter ".


LG

pah

In welchem Land ist "Was mache ich falsch? " und ein entsprechender Codeschnipsel keine Sachfrage? Wir können einen philosophischen, grammatikalischen oder sonstigen Diskurs aber gerne auch per PN führen. Sonst müsste ich jetzt auf die Posting regeln betreffend "beim Thema bleiben" verweisen oder?

So long ..

ak

Andre0909

Zitat von: Beta-User am 23 April 2018, 13:31:22
Näheres zu solcher Art Antwort wie der von pah ist hier zu finden: In welcher Gruppe sollte ich meine Fragen stellen, link in diesem Post: https://forum.fhem.de/index.php/topic,13092.msg105687.html#msg105687

@CoolTux: gebe dir recht, wenn es wie hier täglich zur gleichen Zeit sein soll.

Für den Fall, dass es um die Einarbeitung in den WeekdayTimer ging: die Syntax paßt nicht zu dem, was Weekdaytimer möchte, lt. commandref sollte das so aussehen:
define <name> WeekdayTimer <device> [<language>] [weekdays] <profile> <command>|<condition>

Übertragen auf deine Frage könnte also folgendes Klappen

define WD_Stausmeldung WeekdayTimer teleBot 78|13:30|on {fhem "set teleBot silentmsg ..."}

Das "on" brauchst du nur, damit die Syntax paßt, das könnte auch "blabla" oder "42" stehen...
Genauso geht es auch nicht .. vermute mal irgendwas falsches mit Klammern aber komme nicht drauf


Gesendet von iPhone mit Tapatalk

Beta-User

Kein Ahnung, warum das nicht funktioniert.

Anbei ein Beispiel, das ich seit langem so im Einsatz habe:
define Timer_Brunnen_Schildkroeten WeekdayTimer Wasser_Schildkroeten 10:45|1800 12:30|1800 14:00|1800 15:30|1800 17:00|1800 19:00|1800 { if (ReadingsVal("Aussentemperatur_Nord", "state", "no") > 8 && ReadingsVal("Heizung_Schildkroeten","state","active") eq "disabled") { fhem ("set $NAME on-for-timer $EVENT")}}

Soweit mir geläufig, sind die runden Klammern bei fhem ("set $NAME on-for-timer $EVENT") eigentlich nicht notwendig; vielleicht baust du testweise mal welche rein. Wenn das immer noch hakt, kannst du ja noch $NAME statt teleBot testen, aber eigentlich sollte das völlig egal sein.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Prof. Dr. Peter Henning

Wie schon gesagt: Der String ist korrupt, weil die Anführungszeichen ("Delimiter"...) nicht in der richtigen Hierarchie stehen. Ich kann ja verstehen, dass man lieber "Diskurse" führt, als Anführungszeichen zu zählen - dann müssen doch aber bitte die Grundlagen stimmen.

LG

pah

Andre0909

#14
Zitat von: Prof. Dr. Peter Henning am 27 April 2018, 15:33:09
Wie schon gesagt: Der String ist korrupt, weil die Anführungszeichen ("Delimiter"...) nicht in der richtigen Hierarchie stehen. Ich kann ja verstehen, dass man lieber "Diskurse" führt, als Anführungszeichen zu zählen - dann müssen doch aber bitte die Grundlagen stimmen.

LG

pah

Den  Diskurs habe ich kaum begonnen. 2. Hat es ja einen Sinn, dass es im Anfängerforum steht und nicht im "telegram"-Forum, da mir klar war das irgendwo ein "Syntax"-Problem bestehen muss. Mit deiner ersten Antwort konnte ich daher nicht wirklich was anfangen...

.. Back to Basic:

Ich raff es immer noch nicht

define WD_Stausmeldung WeekdayTimer teleBot 78|13:30|on {fhem("set teleBot silentmsg ℹ <b>Systems OK </b> \n <i>Up: </i>(ReadingsVal("System","fhemuptime_text",0)) \n <i>Modus: </i>(ReadingsVal("Automatikmodus","state",0)) ⚠(ReadingsVal("Ueberwachungsmodus","state",0))🔔 (ReadingsVal("Klingelbenachrichtigungsdummy","state",0))")}

Das 1. ""-Paar "klammert" den set von Anfang bis Ende ein {fhem("set ....")}. Die restlichen "" dienen jeweils für die ReadingsVals. Hier habe ich auch keinen zuviel gezählt. Raffs net, sorry