Aus Reading aktion Starten

Begonnen von Abraxsas, 30 Januar 2018, 21:07:58

Vorheriges Thema - Nächstes Thema

Abraxsas

Guten Abend zusammen...

ich komme leider auf keinen Grünen zweig. Ich habe das Abfall modul installiert und möchte jetzt für meine 4 Tonnen eine art Graphische Darstellung haben. Das ganze soll so sein, das am Vortag ein Icon das aussehen ändert (erstmal egal wie)

Gedacht habe ich mir das so. das reading heißt "BlaueTonne_days" das Gerät Heist Mueltonnen.

Jetzt soll das Gerät BlaueTonne beim wert BlaueTonne_days 1 bzw kleiner 1 auf On schalten und danach, wenn der abholtag verüber ist wieder auf off.

Wie realisiert man sowas. Meine Ansätze waren über ein notify aber ich weiß nicht wie man dieses auf bestimmte werte setzt. Ich habe auch etwas von triggern gelesen, aber ich werde da nich schlau drauß.

Hat jemand einen Tip?

Gruß Abraxsas

KernSani

Zitat von: Abraxsas am 30 Januar 2018, 21:07:58
Wie realisiert man sowas. Meine Ansätze waren über ein notify aber ich weiß nicht wie man dieses auf bestimmte werte setzt. Ich habe auch etwas von triggern gelesen, aber ich werde da nich schlau drauß.
Hi,
ich denke ein Ansatzpunkt wäre das Einsteiger-PDF (im Anfängerforum ganz oben im angepinnten Beitrag verlinkt). Die Forumssuche sollte dir auch einiges zur Visualisierung des Abfallkalenders liefern. Wenn du dann ein paar Versuche unternommen hast und nicht weiter kommt, bitte ein "list" der betroffenen Devices und dann sehen wir weiter.

(Die Frage sollte vielleicht ins Anfängerforum - Button zum verschieben findest du ganz unten links).

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

nils_

vielleicht findest du auch im wiki den ein oder anderen hinweis:
https://wiki.fhem.de/wiki/ABFALL

viele Wege in FHEM es gibt!

Abraxsas

#3
Morgen,

ich hab die Sachen schon gelesen, aber ich muss ganz ehrlich sachen ich werde da nicht so Schlau draus, da in allen beschreibungen nur vom Zustand eines Gerätes ausgangen wird, also z.b. Schalter an oder oder, aber ich leider nichts darüber finde wie man auf ein spezielles Reading reagiert.  Mein: Gedanke: Im Modul Abfall befindet sich ein Reading welches BlaueTonne_Days heißt, fallt dieser wert unter 2 (also 1 oder 0) Soll das Gerät BlaueTonne auf on gehen und somit ein Symbol wechseln. Meine frage ist wie realsiert man das. Erstellt man ein Notify welches das Reading Ausliest und dann das Gerät schaltet? Oder bin ich da auf dem Holzweg?

Gruß Abraxsas

nils_

viele Wege in FHEM es gibt!

KernSani

Zitat von: Abraxsas am 01 Februar 2018, 08:51:11
Morgen,

ich hab die Sachen schon gelesen, aber ich muss ganz ehrlich sachen ich werde da nicht so Schlau draus, da in allen beschreibungen nur vom Zustand eines Gerätes ausgangen wird, also z.b. Schalter an oder oder, aber ich leider nichts darüber finde wie man auf ein spezielles Reading reagiert.  Mein: Gedanke: Im Modul Abfall befindet sich ein Reading welches BlaueTonne_Days heißt, fallt dieser wert unter 2 (also 1 oder 0) Soll das Gerät BlaueTonne auf on gehen und somit ein Symbol wechseln. Meine frage ist wie realsiert man das. Erstellt man ein Notify welches das Reading Ausliest und dann das Gerät schaltet? Oder bin ich da auf dem Holzweg?

