98_MSwitch - Support

Begonnen von Byte09, 25 März 2018, 12:19:58

Vorheriges Thema - Nächstes Thema

mark79

Ich habe ein Bespiel (Screenshot) für meinen TV in der Küche, allerdings nicht über ein trigger, sondern mittels on/off.

Das MSwitch KU_TV fasst alle Aktionen zusammen die ich haben möchte und schalten tue ich es mit einem DashButton, oder Alexa (ha-bridge), oder morgens über einen Motion Sensor, oder aber direkt über Fhem Webinterface.

Es sind bei dem MSwitch KU_TV Device 3 Geräte involviert. Einmal die Sonoff Steckdose, wo alles dran hängt.
Sprich der TV, ein Raspberry mit Libreelec (Kodi) und noch ein NodeMCU mit IR Transmitter (FreeCmd), um den TV ein & auszuschalten.

Bei "set KU_TV off" geht der TV via IR Transmitter in den Standby und der Raspberry wird herunterfahren (shutdown) und nach einigen Sekunden geht die Sonoff Steckdose aus.
Aus dem Grund, damit das Dateisystem vom RPi nicht kaputt geht und der TV nicht hart ausgeschaltet wird, wenn die Sonoff Steckdose ausgeschaltet wird.

Mit einem MSwitch Device (KU_TV) kann ich alle 3 Geräte Zeitversetzt steuern und auch zu verschiedenen Uhrzeiten unterschiedliche Aktionen ausführen.
Wie z.B. Werktags morgens, soll die Lautstärke runter geregelt werden und automatisch SAT1 eingeschaltet werden. Wir schauen gerne Frühstücksfernsehen... :)

MSwitch finde ich einfacher zu konfigurieren, man kann sich das leicht zurecht klicken und man hat alles in einem Device.
Dazu kann man das Device auch mit on/off schalten, also mit Buttons.

Danke an Thomas für das Modul! :)
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

andies

Zitat von: Byte09 am 17 Mai 2018, 21:56:11
die Grundidee des Moduls war ja eine ganz andere , aus dieser resultiert das Grundgerüst des Modules , so wie es ist. Irgendwann hat sich diese Grundidee aber als Sackgasse erwiesen und irgendo viel mal der Satz 'aber ein cooles Mutiswitch-device" , ich glaube von dir.
Ja, ja, ich weiß  ;D

Ich habe das nun im Wiki geändert, weil endlich der Groschen gefallen ist. Ich hatte ja eigentlich vor, etwas anderes zu machen. Ich wollte ein device, das zeitgesteuert bestimmte Dinge auslöst (konkret: Abwesenheitssimulation) und mir war nicht klar, wie das geht.

Also wenn ich beispielsweise das reading eines dummy auf "Ich bin abwesend" stelle, sollten die Lampen A und B um 7:03 bis 7:20 angehen und um 8:10 und 8:20 ausgehen usw usf. Wenn dagegen "Ich bin anwesend" stand, sollte nichts passieren. Mir war nicht klar, dass ich dazu entweder einen Trigger definieren muss, der dann selbst zeitabhängig  einschaltet oder via GLOBAL gehe. Jetzt habe ich das kapiert.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Byte09

Zitat von: mark79 am 18 Mai 2018, 17:27:39
Ich habe ein Bespiel (Screenshot) für meinen TV in der Küche, allerdings nicht über ein trigger, sondern mittels on/off.

Das MSwitch KU_TV fasst alle Aktionen zusammen die ich haben möchte und schalten tue ich es mit einem DashButton, oder Alexa (ha-bridge), oder morgens über einen Motion Sensor, oder aber direkt über Fhem Webinterface.

Es sind bei dem MSwitch KU_TV Device 3 Geräte involviert. Einmal die Sonoff Steckdose, wo alles dran hängt.
Sprich der TV, ein Raspberry mit Libreelec (Kodi) und noch ein NodeMCU mit IR Transmitter (FreeCmd), um den TV ein & auszuschalten.

Bei "set KU_TV off" geht der TV via IR Transmitter in den Standby und der Raspberry wird herunterfahren (shutdown) und nach einigen Sekunden geht die Sonoff Steckdose aus.
Aus dem Grund, damit das Dateisystem vom RPi nicht kaputt geht und der TV nicht hart ausgeschaltet wird, wenn die Sonoff Steckdose ausgeschaltet wird.

Mit einem MSwitch Device (KU_TV) kann ich alle 3 Geräte Zeitversetzt steuern und auch zu verschiedenen Uhrzeiten unterschiedliche Aktionen ausführen.
Wie z.B. Werktags morgens, soll die Lautstärke runter geregelt werden und automatisch SAT1 eingeschaltet werden. Wir schauen gerne Frühstücksfernsehen... :)

