hallo Zusammen,
bekomme es einfach nicht hin.
Ich habe den Spritpreismonitor lt. WIKI erstellt, läuft.
Auch die normale Ausgabe von [ARAL:Diesel] zeigt den richtigen Wert an.
Aufgabenstellung:Bei Unterschreitung eines Schwellwerts möchte ich per Pushover benachrichtigt werden. Habe das so realisiert
define Diesel_push DOIF ([ARAL:Diesel] < 1.08) (set Pushover msg 'ARAL' '[ARAL:Diesel]€, solltest tanken fahren!!''hans' 1 '')
attr Diesel_push cmdpause 43200
attr Diesel_push do always
Leider funzt das nicht, bekomme keine Nachricht. Formatfehler??
Gruß Günter
Ist schwer dir zu helfen ohne Log zu deinem "es kommt keine Nachricht".
Mit Pushover kenne ich mich nicht aus.
Dein Doif ([ARAL:Diesel] < 1.08) könntest mit :d ([ARAL:Diesel:d] < 1.08)erweitern um auf Zahlen zu gehen.
Auch kannst du dir die Doiftools definieren und zu prüfen ob deine syntax ggf falsch ist.
Hallo Devender,
Danke für den Hinweis, klappt aber so leider nicht:
DOIF: no left bracket of condition: :d (
Gruß Günter
Jetzt richtig eingebaut und Pushover Nachricht überprüft. DOIF löst nicht aus. Die DOIFTOOLS sind nicht installiert.
Jemand noch eine Idee?
Zitat von: Gueco315 am 17 Juli 2017, 22:51:06
Hallo Devender,
Danke für den Hinweis, klappt aber so leider nicht:
DOIF: no left bracket of condition: :d (
Gruß Günter
Poste nochmal deinen kompletten code, die Fehlermeldung bedeutet, dass du vermutlich eine Klammer irgendwo vergessen hast.
Gerne:
define ARAL_Tankstelle DOIF ([ARAL:Diesel:d] < 1.12) (set Pushover msg 'ARAL' '[ARAL:Diesel]€, solltest tanken fahren!!''hans' 1 '')
attr ARAL_Tankstelle cmdpause 43200
attr ARAL_Tankstelle do always
Zitatset Pushover msg 'ARAL' '[ARAL:Diesel]€, solltest tanken fahren!!''hans' 1 ''
ist die syntax dafür korrekt??
und zeig mal einen auszug aus dem eventmonitor
Zitat von: Gueco315 am 18 Juli 2017, 10:14:55
define ARAL_Tankstelle DOIF ([ARAL:Diesel:d] < 1.12) (set Pushover msg 'ARAL' '[ARAL:Diesel]€, solltest tanken fahren!!''hans' 1 '')
Das hat zu viele '-Zeichen und ist syntaktisch falsch.
So funktioniert es bei mir:
(set PBNotification message 'Intelligentes Wohnen' | 'ALARM: Problem mit FB-Mischer - zu hohe Vorlauftemperatur')
Ciao, -MN
set Pushover msg 'ARAL' '[ARAL:Diesel]€, solltest tanken fahren!!' 'hans' 1 ''
Sollte so gehen. Ich würde es aber noch etwas hübscher machen
set Pushover msg '$DEVICE' '[$DEVICE:Diesel]€, solltest tanken fahren!!' 'hans' 1 ''
Ich würde hier auch mit Events arbeiten
define ARAL_Tankstelle DOIF (["^ARAL:Diesel,0] < 1.12) ( set Pushover msg '$DEVICE' '[$DEVICE:Diesel]€, solltest tanken fahren!!' 'hans' 1 '' )
attr ARAL_Tankstelle cmdpause 43200
attr ARAL_Tankstelle do always
Zitat von: Morgennebel am 18 Juli 2017, 13:53:54
Das hat zu viele '-Zeichen und ist syntaktisch falsch.
So funktioniert es bei mir:
(set PBNotification message 'Intelligentes Wohnen' | 'ALARM: Problem mit FB-Mischer - zu hohe Vorlauftemperatur')
Ciao, -MN
Die Syntax vom pushover ist korrekt. Habe ich ganz genau so. Aber vielleicht sollte der Kollege einfach erstmal die Syntax kontrollieren in dem er einfach das ganze in FHEMWEB aus führt. Also die ganze Pushover Syntax
na hoffen wir mal, daß die Spritpreise dauerhaft so niedrig bleiben, damit nicht ständig das DOIF angepasst werden muss... ;)
dann will er ja auch nicht tanken 8) 8)
Hallo Zusammen,
vielen Dank erst einmal für die tolle Unterstützung.
So funktioniert es jetzt bei mir:
define ARAL DOIF ([ARAL:Diesel,0] < 1.05) ({fhem ("set Pushover msg 'ARAL' 'Diesel: [ARAL:Diesel]€!' '' 1 '' ") } )
attr ARAL cmdpause 10800
attr ARAL do always
Wäre schön, wenn man das parametrisieren könnte, den Spritpreis in einem Dummy oder in einer DB abspeichern könnte. Das würde
ein Anpassen des Codes ersparen. Aber so weit gehen meine Perl Kenntnisse leider nicht. Vielleicht hat das ja schon jemand von euch realisiert.
Gruß Günter
guck mal hier
https://fhem.de/commandref_DE.html#dummy
oder hier
https://wiki.fhem.de/wiki/Dummy
define Diesel_push DOIF ([ARAL:Diesel] < [$SELF:preis]) ((set Pushover msg 'ARAL' '[ARAL:Diesel]€, solltest tanken fahren!!''hans' 1 ''))
setreading Diesel_push preis 1.08
Danke euch! Wie gut, dass es euch gibt! :)
Aber das ist jetzt ja nur eine Seite der Lösung...
Du brauchst jetzt noch einen ESP8266 in Deinem Auto, der den CAN-Bus abgreift und Deinen Diesel-Verbauch via WiFi und MQTT an FHEM meldet. Das DOIF sollte nur triggern, wenn Dein Tank weniger als 33% voll ist, sonst ist es Zeitverschwendung. Auch sollte nicht nur eine Tankstelle, sondern zwei-drei verglichen werden, damit der Preis immer optimal ist.
Natürlich sollte das DOIF dann noch Deinen PRESENCE-Status auswerten (willst ja nicht zum Tanken nach Hause fahren, wenn Du gerade im Urlaub in Österreich bist) und Dich während der Schlafenszeit nicht informieren.
Bist Du so freundlich, die komplette Lösung dann hier zu posten? Interessiert bestimmt noch andere...
Danke, -MN