Gruß Abraxsas
Mal ganz grundsätzlich: In FHEM reagiert man überwiegend  auf events. Events werden z.B. erzeiugt, wenn ein reading aktualisiert wird. Mit anderen Worten, du kannst ein notify bauen, das auf das Event reagiert, das bei Änderung von BlaueTonne_Days erzeugt wird. Was für ein Event das ist, kannst du im Eventmonitor herausfinden. Im Ausführungsteil des Notify kannst du dann den Wert abfragen (wenn er nicht schon als $EVTPART mitkommt) und entsprechend reagieren.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Abraxsas

#6
AHHH das hilft mir schonweiter... aber leider nur bedingt...

DEF          Muelltonnen:GraueTonne_days:.* set Graue_Tonne on

Funktioniet, aber eben leider immer wenn ein Update es Wertes Passiert, gut das sagt auch das .*

DEF   Muelltonnen:GraueTonne_days:1 set Graue_Tonne on

Das geht leider nicht, ich denke mal das man die Bedingung anders scheiben muss?!

könntet ihr mir verraten wie ich das von der Syntax her anpassen muss?

Gruß
Abraxsas

marvin78

Wie das Event aussieht, siehst du im Event-Monitor, wie es dir schon geraten wurde.

Bitte beschäftige dich mal mit den Grundlagen.

Abraxsas

Also das mit dem Event hab ich ja gemacht dieses Schreibt

2018-02-01 13:04:24 ABFALL Muelltonnen GraueTonne_days: 1

aber ich verstehe nicht wie ich das in das Notify einsetzen soll.


CoolTux


DEF   Muelltonnen:GraueTonne_days:.1 set Graue_Tonne on


RexExp

Und damit es nicht reagiert wenn bei der nächsten Aktualisierung wieder ein Muelltonnen:GraueTonne_days: 1 kommt musst Du Dir event-on-change-reading beim Abfalldevice an schauen.
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

Abraxsas

Ahhh der Punk wars.... Vielen Dank... und es wieder Off zu setzen braucht es ein Seperates Notify richtig? Dann glaube ich ich hab das verstanden.

Vielen Dank :-)

CoolTux

Zitat von: Abraxsas am 01 Februar 2018, 14:24:13
Ahhh der Punk wars.... Vielen Dank... und es wieder Off zu setzen braucht es ein Seperates Notify richtig? Dann glaube ich ich hab das verstanden.

Vielen Dank :-)

Nein braucht es nicht. Nur ein klitzekleines bisschen Perl

Muelltonnen:GraueTonne_days:.[0-1] fhem("set Graue_Tonne " . $EVTPART1 == 1 ? 'on' : 'off');
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

Abraxsas

#12
Ich hab deinen Code mal eingesetzt, der funktioniert leider nicht. Wärest so nett den mal zu übersetzen, dann versuche ich den "Fehler" zu finden?
:-)

nils_

der regex GraueTonne_days:.[0-1] von CoolTux triggert auf GraueTonne_days:.0 und GraueTonne_days:.1

ich denke da fehlen die restlichen tage :)
ich bevorzuge da doch wieder '.*' und dann entscheiden, ob 'on' oder 'off' gesetzt wird ;)

was beduetet für dich denn "Abholtag ist vorbei" ??
days = 0 ?
days wieder > 1 ??

nochmal zurück zu CoolTux Regex:
das würde funktionieren, wenn du "days = 0" als "Abholtag ist vorbei" nutzt!
weil: bei days = 1, setzt er 'on', und wenn '0' wieder off, bis zum nächsten mal '=1'.
viele Wege in FHEM es gibt!

Abraxsas

Ok das wäre dann eine möglichkeit... Ich habe es dann über eine If FUnktion gelöst, tuts auch

Hier ein Beispiel:

Muelltonnen:BlaueTonne_days:.* {if("$EVTPART1" < 2){fhem ("set Blaue_Tonne on")} else {fhem ("set Blaue_Tonne off")}}