MSwitch finde ich einfacher zu konfigurieren, man kann sich das leicht zurecht klicken und man hat alles in einem Device.
Dazu kann man das Device auch mit on/off schalten, also mit Buttons.

Danke an Thomas für das Modul! :)

Hi Mark,

nur aus Neugier : was machen denn die drei dash notifys bzw das doif , die mit dem device 'verbunden' sind ?
ggf, kannst du die sparen ( je nach ddem ) .

gruss Thomas

mark79

Hallo Thomas,

Verbessern kann man bestimmt einiges. :) Allerdings das mit Dash Button Bespiel im Wiki habe ich bei mehreren Versuchen nicht hinbekommen. Aber das ist auch schon etwas her und war am Anfang wohl etwas zu komplex...
Ich werde das später noch mit einem einfaches Device ausprobieren.

>>nur aus Neugier : was machen denn die drei dash notifys bzw das doif , die mit dem device 'verbunden' sind ?

Mit dem "Dash_Power" Button wird der KU_TV bzw. das MSwitch Device an oder ausgeschaltet (Toggle notify)
defmod Dash_Power notify DashButton:18-74-2e-6b-0c-32..short { if (ReadingsVal("KU_TV","state","") eq "on") { fhem("set KU_TV off") } else { fhem("set KU_TV on") } }

Dash_Mentos ist ein Dashbutton im Flur, womit ich einige Geräte beim verlassen der Wohnung, oder beim schlafen gehen ausschalte:
defmod Dash_Mentos notify DashButton:18-74-2e-a2-fc-51:.short {fhem("set WZ_Lichtschalter off;; set WZ_Bilderrahmen off;; set WZ_Stehlampe off;; set KU_Schranklicht off;; set KU_Kaffee off;; set WZ_TV off;; set KU_TV off")}

Das DOIF ist ein IT Bewegungsmelder, der im Moment eigentlich nur morgens beim aufstehen das Küchenlicht, Kaffeemaschine und TV anschaltet. Irgendwann später soll der Sensor, ein Wecker ausschalten und ein Nachtlicht schalten...
defmod Flur_motion_kueche_morgens DOIF ([05:50 - 07:30|Mo Di Mi Do Fr] and [Pearl_Motion:"^on$"]) (set KU_Kaffee on)(set KU_Schranklicht on)(set KU_TV on)DOELSEIF([00:00])

Wozu das DashButton_notify_1 existiert, weiß ich allerdings auch nicht mehr. :D
defmod DashButton_notify_1 notify DashButton:18-74-2e-a2-fc-51:.short {("set WZ_Lichtschalter off;;;; set WZ_Bilderrahmen off;;;; set WZ_Stehlampe off;;;; set KU_Schranklicht off;;;; set KU_Kaffee off;;;; set WZ_TV off;;;; set KU_TV off")}

Das war bestimmt ein Test Device, was ich wohl vergessen habe zu löschen. Oder das schaltet in Wirklichkeit Dash_Mentos. Muss ich mir später noch mal genauer anschauen.

Das meiste ist auch noch aus meiner Anfangszeit und wenn es funktioniert, verändert man es erstmal nicht.
Aber bisher habe ich 3 DOIFs und ein paar Dummys durch MSwitch ersetzt.


Viele Grüße
Mark
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

Byte09

kommendes Update auf V1.43

das kommende Update wird folgende Änderungen enthalten:

- diverse kleinere Fehler behoben

- gravierenden fehler in Zusammenhang Notify-Mode und Delays behoben

- Funktionserweiterung Events: bisher boten die triggerbaren Events nur in der 'letzten Stelle' die Möglichkeit von Mehrfachangaben  z.B.
state:(on/off) Hier wird es Möglich sein , auch bei dem Readingnamen Mehrfachangaben zu machen  , in dieser Form (state/rgb):(on/off) Dieses zielt insbesondere auf die komfotablerer Einbindung von Dashbuttons ab, da damit folgende Eventabfragen Möglich werden , ohne das in den jeweiligen 'affected devices' nochmals eine Conditionabfrage gemacht werden muss :
(ac-63-be-8c-d2-X1/ac-63-be-8c-d2-X2/ac-63-be-8c-d2-X3):short

