Hi,
da es mittels DOIF nicht so wirklich geklappt hat, versuche ein Notify zu erstellen.
Es geht im Prinzip darum wenn ich die Kaffeemaschine per Taster anschalte, sollte die Kaffeemaschine dann nach ca. 30 min. ausgeschaltet werden.
Hab es testweise auf 30 Sek gestellt, aber das Notify geht den Zweig Befehl sofort durch ohne Pause bzw. Sleep.
Habe bestimmt einige Fehler drinnen.
Kaffeemaschinen_Steckdose:power:.* {
if (ReadingsNum("Kaffeemaschinen_Steckdose", "power", 0) > 1800 ) {
fhem("set Pushnachricht msg 'Kaffeemaschine problem' 'TEST test test {(localtime)}''Micky-Iphone' 0 ''");
}
if (ReadingsNum("Kaffeemaschinen_Steckdose", "power", 0) > 10 && ReadingsVal("Kaffeemaschine", "state", "off") eq "on" && ReadingsVal("rgr_Residents", "state", "absent") eq "home"){
fhem("set Pushnachricht msg 'Kaffeemaschine 1tes mal an' 'Kaffemaschine angeschaltet per KNOPF {(localtime)}''Micky-Iphone' 0 ''");
fhem(";;sleep 30;;set Kaffeemaschine off");
fhem("set Kaffeemaschine on;;sleep 30");
fhem("set Kaffeemaschine off;;sleep 1");
fhem("set Pushnachricht msg 'Kaffeemaschine autoausschaltung' 'Kaffemaschine wird ausgeschaltet {(localtime)}''Micky-Iphone' 0 ''");
}
if (ReadingsNum("Kaffeemaschinen_Steckdose", "power", 0) > 10 && ReadingsVal("Kaffeemaschine", "state", "off") eq "off" && ReadingsVal("rgr_Residents", "state", "absent") eq "home") {
fhem("set Pushnachricht msg 'Kaffeemaschine Manuel ein' 'Kaffemaschine wird angeschaltet per APP {(localtime)}''Micky-Iphone' 0 ''");
fhem("set Kaffeemaschinen_Steckdose off;;sleep 2");
fhem("set Kaffeemaschine on;;sleep 30");
fhem("set Kaffeemaschine off;;sleep 1");
fhem("set Pushnachricht msg 'Kaffeemaschine autoausschaltung Manuel' 'Kaffemaschine wird ausgeschaltet {(localtime)}''Micky-Iphone' 0 ''");
}
}
ich glaub die sleep greifen aber nicht, evtl. liegt es an den doppelten " ;; "
ZitatEs geht im Prinzip darum wenn ich die Kaffeemaschine per Taster sollte die Kaffeemaschine dann nach ca. 30 min. ausgeschaltet werden hab es testweise auf 30 Sek gestellt, aber das Notify geht jeden Befehl sofort durch.
Verstehe ich nicht! Vielleicht helfen ein paar Kommas und Satzenden mehr.
Sorry habs editiert.
Hoffe jetzt ist es etwas verständlicher.
Sowas sollte man nicht coden:
fhem("set Kaffeemaschine on;;sleep 30");
fhem("set Kaffeemaschine off;;sleep 1");
fhem("set Pushnachricht msg 'Kaffeemaschine autoausschaltung' 'Kaffemaschine wird ausgeschaltet {(localtime)}''Micky-Iphone' 0 ''");
sleep am Ende akzeptiert FHEM nicht mehr, da es FHEM wirklich komplett blockieren würde.
Was "sleep" (der FHEM-Befehl!) eigentich macht, ist einen Internaltimer anzulegen, und die Befehle zeitversetzt abzusetzen. Vermutlich willst du eher sowas erreichen:
fhem("set Kaffeemaschine on;;sleep 30;;set Kaffeemaschine off;;sleep 1;;set Pushnachricht msg 'Kaffeemaschine autoausschaltung' 'Kaffemaschine wird ausgeschaltet {(localtime)}''Micky-Iphone' 0 ''");
Die doppelten ;; sind übrigens notwendig (und bei weiteren Verschachtelungen in jeder Ebene weiter zu verdoppeln), damit später erkennbar ist, in welche Ebene das gehört. Siehe auch cref zu sleep mw. Links.
genau,
aber irgendwie bekomm ich den ganzen Befehl als Push Nachricht gesendet, hab folgendes probiert:
if (ReadingsNum("Kaffeemaschinen_Steckdose", "power", 0) > 10 && ReadingsVal("Kaffeemaschine", "state", "off") eq "on" && ReadingsVal("rgr_Residents", "state", "absent") eq "home"){
fhem("set Pushnachricht msg 'Kaffeemaschine 1tes mal an' 'Kaffemaschine wird angeschalter für 30 min {(localtime)}''Micky-Iphone' 0 '';;sleep 30;;set Kaffeemaschine off;;sleep 30;;set Kaffeemaschine off;;set Pushnachricht msg 'Kaffeemaschine autoausschaltung' 'Kaffemaschine wird ausgeschaltet {(localtime)}''Micky-Iphone' 0 ''");
}
Hmm, dann sieht mir das nach einem Problem aus dem msg-Bereich aus.
Kannst du ggf. erst mal so entzerren (ungetestet...):
if (ReadingsNum("Kaffeemaschinen_Steckdose", "power", 0) > 10 && ReadingsVal("Kaffeemaschine", "state", "off") eq "on" && ReadingsVal("rgr_Residents", "state", "absent") eq "home"){
fhem("set Pushnachricht msg 'Kaffeemaschine 1tes mal an' 'Kaffemaschine wird angeschalter für 30 min {(localtime)}''Micky-Iphone' 0 ''");
fhem("sleep 30;;set Kaffeemaschine off;;sleep 30;;set Kaffeemaschine off;;set Pushnachricht msg 'Kaffeemaschine autoausschaltung' 'Kaffemaschine wird ausgeschaltet {(localtime)}''Micky-Iphone' 0 ''");
}
Kannst Du nicht anstatt der sleep ein "at" setzen?
Also mir ist die Ganze Konstruktion etwas "unübersichtlich" ....
Hi,
im notify geht jetzt garnix mehr
Kaffeemaschinen_Steckdose:power:.* {
if (ReadingsNum("Kaffeemaschinen_Steckdose", "power", 0) > 1 ) {
fhem("set Pushnachricht msg 'Kaffeemaschine problem' 'Kaffemaschine wird ausgeschaltet {(localtime)}''Micky-Iphone' 0 ''");
}
oder
Kaffeemaschinen_Steckdose:power:.* {
if (ReadingsNum("Kaffeemaschinen_Steckdose", "power", 0) > 1 ) {
fhem("set Kaffeemaschine off");
}
liegt also nicht an der Pushnachricht.
notify State ist aktiv.
Hat jemand eine Idee
Danke
Zitatnotify State ist aktiv.
Wie jetzt? state -> active und STATE auch? oder steht im STATE eine Zeit?
Siehst Du denn Events im Eventmonitor mit diesem Filter?
Kaffeemaschinen_Steckdose:power:.*
Du kannst auch Logeinträge einbauen: -> https://wiki.fhem.de/wiki/Notify
Gruß Otto
Abend Otto,
ne ich meinte
notify_Kaffeemaschine activ
also das mein notify aktiv ist allerdings passiert nix.
notify_Kaffeemaschine 2019-09-09 23:38:20
ja, im event Monitor ist power als reading und wird ausgegeben :
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose icon_hash:
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose latitude: 50.1384
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose led_off: 0
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose longitude: 8.6844
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose mac: D8:0D:17:3E:75:A0
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose model: HS110(EU)
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose next_action: HASH(0x4ec3380)
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose oemId: 1998A14DAA86E4E001FD7CAF42868B5E
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose on_time: 703
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose relay_state: 1
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose rssi: -76
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose sw_ver: 1.5.4 Build 180815 Rel.121440
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose type: IOT.SMARTPLUGSWITCH
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose updating: 0
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose on
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose decode_json: ok
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose current: 0.03
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose err_code: 0
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose power: 0.833
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose total: 2.268
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose voltage: 233.32
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose decode_json: ok
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose daily_total: 0.646
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose monthly_total: 2.449
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose daily_average: 612.25
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose watt: 0.833
2019-09-09 23:28:11 TPLinkHS110 Kaffeemaschinen_Steckdose energy: 0.646
naja Du hast jetzt meine Frage nicht beantwortet:
Steht im state und im STATE active oder steht im STATE eine Zeit?
Wenn im STATE active steht, hat das notify nie ausgelöst. Ansonsten steht dort die Zeit des letzten Auslösetriggers.
Du hast auch nicht das regEx im Eventmonitor getestet sondern einfach nur Kaffeemaschinen_Steckdose.* :-X
Aber das regEx sollte eigentlich passen, wenn mit dem was Du im Eventmonitor gezeigt hast und dem regEx das notify nicht auslösen sollte weiß ich nicht was faul ist.
Das ReadingsNum("Kaffeemaschinen_Steckdose", "power", 0) kannst Du komplett ersetzen durch $EVTPART1 der Wert kommt ja durch den Event schon rein. Ein extra Auslesen kostet nur zusätzlich Energie :)
Gruß Otto
Hallo Otto,
im state steht erst activ, und nach ca 1/2 min ein Datum und eine Zeit, steht auch im Oberen Post von mir.
Aber irgendwie greift die Bedingung nicht.
Dann bau doch ein else in Dein notify, welches Dir einen Eintrag ins Logfile schreibt.
Dann weißt Du, dass notify wird ausgelöst , aber Deine if-Bedingung trifft nicht.
Hallo Micky,
Zitat von: Micky am 10 September 2019, 14:31:32
im state steht erst activ, und nach ca 1/2 min ein Datum und eine Zeit, steht auch im Oberen Post von mir.
Dann hast Du ein anderes FHEM als ich. :-\
Nenn mich Krümelkacker ;) aber bei mir steht in keinem notify im state ein Datum:
ALLE_ROLLOS_ 2019-08-25 22:02:43 state active
STATE active
FB12_notify_2 2019-08-25 22:02:44 state active
STATE 2019-09-08 22:00:26
FHEMinit 2019-08-25 22:02:43 state active
STATE 2019-08-25 22:03:02
FensterWZR_notify_1 2019-08-25 22:02:59 state active
STATE 2019-09-01 01:02:47
MyNotify10 2019-08-25 22:02:37 state active
STATE active
WohnzimmerGoSleep 2019-08-25 22:02:43 state disabled
STATE disabled
initialUsbCheck 2019-08-25 22:02:33 state disabled
STATE disabled
n_wetter 2019-08-25 22:03:02 state inactive
STATE inactive
nty_Aktor1 2019-08-25 22:02:44 state active
STATE active
nty_Aktor2 2019-08-25 22:02:44 state active
STATE active
nty_AnrufKlingelt 2019-08-25 22:02:36 state active
STATE 2019-09-09 12:44:18
nty_GutenMorgen 2019-08-25 22:03:02 state inactive
STATE inactive
nty_HausLicht 2019-08-25 22:02:42 state active
STATE 2019-09-10 10:55:25
nty_Klingel 2019-08-25 22:02:43 state active
STATE active
nty_Klingel1 2019-08-25 22:03:02 state inactive
STATE inactive
nty_KlingelLong 2019-08-25 22:02:43 state active
STATE active
nty_ModRss 2019-08-25 22:02:44 state active
STATE active
nty_PIRFront 2019-08-25 22:02:36 state disabled
STATE disabled
nty_PIRFront1 2019-08-25 22:02:44 state disabled
STATE disabled
nty_PIRTest 2019-08-25 22:03:02 state inactive
STATE inactive
nty_RolloLueftungSZ 2019-08-25 22:02:43 state active
STATE 2019-09-09 23:24:10
nty_RolloRauf 2019-08-25 22:02:36 state active
STATE 2019-08-30 09:04:33
nty_RolloRunter 2019-08-25 22:02:36 state active
STATE active
nty_SW81 2019-08-25 22:02:43 state active
STATE 2019-09-10 10:54:52
nty_Schalter 2019-08-25 22:02:44 state active
STATE active
nty_SonosPlayerWZStop 2019-08-25 22:02:43 state active
STATE 2019-09-09 16:43:21
nty_Test1 2019-08-25 22:02:43 state active
STATE active
nty_Test2 2019-08-25 22:02:43 state active
STATE active
nty_Test3 2019-08-25 22:02:43 state disabled
STATE disabled
nty_Test5 2019-08-25 22:03:02 state inactive
STATE inactive
nty_Testmail 2019-09-10 11:43:19 state active
STATE 2019-09-10 11:43:57
nty_TorAuf 2019-08-25 22:02:43 state active
STATE 2019-09-10 10:54:51
nty_TorZu 2019-08-25 22:02:43 state active
STATE 2019-09-06 10:36:34
nty_battery 2019-08-25 22:02:43 state active
STATE 2019-09-09 19:06:51
ser2netUart_notify_1 2019-08-25 22:03:02 state inactive
STATE inactive
Dann mach doch aus deinem notify mal dies:
Kaffeemaschinen_Steckdose:power:.* {Log 1, "Das Device $NAME hat ausgeloest, der Event sah so aus: $EVENT"}
Gruß Otto
Guten Abend,
notify_Kaffeemaschine 2019-09-10 19:01:59
Im Log steht folgendes : "2019.09.10 19:02:59 3: notify_Kaffeemaschine return value: Unknown command {Log, try help."
2019.09.10 19:02:59 3: notify_Kaffeemaschine return value: Unknown command {Log, try help.
2019.09.10 19:02:59 3: TPLinkHS110: Kaffeemaschinen_Steckdose Get end
2019.09.10 19:03:29 3: TPLinkHS110: Kaffeemaschinen_Steckdose Get called. Relay state: 1, RSSI: -72
2019.09.10 19:03:29 2: TPLinkHS110: Kaffeemaschinen_Steckdose Realtime data updated
2019.09.10 19:03:29 3: TPLinkHS110: Kaffeemaschinen_Steckdose Device is an HS110. Got extra realtime data: 0.815 Watt, 231.859 Volt, 0.029 Ampere
2019.09.10 19:03:29 3: TPLinkHS110: Kaffeemaschinen_Steckdose Updating daystat. Data: {"emeter":{"get_daystat":{"day_list":[{"year":2019,"month":9,"day":6,"energy_wh":377},{"year":2019,"month":9,"day":7,"energy_wh":964},{"year":2019,"month":9,"day":8,"energy_wh":462},{"year":2019,"month":9,"day":9,"energy_wh":707},{"year":2019,"month":9,"day":10,"energy_wh":16}],"err_code":0}}}
2019.09.10 19:03:29 2: TPLinkHS110: Kaffeemaschinen_Steckdose Daystat updated
2019.09.10 19:03:29 3: TPLinkHS110: Kaffeemaschinen_Steckdose Updating readings
2019.09.10 19:03:29 3: notify_Kaffeemaschine return value: Unknown command {Log, try help.
2019.09.10 19:03:29 3: TPLinkHS110: Kaffeemaschinen_Steckdose Get end
list notify
Internals:
.COMMAND {Log 1, "Das Device $NAME hat ausgeloest, der Event sah so aus: $EVENT"}
DEF Kaffeemaschinen_Steckdose:power:.* {Log 1, "Das Device $NAME hat ausgeloest, der Event sah so aus: $EVENT"}
FUUID 5d764244-f33f-6e03-adcf-e978de8d190175dd
NAME notify_Kaffeemaschine
NOTIFYDEV Kaffeemaschinen_Steckdose
NR 186
NTFY_ORDER 50-notify_Kaffeemaschine
REGEXP Kaffeemaschinen_Steckdose:power:.*
STATE 2019-09-10 19:04:59
TRIGGERTIME 1568135099.72739
TYPE notify
.attraggr:
.attrminint:
READINGS:
2019-09-10 18:57:54 state active
Attributes:
room Logik
Danke nochmal
Ich meine da ist was kaputt :(
Was macht er bei diesem Befehl in der FHEM Kommandozeile?
{Log 1, "Hallo"}
Kannst Du mal in dem notify alles nach der Klammer } löschen! Also ich sehe da ja jede Menge Leerzeilen in der DEF :-[
Aber wenigsten stimmt state und STATE, kannst Du so nachschauen :)
list notify_Kaffeemaschine state STATE
Hallo Otto,
ja hab die Leerzeichen gelöscht.
im Log kommt jetzt:
2019.09.10 19:29:24 1: Hallo
in er Kommandozeile kommt keine ausgabe da steht nur eine 1
{Log 1, "Hallo"}
wenn ich den Befehl in der Kommandozeile
{ "Hallo"}
schreibe kommt ein Hallo als rückgabewert
list notify_Kaffeemaschine state STATE
notify_Kaffeemaschine 2019-09-10 19:30:42 state active
STATE 2019-09-10 19:35:29
Naja und nun? :-[
Das der Befehl ein 1 in der WebUi gibt und dabei Hallo ins Log schreibt war das was ich erwartet habe. Funktioniert denn nun der ursprüngliche Log Eintrag im notify?
Bei mir funktioniert das so einwandfrei!
defmod notify_Kaffeemaschine notify Kaffeemaschinen_Steckdose:power:.* {Log 1, "Das Device $NAME hat ausgeloest, der Event sah so aus: $EVENT"}
Wir füllen jetzt schon 2 Seiten mit einem notify :(
Wenn der Log Eintrag kommt kannst Du wieder deine msg versuchen, der Ausgangspunkt von Dir war ja: Es geht nichts mehr!
phuu schwere Geburt.
defmod notify_Kaffeemaschine notify Kaffeemaschinen_Steckdose:power:.* {Log 1, "Das Device $NAME hat ausgeloest, der Event sah so aus: $EVENT"}
Hier die ausgabe
2019.09.10 20:18:30 1: Das Device Kaffeemaschinen_Steckdose hat ausgeloest, der Event sah so aus: power: 1.234
Da stand wirklich 1.234 Watt ? Lustig ;)
Versuch mal das:
defmod notify_Kaffeemaschine notify Kaffeemaschinen_Steckdose:power:.* {if ($EVTPART1 > 10) {Log 1, "Maschine läuft, Power: $EVTPART1"};; if ($EVTPART1 <= 10) {Log 1, "Maschine aus, Power: $EVTPART1"}}
Was wolltest Du eigentlich für ein Problem beheben? ;) Vielleicht kannst Du hier jetzt aufsetzen?
Hi Otto,
die Kaffeemaschine hat einen 12V taster und einen Figaro FGS-222 der einen Potentialfreien Kontakt hat, dieser kann die Maschine an und ausschalten.Allerdings wenn ich die Kaffeemaschine per Taster einschalte bekommt das Fibaro Relais kein State aktualisiert.
Ich wollte das mittels Notify automatisiert einstellen
wenn Taster an der Kaffeemaschine gedrückt würd, ist die Kaffeemaschine lt. Fhem noch aus also
if ($EVTPART1 > 10 && ReadingsVal("Kaffeemaschine", "state", "off") eq "off") {
dann kann er die Kaffeemaschine kurz über den Kaffeemaschinen Wall Plugin aus schalten wieder einschaltet dann die Kaffeemaschine einschaltet und das Relais weiss das das Gerät an ist. Und der zustand wurde quasi umständlich aber aktualisiert.
aktuell hab ich das problem mehrere Aktionen auszuführen
fhem("set WZ_Fenster_Licht on;; set Flur_Licht on");
ah mit einem ; geht es :)
LOG
set WZ_Fenster_Licht on;; set Flur_Licht on : Unknown argument on;, choose one of associationAdd associationDel configByte configDefault configDimLevelWhenLightIsTurnedON:FullBrightnessDefault,LastBrightnessSetting configDimmingBrighteningStepLevel configDimmingBrighteningStepTiming configLong configWord dim:slider,0,1,99 dimUpDown neighborUpdate:noArg off:noArg on:noArg powerlevel powerlevelTest returnRouteAdd returnRouteDel:noArg stop:noArg sucRouteAdd:noArg sucRouteDel:noArg swaIncludeNone:noArg swaIncludeOff:noArg swaIncludeOn:noArg swaIncludeOnOff:noArg swaOff:noArg swaOn:noArg on-for-timer intervals blink toggle off-till-overnight off-till off-for-timer on-till on-till-overnight
2019.09.10 20:40:00 3: TPLinkHS110: Kaffeemaschinen_Steckdose Get end
dein Letzter Notify :
LOG:
2019.09.10 20:50:33 1: Maschine aus, Power: 0.999
Watt gehen nur über 1000 wenn die Maschine 1-2 Min aufheizen tut.
Sonst immer um die 1-2 Watt
Mit den semikolons musst Du aufpassen!
Steht hier gut beschrieben https://commandref.fhem.de/#command
Abend,
ich glaub mein vorhaben ergibt wenig bis überhaupt keinen sinn, da ja es dann als Endlosschleife laufen würde: Wenn >1 Watt und Maschine ON ?
:o
kann man das so machen das wenn Bedingung Wahr ist das ganze nur 1x durchlaufen wird ?
Ehrlich gesagt: ich versteh es nicht so ganz. Aber manchmal hilft es in solchen Fällen immer den Status mit einzubeziehen. Kann man leicht mit Filter:
set Aktor:FILTER=state!=on on
set Aktor:FILTER=state!=off off
Aber ich glaube das passt bei Dir nicht.
Oder eben in ein Reading schreiben und das separat mit abfragen.
Du kannst noch was modulo 2 zählen. Also nur jedes zweite Mal den Abfragezweig durchlaufen.
Danke Otto,
habe eben über Fhem Kommandozeile
set Kaffeemaschine:FILTER=state!=on on
und die Kaffeemaschine ist angegangen.
Aber was bezweckt FILTER nicht das er den Stautus filtert nach On oder off ?
Ich schaue es mir morgen an mit Reading oder Modulo 2 .....
Gute nacht und DANKE
Ja ich bin mit Deiner Anwendung unsicher ....
state!=on on bedeutet nicht on - das bewirkt eigentlich: sende nicht unnötig on wenn schon on ist.
Du kannst es auch so machen
state=off on bedeutet sende nur on wenn off ist
Hi,
also ich habe folgendes Problem, das ich beim Fibaro Relais FGS-222 immer wenn ich per Fhem das Gerät (Kaffeemaschine) an und wieder ausschalten möchte ich folgendes machen muss:
über FHEM an und ausschalten:
State = Aktion der Kaffeemaschine
ON = Kaffeemaschine an
OFF / ON / OFF = Kaffeemaschine aus
das heisst ich muss beim ausschalten über Fhem immer wieder OFF klicken dann wieder ON dann wieder OFF damit sie sich tatsächlich ausschaltet.
Schwieriger wird wenn ich die Kaffeemaschine per Knopfdruck (Taster) einschalte bekommt das Relais FGS-222 leider nix mit und denkt die Kaffeemaschine ist aus.
wenn ich sie dann aber über fhem einschalte, wird sie ausgeschaltet. Also das gegenteil da in Fhem die Kaffeemaschine aus war.
(Deshalb musste ich umständlich mit einem Wall Plugin (Stromstecker) arbeiten. Wenn Spannung > 1 Watt dann schalte Wall Plugin aus wieder ein, Kaffeemaschine über Fhem aus wieder an und dann war der State aktuell. Aber das nur nebenbei evtl. gibts ne einfachere Möglichkeit. setstate Kaffeemaschine on bringt leider auch nix.) Aber das nur nebenbei.....
LIST Kaffeemaschine (FIBARO FGS-222)
Internals:
DEF c7abb922 30
FUUID 5d6a797d-f33f-6e03-4a8a-9b40741ed5fe4d44
IODev ZWAVE1
LASTInputDev ZWAVE1
MSGCNT 4
NAME Kaffeemaschine
NR 174
STATE off
TYPE ZWave
ZWAVE1_MSGCNT 4
ZWAVE1_RAWMSG 001338010257
ZWAVE1_TIME 2019-09-09 22:23:21
ZWaveSubDevice no
cmdsPending 0
endpointChildren Kaffeemaschine01,Kaffeemaschine02
homeId c7abb922
isWakeUp
lastMsgSent 1568150284.97735
nodeIdHex 1e
.attraggr:
.attrminint:
.vclasses:
ASSOCIATION 2
CONFIGURATION 1
FIRMWARE_UPDATE_MD 1
MANUFACTURER_SPECIFIC 1
MULTI_CHANNEL 2
MULTI_CHANNEL_ASSOCIATION 1
POWERLEVEL 1
SWITCH_ALL 1
SWITCH_BINARY 1
VERSION 1
READINGS:
2019-09-01 00:05:06 assocGroup_1 Max 5 Nodes ZWAVE1
2019-09-01 00:05:06 assocGroup_2 Max 5 Nodes
2019-09-01 00:05:06 assocGroup_3 Max 1 Nodes ZWAVE1
2019-09-01 00:05:06 assocGroups 3
2019-09-09 21:02:09 associatedWith Kaffeemaschine01,Kaffeemaschine02
2019-08-31 23:40:25 configALARMFLASHINGAlarmTime 600
2019-08-31 23:40:25 configAutoOffForRelay1 0
2019-08-31 23:40:25 configAutoOffForRelay2 0
2019-08-31 23:40:25 configAutoOffRelayAfterSpecifiedTime ManualOverrideDisabled
2019-08-31 23:40:25 configControlKey2Behaviour DeviceStatusIsNotChecked
2019-08-31 23:40:25 configDimmerRollerShutterControl DisableDimmerRollerShutter0
2019-08-31 23:40:26 configEnableDisableALLONOFF ALLONActiveALLOFFActive
2019-08-31 23:40:26 configInputsBehaviour Toggle
2019-08-31 23:40:26 configInputsButtonSwitchConfiguration BiStableInputSwitch
2019-08-31 23:40:26 configRelay1ResponseToGeneralAlarm ALARMFLASHINGRelayWillTurnONAndO3
2019-08-31 23:40:26 configRelay1ResponseToSmokeCOCO2Alarm ALARMFLASHINGRelayWillTurnONAndO3
2019-08-31 23:40:26 configRelay1ResponseToTemperatureAlarm ALARMRELAYONRelayWillTurnONUpon1
2019-08-31 23:40:27 configRelay1ResponseToWaterFloodAlarm ALARMRELAYOFFRelayWillTurnOFF2
2019-08-31 23:40:27 configRelay2ResponseToGeneralAlarm ALARMFLASHINGRelayWillTurnONAndO3
2019-08-31 23:40:27 configRelay2ResponseToSmokeCOCO2Alarm ALARMFLASHINGRelayWillTurnONAndO3
2019-08-31 23:40:27 configRelay2ResponseToTemperatureAlarm ALARMRELAYONRelayWillTurnONUpon1
2019-08-31 23:40:27 configRelay2ResponseToWaterFloodAlarm ALARMRELAYOFFRelayWillTurnOFF2
2019-08-31 23:40:27 configSavingStateBeforePowerFailure StateSavedAtPowerFailureAll1
2019-08-31 23:40:28 configSeparationOfAssociationSending6 MapStatusToAllDevicesInGroup10
2019-08-31 23:45:29 mcCapability_01 SWITCH_BINARY
2019-08-31 23:45:29 mcCapability_02 SWITCH_BINARY
2019-08-31 23:45:28 mcEndpoints total 2, identical
2019-08-31 23:40:37 mcaGroups 2
2019-08-31 23:40:37 mca_1 Max 5 Nodes ZWAVE1
2019-08-31 23:40:37 mca_2 Max 5
2019-08-31 15:43:34 model FIBARO System FGS222 Double Relay Switch 2x1.5kW
2019-08-31 15:43:34 modelConfig fibaro/fgs222.xml
2019-08-31 15:43:34 modelId 010f-0202-1002
2019-09-05 17:09:51 reportedState off
2019-09-10 23:18:04 state off
2019-09-10 23:18:05 timeToAck 0.055
2019-09-10 23:18:05 transmit OK
Attributes:
IODev ZWAVE1
alexaName Kaffeemaschine
alexaRoom Küche
classes MANUFACTURER_SPECIFIC VERSION CONFIGURATION ASSOCIATION MULTI_CHANNEL_ASSOCIATION MULTI_CHANNEL SWITCH_BINARY SWITCH_ALL FIRMWARE_UPDATE_MD POWERLEVEL MARK SWITCH_BINARY MULTI_CHANNEL
devStateIcon on:taster_ch_an_gruen@green off:taster_ch_aus_rot@red
group Küche
icon sani_boiler_temp
room Homekit,Wohnung,ZWave,alexa
vclasses ASSOCIATION:2 CONFIGURATION:1 FIRMWARE_UPDATE_MD:1 MANUFACTURER_SPECIFIC:1 MULTI_CHANNEL:2 MULTI_CHANNEL_ASSOCIATION:1 POWERLEVEL:1 SWITCH_ALL:1 SWITCH_BINARY:1 VERSION:1
FGS 222 XML
<Product Revision="5" xmlns="https://github.com/OpenZWave/open-zwave">
<!-- Configuration -->
<CommandClass id="112">
<Value genre="config" index="1" instance="1" label="Enable/Disable ALL ON/OFF" size="1" type="list" value="255">
<Help>Enable/Disable ALL ON/OFF</Help>
<Item label="ALL ON disabled/ ALL OFF disabled" value="0"/>
<Item label="ALL ON disabled/ ALL OFF active" value="1"/>
<Item label="ALL ON active / ALL OFF disabled" value="2"/>
<Item label="ALL ON active / ALL OFF active" value="255"/>
</Value>
<Value genre="config" index="3" instance="1" label="Auto off relay after specified time" size="1" type="list" value="0">
<Help>Auto off relay after specified time, with the possibility of manual override - immediate Off after button push.
Default value: 0 Manual override disabled</Help>
<Item label="Manual override disabled" value="0"/>
<Item label="Manual override enabled" value="1"/>
</Value>
<Value genre="config" index="4" instance="1" label="Auto off for relay 1" max="65535" min="0" type="short" value="0">
<Help>
Time period for auto off, in milliseconds (0,1 s to 6553,5 s)
0 - Auto off disabled
Default value: 0
</Help>
</Value>
<Value genre="config" index="5" instance="1" label="Auto off for relay 2" max="65535" min="0" type="short" value="0">
<Help>
Time period for auto off, in milliseconds (0,1 s to 6553,5 s)
0 - Auto off disabled
Default value: 0
</Help>
</Value>
<Value genre="config" index="6" instance="1" label="Separation of association sending (key 1)" size="1" type="list" value="0">
<Help>Activate/Deactivate association sending for group 1 - Also see param #16</Help>
<Item label="Map status to all devices in group 1 (default)" value="0"/>
<Item label="Map OFF status to all devices in group 1, Double click on key 1 will send ON to all devices in group 1, all dimmers set to prev.value" value="1"/>
<Item label="Map OFF status to all devices in group 1, Double click on key 1 will send ON to all devices in group 1, all dimmers set to 100%" value="2"/>
</Value>
<Value genre="config" index="7" instance="1" label="Control key #2 behaviour" size="1" type="list" value="1">
<Help>Key no.2 is not represented by any physical device except of devices on association list.
This functionality prevents of lack of reaction on pressing key no.2 through polling devices
from association list one by one and checking their actual statuses.
</Help>
<Item label="Device status is not checked" value="0"/>
<Item label="Device status is checked" value="1"/>
</Value>
<Value genre="config" index="13" instance="1" label="Inputs behaviour" size="1" type="list" value="0">
<Help>In case of bi-stable switches, define their behaviour (toggle or follow)</Help>
<Item label="Toggle" value="0"/>
<Item label="Follow switch contact (closed=ON, open=OFF)" value="1"/>
</Value>
<Value genre="config" index="14" instance="1" label="Inputs Button/Switch configuration" size="1" type="list" value="1">
<Help>Binary inputs type configuration</Help>
<Item label="Mono-stable input (button)" value="0"/>
<Item label="Bi-stable input (switch)" value="1"/>
</Value>
<Value genre="config" index="15" instance="1" label="Dimmer/Roller shutter control" size="1" type="list" value="0">
<Help>Enable/Disable operation of dimmer or roller shutter devices associated to group 1.
Available only when using mono-stable inputs (buttons) - Hold button 1 or double-tap for operation</Help>
<Item label="Disable Dimmer/Roller shutter control" value="0"/>
<Item label="Enable Dimmer/Roller shutter control" value="1"/>
</Value>
<Value genre="config" index="16" instance="1" label="Saving state before power failure" size="1" type="list" value="1">
<Help>Saving state before power failure</Help>
<Item label="State NOT saved at power failure, all outputs are set to OFF upon power restore" value="0"/>
<Item label="State saved at power failure, all outputs are set to previous state upon power restore" value="1"/>
</Value>
<Value genre="config" index="30" instance="1" label="Relay 1: Response to General Alarm" size="1" type="list" value="3">
<Help></Help>
<Item label="DEACTIVATION - no response to alarm frames" value="0"/>
<Item label="ALARM RELAY ON - relay will turn ON upon receipt of alarm frame" value="1"/>
<Item label="ALARM RELAY OFF - relay will turn OFF upon receipt of alarm frame" value="2"/>
<Item label="ALARM FLASHING - relay will turn ON and OFF periodically (see param.39)" value="3"/>
</Value>
<Value genre="config" index="31" instance="1" label="Relay 1: Response to Water Flood Alarm" size="1" type="list" value="2">
<Help></Help>
<Item label="DEACTIVATION - no response to alarm frames" value="0"/>
<Item label="ALARM RELAY ON - relay will turn ON upon receipt of alarm frame" value="1"/>
<Item label="ALARM RELAY OFF - relay will turn OFF upon receipt of alarm frame" value="2"/>
<Item label="ALARM FLASHING - relay will turn ON and OFF periodically (see param.39)" value="3"/>
</Value>
<Value genre="config" index="32" instance="1" label="Relay 1: Response to Smoke, CO, CO2 Alarm" size="1" type="list" value="3">
<Help></Help>
<Item label="DEACTIVATION - no response to alarm frames" value="0"/>
<Item label="ALARM RELAY ON - relay will turn ON upon receipt of alarm frame" value="1"/>
<Item label="ALARM RELAY OFF - relay will turn OFF upon receipt of alarm frame" value="2"/>
<Item label="ALARM FLASHING - relay will turn ON and OFF periodically (see param.39)" value="3"/>
</Value>
<Value genre="config" index="33" instance="1" label="Relay 1: Response to Temperature Alarm" size="1" type="list" value="1">
<Help></Help>
<Item label="DEACTIVATION - no response to alarm frames" value="0"/>
<Item label="ALARM RELAY ON - relay will turn ON upon receipt of alarm frame" value="1"/>
<Item label="ALARM RELAY OFF - relay will turn OFF upon receipt of alarm frame" value="2"/>
<Item label="ALARM FLASHING - relay will turn ON and OFF periodically (see param.39)" value="3"/>
</Value>
<Value genre="config" index="39" instance="1" label="ALARM FLASHING alarm time" size="2" type="short" value="600">
<Help>Amount of time (ms) the device keeps on flashing after receipt of Alarm Frame</Help>
</Value>
<Value genre="config" index="40" instance="1" label="Relay 2: Response to General Alarm" size="1" type="list" value="3">
<Help></Help>
<Item label="DEACTIVATION - no response to alarm frames" value="0"/>
<Item label="ALARM RELAY ON - relay will turn ON upon receipt of alarm frame" value="1"/>
<Item label="ALARM RELAY OFF - relay will turn OFF upon receipt of alarm frame" value="2"/>
<Item label="ALARM FLASHING - relay will turn ON and OFF periodically (see param.39)" value="3"/>
</Value>
<Value genre="config" index="41" instance="1" label="Relay 2: Response to Water Flood Alarm" size="1" type="list" value="2">
<Help></Help>
<Item label="DEACTIVATION - no response to alarm frames" value="0"/>
<Item label="ALARM RELAY ON - relay will turn ON upon receipt of alarm frame" value="1"/>
<Item label="ALARM RELAY OFF - relay will turn OFF upon receipt of alarm frame" value="2"/>
<Item label="ALARM FLASHING - relay will turn ON and OFF periodically (see param.39)" value="3"/>
</Value>
<Value genre="config" index="42" instance="1" label="Relay 2: Response to Smoke, CO, CO2 Alarm" size="1" type="list" value="3">
<Help></Help>
<Item label="DEACTIVATION - no response to alarm frames" value="0"/>
<Item label="ALARM RELAY ON - relay will turn ON upon receipt of alarm frame" value="1"/>
<Item label="ALARM RELAY OFF - relay will turn OFF upon receipt of alarm frame" value="2"/>
<Item label="ALARM FLASHING - relay will turn ON and OFF periodically (see param.39)" value="3"/>
</Value>
<Value genre="config" index="43" instance="1" label="Relay 2: Response to Temperature Alarm" size="1" type="list" value="1">
<Help></Help>
<Item label="DEACTIVATION - no response to alarm frames" value="0"/>
<Item label="ALARM RELAY ON - relay will turn ON upon receipt of alarm frame" value="1"/>
<Item label="ALARM RELAY OFF - relay will turn OFF upon receipt of alarm frame" value="2"/>
<Item label="ALARM FLASHING - relay will turn ON and OFF periodically (see param.39)" value="3"/>
</Value>
</CommandClass>
<CommandClass id="96">
<Compatibility>
<MapRootToEndpoint>true</MapRootToEndpoint>
</Compatibility>
</CommandClass>
<!-- Association Groups -->
<CommandClass id="133">
<Associations num_groups="3">
<Group auto="false" index="1" label="Key no 1" max_associations="5"/>
<Group index="2" label="Key no 2" max_associations="5"/>
<Group auto="true" index="3" label="Lifeline" max_associations="1"/>
</Associations>
</CommandClass>
</Product>
Hat jemand eine Idee, evtl. muss ich was umstellen in der CONFIG vom FGS-222.
Deshalb wollte ich so eine Notify machen das es automatisch übernimmt.
Danke und sorry für soviel input.
Hmmm, vielleicht zwei unausgegorene Anregungen:
Bzgl. "OFF / ON / OFF = Kaffeemaschine aus" wäre evtl. eine Idee, mit "on-for-timer" bzw. "blink" zu arbeiten (wenn es nicht über Register am Aktor geht).
Was das mit dem Wallplug und setstate betrifft: Stattdessen schon mal "setreading state on" getestet?
Hi Beta-User,
setreading state on
Werde ich noch testen sobald ich zuhause bin, da ich dazu die maschine per taster einschalten muss.
on-for-timer 10
klappt leider nicht, muss danach immernoch zum Ausschalten : off/ on /off klicken
blink
weiss nicht wie ich das umsetzten kann
blink <anzahl> <blink-periode>
Das Gerät wird mit "on" für die <blink-periode> eingeschaltet, und das wird nach <blink-periode> wiederholt. Um das Blinken vorzeitig zu stoppen spezifiziert man "0 0" als Argument.
Mal zu Deiner Hardware Anordung:
Du hast den Wall Plugin eigentlich doch nur um den Einschaltzustand der Kaffemaschine zu ermitteln? Theoretisch könnte der immer an sein?
Der 12 Volt Taster an der Kaffeemaschine und das Fibaro Relais mit seinem potentialfreien Kontakt arbeiten quasi parallel? Also ein kurzer Impuls entweder vom Taster oder vom Relais toogeln die Kaffeemaschine an bzw. aus?
Hab ich das so richtig verstanden? Aus Deinen Erklärungen entsteht irgendwie kein richtiges Bild in meinem Kopf. Vielleicht musst Du es aufmalen :)
Gruß Otto
Hmm, bei blink gibt es noch einen undokumentierten dritten Parameter ;) : Das hier müßte klappen, wenn der Aktor vorher auf "on" stand:
set <FGS-Kanal> blink 2 0.2 0
Wenn du vorher ein "off" hast, mußt du ggf. vorher das "off" ausdrücklich vorneweg anweisen, und dann nur 1x blinken.
Die 0.2 für einen kurzen Puls sind nur ein Beispiel dafür, dass nicht nur Ganzzahlen erlaubt sind. Sollte natürlich so lange sein, dass die Maschine den Tastendruck auch erkennt.
Zitat von: Otto123 am 12 September 2019, 12:16:56
Mal zu Deiner Hardware Anordung:
Du hast den Wall Plugin eigentlich doch nur um den Einschaltzustand der Kaffemaschine zu ermitteln? Theoretisch könnte der immer an sein?
Der 12 Volt Taster an der Kaffeemaschine und das Fibaro Relais mit seinem potentialfreien Kontakt arbeiten quasi parallel? Also ein kurzer Impuls entweder vom Taster oder vom Relais toogeln die Kaffeemaschine an bzw. aus?
Hab ich das so richtig verstanden? Aus Deinen Erklärungen entsteht irgendwie kein richtiges Bild in meinem Kopf. Vielleicht musst Du es aufmalen :)
Gruß Otto
@Otto,
du hast es genau richtig beschrieben, da das Fibaro FGS-222 über den Potentialfreien kontakt kein feedback bekommt ob die Kaffeemaschine an oder aus ist wenn zB. über die Kaffeemaschine selbst 12V Taster (an aus geschaltet wird).
Hab ich mir den Wall Plugin geholt um wie du richtig sagst, über den ich die Leistung sprich Watt der kaffeemaschine ermittel, wenn Maschine aufheizt ist diese weit über 1000 Watt.
Der Wall Plugin bleibt immer an wird nicht ausgeschaltet.
Zitat von: Beta-User am 12 September 2019, 12:25:14
set <FGS-Kanal> blink 2 0.2 0
Die 0.2 für einen kurzen Puls sind nur ein Beispiel dafür, dass nicht nur Ganzzahlen erlaubt sind. Sollte natürlich so lange sein, dass die Maschine den Tastendruck auch erkennt.
@Beta-User
Das muss ich testen, weil von extern nur umständlich sehe ob die Kaffeemaschine tatsächlich an oder aus ist. Dazu muss ich immer 30 sekunden auf das Wall Plugin intervall abwarten das dieser die WATT anzahl aktualisiert.
Vorallem ist das Problem das wenn die maschine aufgeheizt wurde, die Wattzahl wieder runtergeht, machmal sogar <1 WATT dh. schwierig zu erkennen ob an oder aus ist. Dann muss ich wieder auf das Thermostat der Kaffeemaschine warten bis der Kessel wieder heitzt
Aber dann hast Du doch den Status der Kaffeemaschine im wall plugin. Der Taster Status interessiert dann nicht!
1. mach Dir ne Anzeige für den Status der Kaffeemaschine
2. Mach Dir eine den Taster in FHEM sowie er an der Kaffemaschine ist
Wenn der Taster keinen Impuls kann (ich habe keine Ahnung von Fibaro) mach es so:
set Kaffeemaschine on;sleep 1;set Kaffeemaschine off
Oder mach den Impuls mit einem notify
define nty_Kaffeemaschine notify Kaffeemaschine:on sleep 1;; set $NAME off
Tipp: Nenn den Taster einfach Kaffeetaster und den wall-plug einfach Kaffeemaschine (also anders als jetzt) und mach Dir dort mit stateFormat den richtigen Status
Ich lese ja schon ein wenig mit, hatte aber auch (wie Otto) kein klares Bild im Kopf...
...und war daher ruhig.
Bzw. hatte ich schon gleich die Idee:
mittels des WallPlug ist das doch für den Zustand wie bei: Waschmaschine/Trockner (kannst dich also diesbezüglich dort inspirieren lassen ;) )
Alles andere wurde ja bereits geschrieben...
...bzw. sind ja kompetente Helfer am Start...
Viel Erfolg, Joachim
Zitat von: Otto123 am 12 September 2019, 13:05:24
Aber dann hast Du doch den Status der Kaffeemaschine im wall plugin. Der Taster Status interessiert dann nicht!
1. mach Dir ne Anzeige für den Status der Kaffeemaschine
2. Mach Dir eine den Taster in FHEM sowie er an der Kaffemaschine ist
Wenn der Taster keinen Impuls kann (ich habe keine Ahnung von Fibaro) mach es so:
set Kaffeemaschine on;sleep 1;set Kaffeemaschine off
Oder mach den Impuls mit einem notify
define nty_Kaffeemaschine notify Kaffeemaschine:on sleep 1;; set $NAME off
Tipp: Nenn den Taster einfach Kaffeetaster und den wall-plug einfach Kaffeemaschine (also anders als jetzt) und mach Dir dort mit stateFormat den richtigen Status
Hi,
also wenn ich folgendes eintrage :
define nty_Kaffeemaschine notify Kaffeemaschine:on sleep 1;; set $NAME off
und ich dann in Fhem die Kaffeemaschine anschalte geht sie nach 1 Sekunde wieder aus ?
Und du meinst also nur über den Wall-Plugin den State prüfen wenn > 1 Watt dann Kaffeemaschine "an"
wenn < 1 Watt dann "aus" ?
Also meinen Kaffeemaschinen_Steckdose ist aktuell das Wall Plugin
und der Fibaro FGS-222 also das Relais in der Kaffeemaschine was parallel geschaltet wird ist die Kaffeemaschine
Zitatund ich dann in Fhem die Kaffeemaschine anschalte geht sie nach 1 Sekunde wieder aus ?
Der Taster tastet 1 mal für eine Sekunde.
Ob die Maschine an oder aus geht, hängt ja von der Maschine ab - hatte ich verstanden.
Hallo Otto,
also wenn ich die Kaffeemaschine per fhem einschalt: muss ich sie auch wieder per fhem ausschalten.
Wenn ich die Kaffeemaschine allerdings per 12V taster an der Kaffeemaschine einschalte, und per Fhem set Kaffeemaschine off mache bleibt sie an, da das nicht registriert wurde das wir per Taster angeschaltet haben.
Also wenn ich folgendes eintrage :
define nty_Kaffeemaschine notify Kaffeemaschine:on sleep 1;; set $NAME off
Bewirkt nur das die Maschine von an direkt wieder auf off geht.
wie kann man verhindern das vom IF Zweig
if ($EVTPART1 > 0,900 && ReadingsVal("Kaffeemaschine", "state", "off") eq "off")
mittendrin auf IF Zweig
if (ReadingsVal("Kaffeemaschine", "state", "off") eq "on" && ReadingsVal("rgr_Residents", "state", "absent") eq "home")
springt während des sleeps ?
Kaffeemaschinen_Steckdose:power:.* {
if ($EVTPART1 > 1800 ) {
fhem("set Pushnachricht msg 'Kaffeemaschine problem' 'Kaffemaschine wird ausgeschaltet {(localtime)}''Micky-Iphone' 0 ''");
}
if (ReadingsVal("Kaffeemaschine", "state", "off") eq "on" && ReadingsVal("rgr_Residents", "state", "absent") eq "home"){
fhem("set Pushnachricht msg 'Kaffeemaschine 1tes' 'Kaffemaschine wurde eingeschaltet {(localtime)}''Micky-Iphone' 0 '';sleep 1730; set Kaffeemaschine off; set Kaffeemaschine on; set Kaffeemaschine off;sleep 30;set Pushnachricht msg 'Kaffeemaschine Ausschaltung' 'Kaffemaschine wird ausgeschaltet {(localtime)}''Micky-Iphone' 0 ''");
}
if ($EVTPART1 > 0,900 && ReadingsVal("Kaffeemaschine", "state", "off") eq "off") {
fhem("set Pushnachricht msg 'Kaffeemaschine 1tes per Taster' 'Kaffemaschine wurde eingeschaltet {(localtime)}''Micky-Iphone' 0 ''");
fhem("setreading Kaffeemaschine state on;sleep 1740; setreading Kaffeemaschine state off;sleep 100; set Pushnachricht msg 'Kaffeemaschine Ausschaltung' 'Kaffemaschine wird ausgeschaltet {(localtime)}''Micky-Iphone' 0 ''");
}
}
Hi Micky,
ich hatte gehofft, ich hatte es verstanden :o :o
Wenn Du die physische Kaffemaschine (ich meine nicht den Fibaroschalter) per Taster einschaltest setzt Du nur einen Impuls?
Wenn Du die physische Kaffemaschine (ich meine nicht den Fibaroschalter) per Fibaro/Fhem Taster einschaltest setzt Du nur einen Impuls?
Bei einem Impuls schaltet sie ein? Beim nächsten Impuls schaltet sie aus? Richtig?? Egal woher der Impuls kommt?
Das hat nichts mit irgendeinem Zustand in FHEM zu tun?!?
Wenn das nicht so ist, habe ich es nicht verstanden und weiß nicht weiter.
Gruß Otto
Für mich hört es sich so an,. das Zustand Kaffemaschine <> Zustand dieser in FHEM.
Kommt mir auch so vor.
Daher ja (wie nicht nur von mir angemerkt) den Zustand der Kaffeemaschine über den Wallplug (ähnlich wie Waschmaschine/Trockner [nur verm. viel.einfacher!?]).
Dann müsste der Zustand in fhem ja mit dem tatsächlichen Zustand passen!?
Und dann halt noch das Ein-/Ausschalten mit dem Relais-Dingenz bzw. halt direkt an der Maschine.
Und irgendwie hab ich im Kopf, dass ca. 30min nach dem Einschalten (egal worüber) dann autom. ausgeschaltet werden soll!?
Also wenn die Erkennung per Wallplug-Leistung erkennt, dass an ist -> ein at definieren, dass dann nach 30min ausschaltet (vorher noch mal prüfen, dass noch an -> Wallplug-Zustand), sonst wird ja wieder ein statt ausgeschalten (oder hab ich das falsch verstanden)...
Wenn Ein-/Ausschalten immer ein "Doppeltoggle" oder sowas "komisches" ist, dann eben in die Toggle-Logik oder vor deren "Aufruf" halt prüfen, ob das gewünschte auch ausgeführt wird (also wenn aus soll prüfen, ob nicht schon aus ist etc.)...
Und wenn das auch nicht das ist, was gewollt ist, dann habe ich so gar nix verstanden was denn soll...
Gruß, Joachim
Hallo zusammen,
genau, also das ist das Problem....
Wenn man Kaffeemaschine über FHEM (Fibaro) anschaltet, ist es klar es wird in FHEM auf 'ON' gestellt, setzt im Relais einen Impuls hört man auch.
Wenn man die Kaffeemaschine über den Kaffeemaschinen Taster (physisch) auf anklickt, geht die Kaffeemaschine an, aber FHEM (Fibaro Relais) bekommt davon nix mit (deshalb der Wall Plugin) da er über den Potentialfreien Kontakt keinen Impuls bekommt, nur über S1 oder S2 die über 230v geschaltet werden können, diese sind allerdings nicht angeschlossen da der Kaffeemaschinen Taster nur V12 liefert.
Ich habe ich das Problem das beim einschalten der Maschine die Wall Plugin Watt zahl auf >1000 steigt aber dann auch wieder auf 0,9xx fällt wenn der Kessel das Wasser aufgeheizt hat.
Wenn die Kaffeemaschine aus ist ist aber die Watt zahl auf ca. 0,6x - 0,8x
Deshalb dachte ich das ein Notify helfen würde, allerdings schaltet das was ich gerade gebastelt habe den ganzen Tag durch.
Und dazu kommt noch das dass notify von Zweig zu Zweig springt, weil nach "setreading Kaffeemaschine state on;" Befehl ist Bedingung 2 Wahr.
Setrading ist eigentlich super, da wenn Kaffeemaschine wenn physich per V12 Taster eingeschaltet wird mit dem Befehl Setreading --> Fhem mitteilen kann das die Kaffeemaschine an ist, ohne das was passiert, wenn ich das mit dem "set" Befehl machen würde würde die Kaffeemaschine (da sie schon per V12 Taster angeschaltet wurde) ausgeschaltet werden. Aber in Fhem wäre Sie dann an, aber sie ist tatsächlich aus.
bspl.: 12V Taster ist der Taster der an der Kaffeemaschine ist
12V Taster anklicken , (Kaffeemaschine AN) , Fhem set Kaffeemaschine on, (Kaffeemaschine AUS) in Fhem wird ON angezeigt!
FHEM set Kaffeemaschine ON, (Kaffeemaschine AN), per 12V Taster schalten, es passiert nix, Kaffeemaschine bleibt an.
Also es ist etwas kompliziert, wenn man die Kaffeemaschine nachdem man per Fhem sie eingeschaltet hat, auch vom Taster bedienen möchte, muss man folgendes per Fhem also z.B.: doif oder notify ausführen:
Fhem set Kaffeemaschine on --> set Kaffeemaschine off , stellen dabei bleibt die Kaffeemaschine noch an** und man kann per 12V Taster wieder aus und aus schalten.
**Denn sie geht erst aus wenn man folgendes per Doif macht: (set Kaffeemaschine on, set Kaffeemaschine off)
sorry ist echt kompliziert zu erklären.
Man hört das Relais von Fibaro immer schalten wenn man per Fhem an und aus schaltet, allerdings passiert beim ausschalten nix.
evtl. hilft diese Erklärung nochmal:
set Kaffeemaschine on - Kaffeemaschine ist AN
set Kaffeemaschine off - Kaffeemaschine ist AN
set Kaffeemaschine on - Kaffeemaschine ist AUS
set Kaffeemaschine off - Kaffeemaschine ist AUS
__________________________________________ selber Zyklus nochmal
set Kaffeemaschine on - Kaffeemaschine ist AN
set Kaffeemaschine off - Kaffeemaschine ist AN
set Kaffeemaschine on - Kaffeemaschine ist AUS
set Kaffeemaschine off - Kaffeemaschine ist AUS
__________________________________________ selber Zyklus nochmal
set Kaffeemaschine on - Kaffeemaschine ist AN
set Kaffeemaschine off - Kaffeemaschine ist AN
set Kaffeemaschine on - Kaffeemaschine ist AUS
set Kaffeemaschine off - Kaffeemaschine ist AUS
__________________________________________ selber Zyklus nochmal
USW.........
Notify:
Kaffeemaschinen_Steckdose:power:.* {
if ($EVTPART1 > 1800 ) {
fhem("set Pushnachricht msg 'Kaffeemaschine problem' 'Kaffemaschine wird ausgeschaltet {(localtime)}''Micky-Iphone' 0 ''");
}
if ($EVTPART1 > 0,9 && ReadingsVal("Kaffeemaschine", "state", "off") eq "on"){
fhem("set Pushnachricht msg 'Kaffeemaschine ein FHEM' 'Kaffemaschine wurde eingeschaltet {(localtime)}''Micky-Iphone' 0 ''");
fhem("sleep 1740;set Kaffeemaschine off; set Kaffeemaschine on;set Kaffeemaschine off;set Pushnachricht msg 'Kaffeemaschine autoausschaltung APP' 'Kaffemaschine wird ausgeschaltet {(localtime)}''Micky-Iphone' 0 ''");
}
if ($EVTPART1 > 0,9 && ReadingsVal("Kaffeemaschine", "state", "off") eq "off") {
fhem("set Pushnachricht msg 'Kaffeemaschine Manuel ein' 'Kaffemaschine wurde per V12 Taster eingeschaltet {(localtime)}''Micky-Iphone' 0 '';setreading Kaffeemaschine state on;sleep 1740;set Kaffeemaschine off;set Kaffeemaschine on;set Kaffeemaschine off;set Pushnachricht msg 'Kaffeemaschine autoausschaltung Manuel' 'Kaffemaschine wird ausgeschaltet {(localtime)}''Micky-Iphone' 0 ''");
}
if ($EVTPART1 < 0,9) {
fhem("set Pushnachricht msg 'Kaffeemaschine ist AUS' 'Kaffemaschine ist ausgeschaltet {(localtime)}''Micky-Iphone' 0 '');
}
}
Das notify läuft dann allerdings ununterbrochen, dachte es ist wie beim DOIF das wenn keine neue Bedingung zutrifft es nicht erneut das gleiche durchführt. Ich glaube das ich nicht
Kaffeemaschinen_Steckdose:power:.* als Start schreiben sollte glaub da dieser Wert sich immer ändert ist das quasi immer ein neues Ereignis ???
danke nochmals für eure Hilfe
Hi,
ich glaube immer noch Du bist versteift auf deinen Fibarotaster als Status :o
Blick doch bitte nur auf die Steckdose:
ZitatWenn die Kaffeemaschine aus ist ist aber die Watt zahl auf ca. 0,6x - 0,8x
Bedeutet
power < 0.85 StatusKaffemaschine aus
power => 0.85 StatusKaffemaschine an
Richtig?
Wenn ja, ist das Dein Status und NICHT der Fibarotaster
Ich mache jetzt mal ein Beispiel mit drei Geräten um es verständlicher zu machen. Kann man aber eindampfen.
StatusKaffemaschine (wall plug mit userReading status )
SchalterKaffemaschine (pseudogerät zur Verwaltung, ich will 2an" oder ich will "aus")
Taster (Fibaro)
Wenn StatusKaffemaschine an und SchalterKaffemaschine geht auf an dann Taster mache nichts
Wenn StatusKaffemaschine an und SchalterKaffemaschine geht auf aus dann Taster mache Impuls
Wenn StatusKaffemaschine aus und SchalterKaffemaschine geht auf aus dann Taster mache nichts
Wenn StatusKaffemaschine aus und SchalterKaffemaschine geht auf an dann Taster mache Impuls
Wenn StatusKaffemaschine aus und TasterAnDerMaschine setzt Impuls dann StatusKaffemaschine geht auf an
Wenn StatusKaffemaschine an und TasterAnDerMaschine setzt Impuls dann StatusKaffemaschine geht auf aus
Also FHEM hat aus meiner Sicht immer den richtigen Status und kann entscheiden (je nach dem was Du machen willst) ob ein Impuls über den Fibaro gesetzt werden muss oder nicht.
Gruß Otto
Jep.
Das ist genau meine Idee! ;)
Also den Status "abkupfern" bei Waschmaschine/Trockner nur (deutlich) einfacher (war meine Vermutung)...
...und dann einfach das Toggle-Ding was notwendig ist um auszuschalten...
Fertig. :)
Wie Otto schreibt (und ich auch bereits mehrmals ;) ): der Zustand ist durch den Wallplug definiert!
Viel Erfolg, Joachim
Hi,
Taster - Fhem switch on /off
Kaffeemaschinen_Steckdose = wallplug
Kaffeemaschine = Fibaro Relais
hab jetzt ein Notify erzeugt ist das so ungefähr richtig ?
Kaffeemaschinen_Steckdose:power:.* {
if ($EVTPART1 > 0.85 && ReadingsVal("taster", "state", "off") eq "on") {
## Mache nix
}
if ($EVTPART1 > 0.85 && ReadingsVal("taster", "state", "off") eq "off") {
##impuls
(set Kaffeemaschine "on");
(set taster "on");
}
if ($EVTPART1 < 0.85 && ReadingsVal("taster", "state", "off") eq "off") {
##mache nix
}
if ($EVTPART1 < 0.85 && ReadingsVal("taster", "state", "off") eq "on") {
##impuls
(set Kaffeemaschine "off");
(set taster "off");
}
}
Ich denke: NEIN!
Du vermischst immer noch Status mit "wann" "wie" geschalten wird...
Also in dem Notify mit den Power-Werten wird NUR der Status der Kaffeemaschine "gesetzt"...
...so wie Otto ausführlich beschrieben hat!
Ich dachte (und merke das noch mal an bzw. frage noch mal nach): du willst ca. 30min nach einschalten (egal durch was eingeschaltet wurde) die Kaffeemaschine ausschalten!?
Also mit dem Notify setzt du nur den Zustand!
Dann ein Notify auf Zustand == on -> defmod at 30min {prüfe ob Maschine Status (immer noch) on ist -> schalte aus (über das ToggleDingenz) }
D.h. egal worüber die Maschine eingeschaltet wird der Status geht auf ON...
...at wird definiert und Kaffeemaschine wird dann (falls noch an, weil wenn jemand zwischenzeitlich manuell ausgeschaltet hätte [auch das wird ja über das Power-ZustandsNotify erkannt] würde die Maschine ja statt aus noch mal an gehen) AUSGESCHALTET...
Zustand der Kaffeemaschine über das Power-Notify geht auf OFF...
Fertig...
Gruß, Joachim
Hallo Joachim,
die Kaffeemaschine geht sowieso automatisch in 30 min. aus. Die hat so ein Eco mode alle 30 min. schaltet die sich aus.
ja also ich wollte der Kaffeemaschine zuvorkommen deshalb ca. 29 min dann ausschalten. Da Fhem den zustand dann richtig hat, wenn ich nicht per fhem nach 29 min ausschalten würde, dann würde sie nach 30 min. also 1 min später ausschalten und fhem hätte nicht den aktuellen status.
notify so besser?
Kaffeemaschinen_Steckdose:power:.* {
if ($EVTPART1 > 0.85 && ReadingsVal("taster", "state", "off") eq "on") {
## Mache nix
}
if ($EVTPART1 > 0.85 && ReadingsVal("taster", "state", "off") eq "off") {
##impuls
(set taster "on");
}
if ($EVTPART1 < 0.85 && ReadingsVal("taster", "state", "off") eq "off") {
##mache nix
}
if ($EVTPART1 < 0.85 && ReadingsVal("taster", "state", "off") eq "on") {
##impuls
(set taster "off");
}
}
der taster ist ein FHEM Schalter der nur den zustand annimmt von der Steckdose wenn power > 0,85 dann AN sonst aus richtig ?
Ich muss nicht alle 30 min. prüfen da die Maschine ja automatisch aus geht nach 30 min, oder ?
Ich glaub ich verstehe doch noch nicht, vor allem mit dem
defmod at 30min {prüfe ob Maschine Status (immer noch) on ist -> schalte aus (über das ToggleDingenz) }
at 30 min. ?
ToggleDingenz ?
danke für die Hilfe
Einmal versuche ich es noch...
...dann gebe ich auf!
NEIN!!!!!
Das Notify mit den Powerwerten MACHT NUR DEN STATUS DER KAFFEEMASCHINE!!!!
Der stimmt dann IMMER!
Egal worüber ein- oder ausgeschaltet wird/wurde!!!!
Also das hier:
Zitat
die Kaffeemaschine geht sowieso automatisch in 30 min. aus. Die hat so ein Eco mode alle 30 min. schaltet die sich aus.
ja also ich wollte der Kaffeemaschine zuvorkommen deshalb ca. 29 min dann ausschalten. Da Fhem den zustand dann richtig hat, wenn ich nicht per fhem nach 29 min ausschalten würde, dann würde sie nach 30 min. also 1 min später ausschalten und fhem hätte nicht den aktuellen status.
Ist QUATSCH!
Wenn du (endlich! ;) ) in dem Notify mit den POWERWERTEN NUR den STATUS der Kaffeemaschine abbildest...
...hat fhem IMMER (EGAL WIE GESCHALTEN WURDE) den aktuellen Status!
Selbst wenn die Automatik abschaltet oder jemand wild (gut ganz so wild vielleicht nicht, die Powerwerte müssen zumindest eine Chance auf Änderung haben ;) ) am Knöpfchen drückt...
...sogar egal welches: direkt an der Maschine ODER über das Relais (das schaltet doch auch!?) per fhem.
Also:
mit dem Notify was du hast setzt du NUR den Status!
Der steht dann woimmer du den hinschreibst (ein Reading im Devive selbst wäre eine Möglichkeit, so wie Otto geschrieben hat)...
Dort steht immer der aktuelle RICHTIGE Status.
Dann kannst du entweder direkt an der Maschine schalten
Status geht ja auf an (über Powerwerte)
Ein weiteres Notify auf eben: Status == an -> at auf 29min
Du schaltest per fhem Oberfläche (über das Relais) ein...
Status geht auf an wird ja wieder über die Powerwerte erkannt (NICHT ÜBER DAS DRÜCKEN IN DER OBERFLÄCHE-> NICHT VERMISCHEN! DAS DINGENZ IST NUR ZUM SCHALTEN!)
Staus == an -> at wird per Notify definiert auf 29min
at löst aus. Es wird im at der Status geprüft (der ist ja bekannt und STIMMT!), wenn noch an -> ausschalten über das Relais (oder das war doch dafür gedacht!?). Wenn bereits aus ist (z.B. du hast an der Maschine den Knopf gedrückt oder die Automatik der Maschine war schneller ;) ) macht das at nichts...
Über die Powerwerte wird wieder erkannt, dass (jetzt) aus ist -> passt also wieder!
Gruß, Joachim
Ich habe ehrlich gesagt noch nie verstanden, was eigentlich an dieser Stelle die Funktion für FHEM sein soll.
Micky, ich glaube Du verrennst Dich in irgendwelche Status Mogeleien die Du gar nicht brauchst.
Und Du verwirrst Dich permanent selbst durch die Bezeichnung Deiner Geräte.
Also mal ein konkreter Versuch Versuch für den Status.
attr Kaffeemaschinen_Steckdose userReadings Zustand {ReadingsNum($name,"power",0) > 0.85?"on":"off"}
Jetzt blickst Du erstmal nur noch bitte auf dieses Reading Zustand in deinem Device Kaffeemaschinen_Steckdose und sagst ob dies immer den Einschaltzustand deiner Kaffemaschine repräsentiert.
Machst Du mal bitte ein list Taster ? Damit ich verstehe was das ist.
Ich mache den Rest mal ziemlich aufwendig und einzeln, zusammenschrumpfen kann man das wenn man es verstanden hat immer noch:
Hier der Vorschlag für das notify was den Fibaro Taster bedient wenn die Kaffemaschine angehen soll
define Kaffeemaschine_n_an notify Kaffeemaschinen_Schalter:on {fhem("set Kaffeemaschine on;;sleep 1;;set Kaffeemaschine off;;set Kaffeemaschinen_Schalter an") if (ReadingsVal("Kaffeemaschinen_Steckdose","Zustand","") eq "off")}
das Gleiche wenn die Kaffemaschine ausgehen soll
define Kaffeemaschine_n_aus notify Kaffeemaschinen_Schalter:off {fhem("set Kaffeemaschine on;;sleep 1;;set Kaffeemaschine off;;set Kaffeemaschinen_Schalter aus") if (ReadingsVal("Kaffeemaschinen_Steckdose","Zustand","") eq "on")}
Das Steuerelement hab ich mir jetzt ausgedacht, ist vielleicht dein "Taster" ?
define Kaffeemaschinen_Schalter dummy
attr Kaffeemaschinen_Schalter webCmd on:off
Das ist jetzt noch nicht perfekt. Der Schalter repräsentiert jetzt nur den letzten Schaltzustand und nicht den wirklichen Zustand der Maschine, der steht nur im Reading Zustand von Kaffeemaschinen_Steckdose.
Aber vielleicht ist das die Richtung wo es hingehen soll?
Gruß Otto
Hallo,
danke nochmal für die Hilfe.
Also mit dem Taster meinte ich quasi was du Kaffeemaschinen_Schalter nennst.
Habe den Taster gelöscht.
Habe alle deine Codeschnipsel benutzt und es wurde alles erstellt in fhem, allerdings bleiben die beiden Notifys nur auf activ obwohl die Kaffeemaschine an ist.
Scheint auch zu funktionieren ich teste es weiter.....und gebe feedback.
Na die notifys treten ja nur in Aktion wenn du per fhem die Kaffeemaschine an oder aus schalten willst.
set Kaffeemaschinen_Schalter on
set Kaffeemaschinen_Schalter off
Wie schon gesagt, ich würde die Namen tauschen.
Hallo Otto,
scheint gut zu funktionieren.
Kaffeemaschine_n_an 2019-09-15 20:36:08
Kaffeemaschine_n_aus 2019-09-15 20:38:49
Kaffeemaschinen_Schalter
Welchen Namen soll ich ändern ?
Habe noch das Fibaro Relais
Kaffeemaschine
Wall Plugin
Kaffeemaschinen_Steckdose
Aktuell hab ich nur das Problem das wenn ich die Kaffeemaschine einschalte, und direkt wieder ausschalten will nach 5 Sekunden (immer über Kaffeemaschinen_Schalter), die Kaffeemaschine nicht ausgeschaltet wird weil sich der Zustand von Kaffeemaschinen_Steckdose nicht schnell genug in "ON" gewechselt ist, kann man ein da irgendwie einen sleep einbauen oder kann man das so schreiben das sobald der Zustand von der Kaffeemaschinen_Steckdose dann auf "on" switch das Gerät sich dann abschaltet also quasi nachträglich, da der Kaffeemaschinen_Schalter auf OFF steht.
Kaffeemaschine_n_aus
Kaffeemaschinen_Schalter:off {
fhem("set Kaffeemaschine off;sleep 1;set Kaffeemaschine on;sleep 1; set Kaffeemaschine off;set Kaffeemaschinen_Schalter off")
if (ReadingsVal("Kaffeemaschinen_Steckdose","Zustand","") eq "on")
}
vielen Dank !
EDIT:
glaub ich hab es hinbekommen habe nur RedingsVal auf Kaffeemaschine gesetzt sprich das Fibaro relais wenn ON
hier der Code
Kaffeemaschine_n_aus
Kaffeemaschinen_Schalter:off {
fhem("set Kaffeemaschine off;sleep 1;set Kaffeemaschine on;sleep 1; set Kaffeemaschine off;set Kaffeemaschinen_Schalter off")
if (ReadingsVal("Kaffeemaschine","state","") eq "on")
}
Damit hast Du keine Rückmeldung zum wirklichen Zustand Deiner Kaffeemaschine. Dieser einzige und allein durch Deine Steckdose an FHEM gemeldet. Und ja, dieser Zustand ist nicht perfekt, weil diese Dose sicher nicht innerhalb einer Sekunde den richtigen Status einnimmt, da sie sicher nur in größeren Zeitabständen das power Reading sendet.
Was passiert mit deiner Variante wenn Du innerhalb von sekunden auch den echten Taster an der Kaffemaschine betätigst? Dann weiß dein Schalter nicht mehr wo er steht. :-\
Damit musst Du leben. Aber wir reden von einer Kaffemaschine. Wozu sollte man die nach 5 sec wieder ausschalten? :o
Der Schalter in FHEM ist noch nicht perfekt. Lass mich nochmal nachdenken, wie man das besser machen könnte.
Welches Gerät Du wie benennst ist deine Sache, ich würde es halt so machen das auch ein Fremder versteht was gemeint ist. Der Fibarotaster ist aber nicht der Zustand Deiner Kaffemaschine
Gruß Otto
Hallo Otto,
ja du hast recht, es ist nicht der Zustand über Fibaro Relais, allerdings kann ich so das Gerät ausschalten obwohl die Leistung in Watt > 0,85 ist. Wenn man ausschalten will soll es ja direkt ausgehen.
Und so scheint es zu funktionieren, der Kaffeemaschinen_Schalter wird ja dann auch wieder auf off gesetzt also glaub ich das es passen sollte !?
Ja das vermischen geht nicht, also Taster V12 der Kaffeemaschine anschalten per fhem ausschalten.
Hab da versucht weitere notify zu erstellen hab die Manuel an , manuell aus genannt.
Manuell an
Kaffeemaschinen_Steckdose:Zustand:.* {
fhem("sleep 18; set Kaffeemaschinen_Schalter on")
if (ReadingsVal("Kaffeemaschinen_Steckdose","Zustand","") eq "on")
}
Manuell aus
Kaffeemaschinen_Steckdose:Zustand:.* {
fhem("sleep 18; set Kaffeemaschinen_Schalter off")
if (ReadingsVal("Kaffeemaschinen_Steckdose","Zustand","") eq "off")
}
Klappt aber nicht der geht dann alle 18 sekunden wieder an und aus.
War nur eine idee falls Zustand steckdose auf "on" und fhem Kaffeemachinen_Schalter "off" dann muss manuell eingeschaltet worden sein, also stelle Kaffeemschinen_Schalter auf "on"
Manuell notify an klappt denke ich, manuell notify aus
Ist jetzt nicht so schlimm schalte dann meistens per app die Kaffeemaschine an, sobald man die Kaffeemaschine an der Kaffeemaschine selbst anschaltet wird es in Fhem nicht aktualisiert aber da sie sich dann selbständig ausschaltet passt es wieder.
Danke nochmal.
Zitat von: Micky am 15 September 2019, 23:42:07... allerdings kann ich so das Gerät ausschalten obwohl die Leistung in Watt > 0,85 ist. Wenn man ausschalten will soll es ja direkt ausgehen.
...
Ja das vermischen geht nicht, also Taster V12 der Kaffeemaschine anschalten per fhem ausschalten.
Guten Morgen,
sorry ich denke Du hast mich verloren. Ich kann Dir nicht mehr folgen.
Ich hatte gedanklich jetzt schon versucht, die Abbildung des Zustandes Deiner Kaffeemaschine (Steckdose) mit der des Schalters für die Kaffeemaschine zu vereinen. Aber ich weiß momentan nicht was bei Dir wirklich geht und was nicht.
Ich weiß, Du brauchst noch eine Rückkopplung von der Steckdose zum virtuellen Schalter.
Nochmal ein Ansatz, ich will betonen: Dies ist mehr zum Lernen als zur finalen Realisierung. Ich würde das später noch zusammendampfen:
Als Erweiterung dessen was ich schon vorgeschlagen hatte:
Anderes stateFormat im Schalter und ein notify um den Zustand von der Steckdose auf den Schalter zu übertragen.
setreading Kaffeemaschinen_Schalter Zustand [Kaffeemaschinen_Steckdose:Zustand]
attr Kaffeemaschinen_Schalter stateFormat Zustand
define Kaffeemaschine_n_STATE notify Kaffeemaschinen_Steckdose:Zustand:.(on|off) setreading Kaffeemaschinen_Schalter Zustand $EVTPART1
Damit wird der Zustand vom Schalter auch aktualisiert wenn Du die Kaffeemaschine am lokalen Taster einschaltest. Aber natürlich nur mit der Verzögerung der Steckdosen Meldung und sicher nicht in 1 sec.
Gruß Otto
Guten Morgen Otto,
viele Dank, ich denke oftmals zu kompliziert und unklug :o
Und ja wenn man die Kaffeemaschine einschaltet, dann schaltet man sie nicht gleich nach 5 Sekunden wieder aus, wobei das Wall Plug einen sehr kurzen Intervall hat von 15 Sekunden.
Super so sollte der Zustand immer stimmen.
Selbst wenn die Kaffeemaschine nach ca. 30 min sich automatisch abschaltet (ist leider so bei dieser Kaffeemaschine), wird der Zustand sich ändern und der Schalter Kaffeemaschinen_Schalter sollte auf off switchen.
Danke, ich teste es heute Abend und gebe feedback
Hallo Micky,
ich stelle Dir jetzt mal einfach mein Übungsfeld hier zur Verfügung. So funktioniert es bei mir. Das sind mir jetzt immer noch zu viele beteiligte Geräte :)
Das hier hast Du quasi in Echt, hab ich mir zum Üben gebaut.
Meine virtuelle Umgebung
KaffeeRP - repräsentiert Deine echten Kaffemaschine, kann man on/off schalten und der power Wert in der KaffeeSD wird gesetzt
KaffeeSD - repräsentiert Deine echte Steckdose
KaffeeRelais - ist quasi Dein Fibaro Relais
KaffeeSetPower - ein Hilfsnotify um in meiner virtuellen den Schaltvorgang des Fibaro Relais zu simulieren
defmod KaffeeRP readingsProxy KaffeeSD:Zustand
attr KaffeeRP room Kaffee
attr KaffeeRP setFn {($CMD eq "on")?"power 0.86":"power 0.1"}
attr KaffeeRP setList on off
defmod KaffeeSD dummy
attr KaffeeSD readingList power
attr KaffeeSD room Kaffee
attr KaffeeSD userReadings Zustand {ReadingsNum($name,"power",0) > 0.85?"on":"off"}
setstate KaffeeSD on
setstate KaffeeSD 2019-09-16 12:57:07 Zustand off
setstate KaffeeSD 2019-09-16 12:47:18 power 0.1
setstate KaffeeSD 2019-09-16 12:57:07 state on
defmod KaffeeRelais dummy
attr KaffeeRelais room Kaffee
attr KaffeeRelais setList on off
defmod KaffeeSetPower notify KaffeeSchalter:_(off|on) setreading KaffeeSD power {("$EVENT" eq "_off"?0.1:0.86)}
attr KaffeeSetPower room Kaffee
Das hier brauchst Du für Deine Funktion.
FHEM Geräte
KaffeeSchalter - ist der Ein und Ausschalter für die Kaffemaschine in FHEM
KaffeeSTATE - ist ein Hilfsnotify um den Zustand von der Steckdose in den Schalter zu übertragen
KaffeeToggle - ist ein Hilfsnotify fürs ein- und ausschalten der Maschine
Im Code musst Du Deine Geräte Bezeichnungen entsprechend ändern, ich hoffe Du kommst klar. Du kannst natürlich auch erstmal die Trockenübung so machen :)
defmod KaffeeSchalter dummy
attr KaffeeSchalter room Kaffee
attr KaffeeSchalter stateFormat Zustand
attr KaffeeSchalter webCmd on:off
defmod KaffeeSTATE notify KaffeeSD:Zustand:.(on|off) setreading KaffeeSchalter Zustand $EVTPART1
attr KaffeeSTATE room Kaffee
defmod KaffeeToggle notify KaffeeSchalter:(on|off) {fhem("set KaffeeRelais on;;sleep 1;;set KaffeeRelais off;;set KaffeeSchalter _$EVENT") if (ReadingsVal("KaffeeSD","Zustand","") ne $EVENT)}
attr KaffeeToggle room Kaffee
Anmerkung: Der Befehl "set KaffeeSchalter _$EVENT" im notify wird eigentlich nur in meiner Umgebung gebraucht, stört aber in der echten Umgebung nicht!
Gruß Otto
Hi Otto,
dh. KaffeeSetPower benötige ich nicht, ist ja nur für deine Virtuelle Umgebung?
Erstmal vielen Dank das du Dir solch eine mühe machst und das ganze nachbaust ;) DANKE
Ich kann denke ich fast alles übernehmen bis auf das KaffeeToggle nicht,
da zum einschalten das Relais anderes geschaltet werden muss, wie zum ausschalten
ich zeig dir mal alle 3 notify's
//das ist zum ausschalten
Kaffeemaschinen_Schalter:off {
fhem("set Kaffeemaschine off;set Kaffeemaschine on;sleep 1; set Kaffeemaschine off")
if (ReadingsVal("Kaffeemaschine","state","") eq "on")
}
// das ist zum einschalten
Kaffeemaschinen_Schalter:on {
fhem("set Kaffeemaschine on;sleep 1;set Kaffeemaschine off;setreading Kaffeemaschine state on")
if (ReadingsVal("Kaffeemaschinen_Steckdose","Zustand","") eq "off")
}
//dein KaffeeToggle
KaffeeSchalter:(on|off)
{fhem("set KaffeeRelais on;;sleep 1;;set KaffeeRelais off;;set KaffeeSchalter _$EVENT")
if (ReadingsVal("KaffeeSD","Zustand","") ne $EVENT)}
danke
Wozu ist das erste Set off für das Relais? Das ist doch in Ruhe immer off???
Hi Otto,
das liegt am Potentialfreien Kontakt des Relais dadurch schaltet er nicht richtig
sondern so:
set Kaffeemaschine on - Kaffeemaschine ist AN
set Kaffeemaschine off - Kaffeemaschine ist AN
set Kaffeemaschine on - Kaffeemaschine ist AUS
set Kaffeemaschine off - Kaffeemaschine ist AUS
__________________________________________ selber Zyklus nochmal
zum anschalten:
deshalb schalte ich es: set Kaffeemaschine ON / set Kaffeemaschine OFF / setreading Kaffeemaschine state on
zum ausschalten: set Kaffeemaschine OFF / set Kaffeemaschine ON / set Kaffeemaschine off
also ich hab gestern Abend rumprobiert und nur so war es dann tatsächlich auch AN und beim Ausschalten auch aus.
Ich kann aber später nochmal schauen evtl. gibts ne einfacherer Lösung.
Der Punkt ist der wenn ich nicht beim einschalten set ON / OFF / ON mache dann kann ich wenn ich an der Kaffeemaschine stehe die Kaffeemaschine nicht mehr am 12V Taster ausschalten.
Und beim ausschalten per FHEM würde die Kaffeemaschine ohne set OFF / ON / OFF, nicht mehr am Kaffeemaschinen 12V Taster einschalten können.
// das ist zum einschalten
Kaffeemaschinen_Schalter:on {
fhem("set Kaffeemaschine on;sleep 1;set Kaffeemaschine off;setreading Kaffeemaschine state on")
if (ReadingsVal("Kaffeemaschinen_Steckdose","Zustand","") eq "off")
}
//ausschalten
Kaffeemaschinen_Schalter:off {
fhem("set Kaffeemaschine off;set Kaffeemaschine on;sleep 1; set Kaffeemaschine off")
if (ReadingsVal("Kaffeemaschine","state","") eq "on")
}
Du hast doch immer erzählt Du erzeugst mit dem Fibaro einen Impuls? ???
Deine Logik klingt für mich irgendwie unverständlich. Kannst Du deine Schaltung mal aufmalen?
Hi,
habs mir mal aufgemalt, aber schreibe es lieber ab.
FHEM ist mein Fibaro Relais in der Kaffeemaschine
Kaffeemaschine 12V Taster --> Ist der reelle Taster an der Kaffeemaschine
Kaffeemaschine (AN/ AUS) -- > ist die reelle Kaffeemaschine Status AN oder AUS -> LEDs an oder aus
das mit dem Impuls geben stimmt, ich man hört es halt schalten bei jedem set Befehl allerdings kommt nur das bei raus:
FHEM (FIBARO) Kaffeemaschine 12V Taster Kaffeemaschine (AN/AUS)
set Kaffeemaschine ON Keine funktion Kaffeemaschine ist AN
set Kaffeemaschine OFF Ausschalten sowie einschalte möglich Kaffeemaschine ist AN
set Kaffeemaschine ON Keine funktion Kaffeemaschine ist AUS
set Kaffeemaschine OFF Einschalten sowie Ausschalten möglich Kaffeemaschine ist AUS
set Kaffeemaschine ON Keine funktion Kaffeemaschine ist AN
set Kaffeemaschine OFF Ausschalten sowie einschalte möglich Kaffeemaschine ist AN
set Kaffeemaschine ON Keine funktion Kaffeemaschine ist AUS
es wiederholt sich dann.....
danke
Naja das ist nicht das was ich wollte - aber egal. Du bist etwas eigenwillig :)
Aber deine Tabelle sagt doch genau das was ich programmiert habe?
Der Fibaro Schalter muss im Ruhezustand aus sein!
Der Fibaro schalter muss einen off/on/off Impuls erzeugen um die Kaffemaschine zu toggeln: der erste Impuls schaltet ein, der zweite Impuls schaltet aus, der dritte Impuls schaltet wieder ein.
Vielleicht probierst Du meine programmierte Logik einfach mal so wie sie ist?
Aber Du musst für KaffeeSD und KaffeeRelais Deine echten Gerätenamen einsetzen!
Oder Deine Geräte umbenennen ;D ;D ;D
Wenn das nicht funktioniert würde ich als erstes vermuten, das eine andere Logik von Dir stört. Du hast immerhin ständig versucht deinen Fibaro Schalter mit allmöglichen Aktionen im Status zu manipulieren. ;D
Abend Otto,
Ja ;D sorry !
Ich versuche das morgen so wie du es stehen hast.
Danke nochmal
Schönen abend
Hallo Otto,
habs doch eben schnell gemacht und ich kann es dir bestätigen es funktioniert 1A!
Danke danke danke.
Habe alles so übernommen bzw. die Namen so geändert geändert, ich hab vorher immer auf das Fibaro Relais geachtet der zustand war mir immer wichtig, aber dieser ist ganz egal.... danke für die Aufklärung!!
vorher --> nachher
Kaffeemaschinen_Steckdose --> KaffeeSD
Kaffeemaschinen_Schalter --> KaffeeSchalter
Kaffeemaschine --> KaffeeRelais
Kaffeemaschine_n_STATE --> KaffeeSTATE
Kaffeemaschinen_n_aus --> KaffeeToggle *natürlich auch neuen Code hinzugefügt.
KaffeeRP sowie KaffeeSetPower hab ich nicht übernommen, wie du mir schon geschrieben hast.
Danke
Moin,
und ich hoffe alle unnötigen notifys gelöscht? Wie Kaffeemaschinen_n_aus ...
Nicht das noch was querschießt. :D
Jetzt könnte man das noch in Ruhe etwas "hübscher" machen, nachdem mal die Funktion geklärt und das Ziel erreicht ist.
Die Aufgabenstellung ist ja durchaus etwas allgemein gültiger:
- Ein Gerät kann nur mit einem Impuls gesteuert werden, es geht dabei an oder aus oder hoch oder runter oder auf oder zu
- Ein Sensor liefert mir den Zustand ob an oder aus ...
- Ich möchte definiert schalten: an und aus ...
Gruß Otto
Hi Micky,
kannst Du mir bitte noch verraten welche Steckdose/wall plug Du zur Leistungsmessung hast und wie die genau eingebunden ist?
Gruß Otto
Ist eine TPLinkHS11: https://forum.fhem.de/index.php/topic,103613.msg973346.html#msg973346.
(Sonst käme evtl. für ein MQTT2_DEVICE auch die neue template-Methode in Frage, guter Hinweis...)
Danke - hab ich irgendwie nicht gesehen :)
Hi Otto,
sorry war im Urlaub.
Hatte vorher die Steckdose/wall plug
TPLinkSteckdoseHS110
ersetzt durch:
FIBARO System FGWPE/F Wall Plug Gen5
Diesen Find ich irgendwie schneller also vor allem merkt das FIBARO Wall sofort wenn die Spannung (Watt) sich ändern.
List KaffeeSD:
Internals:
CFGFN
DEF c7abb922 33
FUUID 5d812716-f33f-6e03-a5d9-5021337b1558430b
IODev ZWAVE1
LASTInputDev ZWAVE1
MSGCNT 1640
NAME KaffeeSD
NR 16179
STATE on
TYPE ZWave
ZWAVE1_MSGCNT 1640
ZWAVE1_RAWMSG 0004002106310504220007
ZWAVE1_TIME 2019-10-05 15:04:47
ZWaveSubDevice no
cmdsPending 0
homeId c7abb922
isWakeUp
lastMsgSent 1568745762.70245
nodeIdHex 21
.attraggr:
.attrminint:
.userReadings:
HASH(0x5d6f7c0)
.vclasses:
ALARM 5
APPLICATION_STATUS 1
ASSOCIATION 2
ASSOCIATION_GRP_INFO 1
BASIC 1
CONFIGURATION 1
CRC_16_ENCAP 1
DEVICE_RESET_LOCALLY 1
FIRMWARE_UPDATE_MD 3
MANUFACTURER_SPECIFIC 2
METER 2
MULTI_CHANNEL_ASSOCIATION 3
POWERLEVEL 1
SECURITY 1
SENSOR_MULTILEVEL 5
SWITCH_BINARY 1
VERSION 2
ZWAVEPLUS_INFO 2
READINGS:
2019-09-17 20:33:58 CMD ZW_APPLICATION_UPDATE
2019-10-05 15:04:47 Zustand off
2019-09-17 20:41:11 assocGroup_1 Max 1 Nodes ZWAVE1
2019-09-17 20:41:11 assocGroup_2 Max 10 Nodes
2019-09-17 20:41:11 assocGroup_3 Max 10 Nodes
2019-09-17 20:41:11 assocGroups 3
2019-09-17 20:40:27 configActiveAlarms AllAlarms
2019-09-17 20:40:27 configAlarmStateDuration 600
2019-09-17 20:40:27 configAlwaysOnFunction Inactive
2019-09-17 20:40:28 configAssociationsInZWaveNetwork50 2ndAnd3rdGroupSendAsSecure
2019-09-17 20:40:28 configControlOfOnOffButtonAssociation20 ControlAsTheWallplug
2019-09-17 20:40:28 configDOWNValueOnOffPowerAssociation21 300
2019-09-17 20:40:28 configEnergyReportingThreshold 10
2019-09-17 20:40:28 configHighPriorityPowerReport 80
2019-09-17 20:40:28 configLEDRingIlluminationColourAtTheZ43 LEDRingFlashesRedBlueWhite
2019-09-17 20:40:29 configLEDRingIlluminationColourWhen41 ColourChangesContinuously1
2019-09-17 20:40:29 configLEDRingIlluminationColourWhen42 illuminationTurnedOffCompletely
2019-09-17 20:40:29 configMeasuringEnergyConsumedByTheWall15 Inactive
2019-09-17 20:40:29 configOverloadSafetySwitch 0
2019-09-17 20:40:29 configPowerAndEnergyPeriodicReports 3600
2019-09-17 20:40:30 configPowerLoadWhichWhenExceededMakes40 25000
2019-09-17 20:40:30 configPowerReportingInterval 30
2019-09-17 20:40:30 configRememberDeviceStatusAfterAPower2 WallPlugMemorizesItsStateAfterA1
2019-09-17 20:40:30 configResponseToAlarmFrames 0
2019-09-17 20:40:30 configStandardPowerLoadReporting 15
2019-09-17 20:40:30 configSwitchONValueOnOffAssociation24 255
2019-09-17 20:40:31 configTheResponseAfterExceedingDefined23 2And3Combined
2019-09-17 20:40:31 configUPValueOnOffPowerAssociation22 500
2019-10-05 14:49:54 energy 1.69 kWh
2019-09-17 20:40:32 mcaGroups 3
2019-09-17 20:40:32 mca_1 Max 1 Nodes ZWAVE1
2019-09-17 20:40:32 mca_2 Max 10
2019-09-17 20:40:32 mca_3 Max 10
2019-09-17 20:38:15 model FIBARO System FGWPE/F Wall Plug Gen5
2019-09-17 20:38:15 modelConfig fibaro/fgwpfzw5.xml
2019-09-17 20:38:15 modelId 010f-0602-1003
2019-10-05 15:04:47 power 0.7 W
2019-09-17 20:42:43 powerlvl current 0 remain 0
2019-09-17 20:39:51 reportedState on
2019-09-17 23:55:34 running on
2019-09-17 20:39:51 state on
2019-09-17 20:42:43 timeToAck 1.115
2019-09-17 20:42:43 transmit OK
Attributes:
IODev ZWAVE1
classes ZWAVEPLUS_INFO APPLICATION_STATUS ASSOCIATION ASSOCIATION_GRP_INFO CONFIGURATION CRC_16_ENCAP DEVICE_RESET_LOCALLY FIRMWARE_UPDATE_MD MANUFACTURER_SPECIFIC METER MULTI_CHANNEL_ASSOCIATION ALARM POWERLEVEL SECURITY SENSOR_MULTILEVEL SWITCH_BINARY VERSION BASIC
devStateIcon on:black_Steckdose.on off:black_Steckdose.off
room Kaffee
userReadings Zustand {ReadingsNum($name,"power",0) > 0.79?"on":"off"}
vclasses ALARM:5 APPLICATION_STATUS:1 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 BASIC:1 CONFIGURATION:1 CRC_16_ENCAP:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:3 MANUFACTURER_SPECIFIC:2 METER:2 MULTI_CHANNEL_ASSOCIATION:3 POWERLEVEL:1 SECURITY:1 SENSOR_MULTILEVEL:5 SWITCH_BINARY:1 VERSION:2 ZWAVEPLUS_INFO:2
musste nur bei dem Wallplug die Spannung anpassen: 0.79 ist so ca. die Grenze ist nur 1 - 2mal vorgekommen das der Zustand gesagt hat Kaffeemaschine ist aus obwohl sie noch an war. Also wahrscheinlich ist der Wert der Spannung unter 0.79 gefallen obwohl sie an war.
Denke ich passe es mal auf 0,75 an
Zustand {ReadingsNum($name,"power",0) > 0.75?"on":"off"}
Wenn sie ausgeschaltet ist, ist der Wert
2019-10-05 15:04:47 power 0.7 W
Danke nochmal Otto klappt alles wunderbar.