Seite 1 von 3
Notification senden mit Item Inhalt
Verfasst: 2. Jan 2021 19:59
von lenschith
Hallo zusammen,
ich möchte eine Notification an Mobiletelefone senden mit dem Stringinhalt eine Items. Wie muss ich das in der Rule umsetzen.
Also ich möchte den Textinhalt des Items "DWDUnwetterWarnungenDescription1" als Text in der Notification.
Code: Alles auswählen
rule "Neue Unwetterwarnung"
when
Item Dummy changed to ON
//Channel 'dwdunwetter:dwdwarnings:8a359bbc:updated1' triggered NEW
then
//New Warning send a push notification to everyone
if (Dummy.state == ON) {
sendNotification('name@domain.de', DWDUnwetterWarnungenDescription1)
}
end
Danke.
Lenschi
Re: Notification senden mit Item Inhalt
Verfasst: 2. Jan 2021 21:03
von udo1toni
Na, Du musst auf den Status zugreifen:
Code: Alles auswählen
rule "Neue Unwetterwarnung"
when
Item Dummy changed to ON
//Channel 'dwdunwetter:dwdwarnings:8a359bbc:updated1' triggered NEW
then
//New Warning send a push notification to everyone
if (Dummy.state == ON) {
sendNotification('name@domain.de', DWDUnwetterWarnungenDescription1.state.toString)
}
end
Re: Notification senden mit Item Inhalt
Verfasst: 2. Jan 2021 21:08
von lenschith
Super. Es funktioniert.
Vielen Dank.
Gruß Lenschi
Re: Notification senden mit Item Inhalt
Verfasst: 2. Jan 2021 21:43
von lenschith
Ich hätte noch ein Thema mit einer Rule. Ich möchte gerne in einer Rule eine Transformation verwenden. Aber irgendwie klappt das nicht.
Code: Alles auswählen
rule "Notification Mondphase"
when
//Item MoonPhase changed
Item Dummy changed to on
then
val trans = transform("MAP", "Mond.map", MoonPhase.state.toString)
MoonPhaseDE.postUpdate(trans)
Re: Notification senden mit Item Inhalt
Verfasst: 2. Jan 2021 23:24
von udo1toni
Der Trigger ist falsch. Es muss heißen
Item Dummy changed to ON 
Re: Notification senden mit Item Inhalt
Verfasst: 2. Jan 2021 23:51
von lenschith
Ab und zu sieht man den Wald vor lauter Bäumen nicht.
Danke

Re: Notification senden mit Item Inhalt
Verfasst: 3. Jan 2021 01:25
von lenschith
habe noch ein Problem mit einer Rule.
Ich möchte alle 5 Minuten prüfen ob das Garagentor geöffnet ist und wenn es in der Zeit zwischen 21 Uhr und 5 Uhr morgens geöffnet ist sollte eine Notification gesendet werden. Aber ich scheitere
Code: Alles auswählen
rule "Notification Garage"
when
Time cron "0 0/5 * * * ?"
then
if (now.getHourOfDay > 21 || now.getHourOfDay < 5) && (ShellyGaragentorstatusAddOn == 1)
if (notificationName_Garage.state == ON) {
sendNotification('name@domain.de', "Garage geöffnet")
logInfo("INFO","GarageRule", ShellyGaragentorstatusAddOn)
}
end
Wie kann ich das Sinnvoll umsetzen?
Re: Notification senden mit Item Inhalt
Verfasst: 3. Jan 2021 01:53
von udo1toni
Ist ShellyGaragentorstatusAddOn eine numerische Variable? Vermutlich eher nicht. Viel wahrscheinlicher ist, dass es sich um ein Item handelt. Dann musst Du aber auch den Status des Items anschauen, nicht das Item selbst.
Re: Notification senden mit Item Inhalt
Verfasst: 3. Jan 2021 09:30
von lenschith
Du hast recht, ShellyGaragentorstatusAddOn ist ein Item. Ich habe das so ergänzt ShellyGaragentorstatusAddOn.state, aber leider bekomme ich noch immer keine Benachrichtigung auch im Log kann ich keine Einträge sehen wenn ich auf GrageRule filtere?
Code: Alles auswählen
rule "Notification Garage"
when
Time cron "0 0/5 * * * ?"
then
if (now.getHourOfDay < 21 || now.getHourOfDay > 5) && (ShellyGaragentorstatusAddOn.state == 1)
if (notificationName_Garage.state == ON) {
sendNotification('name@domain.de', "Garage geöffnet")
logInfo("INFO","GarageRule", ShellyGaragentorstatusAddOn.state.toString)
}
end
Re: Notification senden mit Item Inhalt
Verfasst: 3. Jan 2021 12:02
von udo1toni
Warum drehst Du denn die Logik um? Die war schon richtig so. Wobei... Die obere Grenze ist natürlich falsch... Die aktuelle Stunde muss größer oder gleich 21 sein, wenn die Benachrichtigung ab 21 Uhr kommen soll. Andererseits kannst Du das ganze ohnehin über den Trigger erledigen... so:
Code: Alles auswählen
rule "Notification Garage"
when
Time cron "0 0/5 21-23,0-4 * * ?" //zwischen 21:00:00 Uhr und 4:59:59 Uhr, alle 5 Minuten zur vollen Minute
then
if(ShellyGaragentorstatusAddOn.state == 1 && notificationName_Garage.state == ON) {
sendNotification('name@domain.de', "Garage geöffnet")
logInfo("INFO","GarageRule", ShellyGaragentorstatusAddOn.state.toString)
}
end
Es hat hinten noch eine schließende Klammer gefehlt (das ist mir beim Ändern des Codes aufgefallen).