- Funktionserweiternug MSwitch_Mode: zu den bisherigen Modes 'Full' und 'Notif' wird der Mode 'Toggle' kommen. In diesm Mode wird in den Triggerdetails statt der bisherigen Felder "execute 'on' commands, execute 'off' commands' ... " nur ein Feld verfügbar sein , 'toggle Mswitch and execute comands". Bei eintreffen des hier definierten Events Toggelt sich das MSwitch Device selber und führt alle Kommandos des dann aktiven Zweiges aus - manuelles umschalten über webcmd ist ebenfalls möglich.

gruss Byt09




andies

Man kommt ja mit dem Wikischreiben gar nicht hinterher :D
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Byte09

Zitat von: andies am 19 Mai 2018, 10:04:30
Man kommt ja mit dem Wikischreiben gar nicht hinterher :D

;D

ja ,sry  ;), da das modul jetzt doch hier und da im einsatz ist stellt sich doch schnell verbesserungsbedarf dar.
die letzten Änderungen beruhen z.B fast ausschliesslich auf dem letzten post von Mark und dem daraus resultierendem vereinfachungspotential

Gruss Thomas

andies

Was hältst du von der Idee, einen Text für die commandref innerhalb des Moduls (also am Ende) entwerfen? Ich finde das immer gut, wenn man unten auf ,,device help" klickt und gleich was sieht, das passiert dann nämlich.  Soll ich mal versuchen?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Byte09

#83
Zitat von: andies am 19 Mai 2018, 12:22:01
Was hältst du von der Idee, einen Text für die commandref innerhalb des Moduls (also am Ende) entwerfen? Ich finde das immer gut, wenn man unten auf ,,device help" klickt und gleich was sieht, das passiert dann nämlich.  Soll ich mal versuchen?

hi andies

sehr sehr gerne ,

genau diese fehlende commandref ist eigentlich auch der grund, warum ich zur zeit nicht mal daran denke , das Modul offiziell zu machen.

traue es mich ja kaum es zu sagen , aber das ist mir im moment zu zeitaufwendig ( und schreibarbeit ist eh nicht so meins )  :o

gruss Thomas

Torsten_MG

#84
Hallo Thomas,

nach deinem Hinweis eben auf dieses Modul habe ich mir nun die 6 Seiten hier durchgelesen und auch das wiki mal überflogen. Ist für mich heute irgendwie schwere Kost.

Nun eine bitte an dich:

Ich habe einen HM-PB-2-WM55 (Flur_Taster1_01:.*Short.*(Licht an), Flur_Taster1_02:.*Short.*(Licht aus)) als Taster, einen HM-Sen-MDIR-WM55 (Flur_Taster2_01:.*Short.*(Licht an), Flur_Taster2_02:.*Short.*(Licht aus), Flur_Taster2_Motion(Bewegungsmelder)) als Taster mit Bewegungsmelder und beide schalten einen HM-LC-DIM1T-FM (Flur_Lampe) wo eine Lampe angeschlossen ist. Der Bewegungsmelder schaltet die Lampe nur in der Zeit von 18 Uhr bis 6 Uhr.

Kannst du mir das mal als Beispiel für dein Modul machen? Vielleicht verstehe ich dann den ganzen Zusammenhang.

Vielen Dank schonmal

Gruß Torsten

andies

also ich kann das auch nicht auf die Schnelle, aber man muss da ungefähr wie folgt herangehen. Du brauchst ein Gerät, das auslöst. Das könnte im Zweifel ein dummy sein, muss aber nicht. Das Gerät hat on und off. Dieses Gerät ist der trigger.

Und dann überlegst du dir, was nach dem on oder dem off geschaltet werden soll. Das sind die Geräte, die du dann im webinterface anlegst. Die Geräte stehen dann in den Zweigen, also dem on-Zweig bzw. dem off-Zweig.

Jetzt klarer?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Torsten_MG


Byte09

Zitat von: Torsten_MG am 19 Mai 2018, 20:48:11
Leider nein
Hi

Heute leider nicht mehr ... bin unterwegs und habe gerade ein schönes Bier vor mir stehen.

Mache ich morgen früh.

Gruss Byte09

Kurz da mobil

Gesendet von meinem SM-G900F mit Tapatalk


Torsten_MG

Zitat von: Byte09 am 19 Mai 2018, 20:56:50
Hi

Heute leider nicht mehr ... bin unterwegs und habe gerade ein schönes Bier vor mir stehen.

Mache ich morgen früh.

Gruss Byte09

Kurz da mobil

Gesendet von meinem SM-G900F mit Tapatalk

Super, vielen Dank. Dann noch Prost!

andies

Zitat von: Torsten_MG am 19 Mai 2018, 20:48:11
Leider nein
Kannst du wenigstens sagen, wieso? Sonst hole ich mir auch ein Bier ;-)
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann