98_MSwitch - Support

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

Vorheriges Thema - Nächstes Thema

Byte09

Zitat von: Torsten_MG am 03 Juni 2018, 18:52:08
Habe gerade festgestellt, dass eine Sache nicht funktioniert.

Als ich für mein Flurlicht noch 3 MSwitch hatte und in dem für den Dimmer das on-for-timer und pct hatte, hat die Lampe abends gedimmt geschaltet. Das Dimmen funktioniert jetzt in dem zusammengelegten Switch seltsamer weise nicht mehr, obwohl ich bei bei beiden on condition das gleiche eingetragen habe.

so schwer zu beurteilen so  . da kann ggf ein gemeinsames event ( dadurch das du nur teile auswertest ) ? Auf der sicheren und einfacheren seite bist du wirklich wenn du es trennst .

gruss Byte09

Byte09

#226
Wiki wurde um den Tipp 'Linearschalter' ergänzt:

https://wiki.fhem.de/wiki/MSwitch.pm#Lienearschalter

Gruss Byte09

mark79

#227
Hallo Byte,

ich habe ein neues Spielzeug, ein Xiaomi Cube und versuche mit MSwitch eine Multifunktion umzusetzen.
https://youtu.be/iPMrfjilYzU?t=50s & https://forum.fhem.de/index.php/topic,84790.0.html

Komme da aber nicht recht weiter, wenn ich das MSwitch Device erweitere, funktioniert es nicht mehr und zudem springt immer der Safemode an. Habe diesen nun deaktiviert...

Der Würfel hat 7 Funktionen bzw. Events: shake, rotate_left, rotate_ride, tap, slide, flip90, flip180, fall

Ich möchte damit die Kodi Lautstärke regeln und das Schranklicht dimmen. Über rotate_left, rotate_ride

Mit "shake" schaltet MSwitch ein Dummy auf KU_KODI/KU_Schranklicht im Toggle Modus um, was auch funktioniert.

Und über AND [KU_MSwitch_Dummy] eq "KU_Schranklicht" möchte ich in den einzelnen MSwitch Devices selektieren, was beim drehen des Würfels passieren soll:
KU_LED_Stripe_Schrank
MSwitch on cmd: Set > dimdown 10
on condition: [$EVENT] eq "KU_Cube:action:rotate_left" AND [KU_MSwitch_Dummy] eq "KU_Schranklicht"

Nur das  mit dem Dummy und dem Filtern nach "KU_KODI/KU_Schranklicht" funktioniert nicht. Ich habe davon zwei Screenshots angelegt.

Der erste Screenshot zeigt ein MSwitch Device welches funktioniert ohne die AND Regel.
Der zweite Screenshot zeigt das Device, was ich eigentlich umsetzen möchte und was nicht funktioniert.

Eventlog:
2018-06-10 12:39:22 MSwitch KU_Cube_MSwitch last_event: transmission-state: incoming publish received
2018-06-10 12:39:22 MSwitch KU_Cube_MSwitch last_event: KU_Cube:transmission-state:incomingpublishreceived
2018-06-10 12:39:22 MSwitch KU_Cube_MSwitch last_event: KU_Cube:transmission-state:incomingpublishreceived
2018-06-10 12:39:22 MSwitch KU_Cube_MSwitch last_event: KU_Cube:transmission-state:incomingpublishreceived
2018-06-10 12:39:22 MSwitch KU_Cube_MSwitch last_event: KU_Cube:transmission-state:incomingpublishreceived
2018-06-10 12:39:22 MSwitch KU_Cube_MSwitch last_event: KU_Cube:transmission-state:incomingpublishreceived
2018-06-10 12:39:22 XiaomiMQTTDevice KU_Cube transmission-state: incoming publish received
2018-06-10 12:39:22 MSwitch KU_Cube_MSwitch last_event: voltage: 3005
2018-06-10 12:39:22 MSwitch KU_Cube_MSwitch last_event: KU_Cube:voltage:3005
2018-06-10 12:39:22 MSwitch KU_Cube_MSwitch last_event: KU_Cube:voltage:3005
2018-06-10 12:39:22 MSwitch KU_Cube_MSwitch last_event: KU_Cube:voltage:3005
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:voltage:3005
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:voltage:3005
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: battery_level: 100.00
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:battery_level:100.00
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:battery_level:100.00
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:battery_level:100.00
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:battery_level:100.00
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:battery_level:100.00
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: battery: ok
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:battery:ok
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:battery:ok
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:battery:ok
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:battery:ok
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:battery:ok
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: action: rotate_left
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:action:rotate_left
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:action:rotate_left
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:action:rotate_left
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:action:rotate_left
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:action:rotate_left
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: angle: -89.05
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:angle:-89.05
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:angle:-89.05
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:angle:-89.05
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:angle:-89.05
2018-06-10 12:39:23 MSwitch KU_Cube_MSwitch last_event: KU_Cube:angle:-89.05
2018-06-10 12:39:23 XiaomiMQTTDevice KU_Cube voltage: 3005
2018-06-10 12:39:23 XiaomiMQTTDevice KU_Cube battery_level: 100.00
2018-06-10 12:39:23 XiaomiMQTTDevice KU_Cube battery: ok
2018-06-10 12:39:23 XiaomiMQTTDevice KU_Cube action: rotate_left
2018-06-10 12:39:23 XiaomiMQTTDevice KU_Cube angle: -89.05


Wäre super wenn du da mal drüber schauen könntest und wenn du ne bessere Idee hast, immer her damit. :)


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

mark79

Ich habe den Fehler gefunden, bei KU_MSwitch_Dummy fehlt das "state".  ::)
Also so: KU_MSwitch_Dummy:state
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

Zitat von: mark79 am 10 Juni 2018, 13:05:31
Ich habe den Fehler gefunden, bei KU_MSwitch_Dummy fehlt das "state".  ::)
Also so: KU_MSwitch_Dummy:state

OT: braucht du dafür ein Gateway, oder kann er direkt mit fhem ?

Gruss Byte09

mark79

#230
Zitat von: Byte09 am 10 Juni 2018, 13:27:35
OT: braucht du dafür ein Gateway, oder kann er direkt mit fhem ?

Gruss Byte09

Entweder das orginale Gateway oder ein Zigbee Stick: https://github.com/Koenkk/zigbee2mqtt/wiki/Supported-sniffer-devices
Würde dir ein CC2530 empfehlen, wegen der größeren Reichweite. Man muss diesen aber in beiden Fällen noch umflashen.

Der Vorteil daran ist, man benötigt das originale GW nicht, also ohne Xiaomi Cloud. Man kann mehr Geräte anbinden, ich glaube bis zu 50 und die Devices haben teilweise mehr Funktionen als mit dem org. Gateway. Und dazu kann man noch Ikea und Hue etc. anbinden: https://github.com/Koenkk/zigbee2mqtt/wiki/Supported-devices

EDIT: Der Würfel ist im Moment auch noch im Angebot: https://www.mydealz.de/deals/xiaomi-aqara-cube-remote-controller-fur-6-aktionen-gateway-wird-benotigt-1177426
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

Zitat von: mark79 am 10 Juni 2018, 14:02:02
Entweder das orginale Gateway oder ein Zigbee Stick: https://github.com/Koenkk/zigbee2mqtt/wiki/Supported-sniffer-devices
Würde dir ein CC2530 empfehlen, wegen der größeren Reichweite. Man muss diesen aber in beiden Fällen noch umflashen.

Der Vorteil daran ist, man benötigt das originale GW nicht, also ohne Xiaomi Cloud. Man kann mehr Geräte anbinden, ich glaube bis zu 50 und die Devices haben teilweise mehr Funktionen als mit dem org. Gateway. Und dazu kann man noch Ikea und Hue etc. anbinden: https://github.com/Koenkk/zigbee2mqtt/wiki/Supported-devices

EDIT: Der Würfel ist im Moment auch noch im Angebot: https://www.mydealz.de/deals/xiaomi-aqara-cube-remote-controller-fur-6-aktionen-gateway-wird-benotigt-1177426

dank dir, ich habe mir das ganze Zeugs gerade bestellt .... jetzt heisst es warten.

gruss Byte09

Byte09

#232
MSwitch - Fhem SVN

ich habe mich heute entschlossen, das Modul MSwitch leider auch längerfristig nicht in das Fhem SVN zu übernehmen.
Ein Modul, welches in das SVN soll muss eine comandref beinhalten ( auch eine Englische Version ist Voraussetzung ).
Da dieses Modul ständig in der Weiterentwicklung ist und  der Funktionsumfang deutlich zu Gross ist, um ihn nur in der Commandref zu beschreiben habe ich angefangen das Wiki zu schreiben und versuche dieses auf dem laufenden zu halten , weiterhin versuche ich die modulinternen Hilfetexte permanent zu aktualisieren.

Da ich denke das das Wiki unverzichbar ist,  macht mir die zusätzliche nötige Aktualisierung der Commandref ( noch dazu in 2 Sprachen ) den doppelten und dreifachen  Arbeitsaufwand - und dazu habe ich, schlicht und ergreifend, derzeit keine Motivation ( die Zeit stecke ich lieber in das Modul ) .

von daher bleibt die derzeitige 'GIT' Lösung weiterhin so bestehen. Ich denke das ist für die User, die es gerne nutzen, und  da es sich ohnehin irgendwie um ein 'Nischenmodul ' handelt, eine nicht unüberwindbare Hürde.

Gruss Byte09

PS:seit der letzten Version ist im übrigen das komplette Einspielen einer RAW-Definition eines MSwitch Devices möglich und es muss insofern nicht mehr zwingend über ein Config-File eingespielt werden.

mark79

Zitat von: Byte09 am 10 Juni 2018, 14:26:26
dank dir, ich habe mir das ganze Zeugs gerade bestellt .... jetzt heisst es warten.

gruss Byte09

Gern geschehen und ich bin schon gespannt, was du mit dem Würfel umsetzt ;)
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

#234
Zitat von: mark79 am 10 Juni 2018, 12:42:09
Hallo Byte,

.......

Hi Mark,

warum triggerst du in deiner obigen Config 'GLOBAT' und filterst dann in der 'Whitelist' nur auf den Würfel ?
das ist deutlich systemlastiger , als wenn du direkt auf den Würfel triggern würdest .
Den Trigger auf GLOBAL zu setzen , würde ich nur dann machen , wenn ich in einem Devive gerne mehrere Trigger nutzen würde ( verschiedene Geräte  ).

gruss Byte09

edit: aber achtung wenn du das änderst . wenn du direkt auf ein Gerät triggerst , ist das event nur noch '2stellig' , also ohne gerätenamen . Das ist dann in den Conditions zu beachten !

mark79

Mhh gute Frage :D
Ich bin noch in der Lernphase und teste viel rum. Ich habe vorher noch nicht mit der Global und $EVENT Funktion gearbeitet.

Ich habe es aber jetzt umgestellt:
Trigger device: KU_Cube (a: t:XiaomiMQTTDevice)
[$EVENT] eq "action:rotate_right" AND [KU_MSwitch_Dummy:state] eq "KU_KODI"

Funktioniert auch :)

Ich werde das aber wohl noch umändern auf Free Cmd und dann noch ein TTS mit einbauen. Wo man eine Bestätigung erhält, auf welches Dummy Device (Kodi oder LED Schranklicht) es gerade umgeschaltet hat.

Noch eine Frage.. Kann man eigentlich auch bei...
execute 'on' commands only
execute 'off' commands only

auf beiden mit "*" triggern? und bei den zu schaltenen Devices mit "on" "off" arbeiten.
Also z.B. bei on volumedown und bei off auf volumedown?
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

#236
Zitat von: mark79 am 10 Juni 2018, 16:40:21
Mhh gute Frage :D
Ich bin noch in der Lernphase und teste viel rum. Ich habe vorher noch nicht mit der Global und $EVENT Funktion gearbeitet.

Ich habe es aber jetzt umgestellt:
Trigger device: KU_Cube (a: t:XiaomiMQTTDevice)
[$EVENT] eq "action:rotate_right" AND [KU_MSwitch_Dummy:state] eq "KU_KODI"

Funktioniert auch :)

Ich werde das aber wohl noch umändern auf Free Cmd und dann noch ein TTS mit einbauen. Wo man eine Bestätigung erhält, auf welches Dummy Device (Kodi oder LED Schranklicht) es gerade umgeschaltet hat.

Noch eine Frage.. Kann man eigentlich auch bei...
execute 'on' commands only
execute 'off' commands only

auf beiden mit "*" triggern? und bei den zu schaltenen Devices mit "on" "off" arbeiten.
Also z.B. bei on volumedown und bei off auf volumedown?
Bei den 'only' zweigen geht das triggern in beiden zweigen auf Wildcard '*'. In den beiden zweigen in denen das Device auch umschaltet 'switch mswitch Device and execute ...' geht es nicht .  Die Auswertung des events muss dann in den condition der Schaltzweige erfolgen.

Am besten das mswitch in den notifymode setzen , dann hast du eh nur noch die beiden zweigen , in denen das geht

Gruss Byte09

Gesendet von meinem SM-G900F mit Tapatalk

Torsten_MG

#237
Da ich ja gerne hätte, dass abends das Licht gedämmt ist, wenn es vom Bewegungsmelder eingeschaltet wird, habe ich wieder ein seperates MSwitch dafür angelegt, so wie es schonmal funktioniert hat (Hoffe ich habe da nichts vergessen). Aber aus irgendeinem Grund funktioniert es nicht mehr. Der On-for-Timer funktioniert, aber nicht der pct. Einzeln funktioniert es, zusammen aber nicht

#V V1.54
#S .Device_Affected -> Flur_Lampe-AbsCmd1,Flur_Lampe-AbsCmd2
#S .Device_Affected_Details -> Flur_Lampe-AbsCmd1,pct,no_action,20,,delay1,delay1,000000,000000,,,0,0|Flur_Lampe-AbsCmd2,on-for-timer,no_action,30,,delay1,delay1,000000,000000,,,0,0
#S .Device_Events -> no_trigger|state:motion
#S .First_init -> done
#S .Trigger_Whitelist -> undef
#S .Trigger_cmd_off -> no_trigger
#S .Trigger_cmd_on -> no_trigger
#S .Trigger_condition ->
#S .Trigger_off -> no_trigger
#S .Trigger_on -> state:motion
#S .Trigger_time ->
#S .V_Check -> V 0.3
#S Trigger_device -> Flur_Taster2_Motion
#S Trigger_log -> off
#S last_event -> state: noMotion
#S state -> on
#A MSwitch_Ignore_Types -> notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
#A MSwitch_Help -> 0
#A MSwitch_Include_Devicecmds -> 1
#A MSwitch_Include_Webcmds -> 0
#A MSwitch_Extensions -> 0
#A MSwitch_Include_MSwitchcmds -> 0
#A MSwitch_Delete_Delays -> 1
#A MSwitch_Lock_Quickedit -> 1
#A MSwitch_Inforoom -> MSwitch
#A MSwitch_Mode -> Full
#A MSwitch_Expert -> 0
#A MSwitch_Debug -> 0

Byte09

Zitat von: Torsten_MG am 12 Juni 2018, 16:22:53
Da ich ja gerne hätte, dass abends das Licht gedämmt ist, wenn es vom Bewegungsmelder eingeschaltet wird, habe ich wieder ein seperates MSwitch dafür angelegt, so wie es schonmal funktioniert hat (Hoffe ich habe da nichts vergessen). Aber aus irgendeinem Grund funktioniert es nicht mehr. Der On-for-Timer funktioniert, aber nicht der pct. Einzeln funktioniert es, zusammen aber nicht

#V V1.54
#S .Device_Affected -> Flur_Lampe-AbsCmd1,Flur_Lampe-AbsCmd2
#S .Device_Affected_Details -> Flur_Lampe-AbsCmd1,pct,no_action,20,,delay1,delay1,000000,000000,,,0,0|Flur_Lampe-AbsCmd2,on-for-timer,no_action,30,,delay1,delay1,000000,000000,,,0,0
#S .Device_Events -> no_trigger|state:motion
#S .First_init -> done
#S .Trigger_Whitelist -> undef
#S .Trigger_cmd_off -> no_trigger
#S .Trigger_cmd_on -> no_trigger
#S .Trigger_condition ->
#S .Trigger_off -> no_trigger
#S .Trigger_on -> state:motion
#S .Trigger_time ->
#S .V_Check -> V 0.3
#S Trigger_device -> Flur_Taster2_Motion
#S Trigger_log -> off
#S last_event -> state: noMotion
#S state -> on
#A MSwitch_Ignore_Types -> notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
#A MSwitch_Help -> 0
#A MSwitch_Include_Devicecmds -> 1
#A MSwitch_Include_Webcmds -> 0
#A MSwitch_Extensions -> 0
#A MSwitch_Include_MSwitchcmds -> 0
#A MSwitch_Delete_Delays -> 1
#A MSwitch_Lock_Quickedit -> 1
#A MSwitch_Inforoom -> MSwitch
#A MSwitch_Mode -> Full
#A MSwitch_Expert -> 0
#A MSwitch_Debug -> 0


eweriss jetzt gerade nicht wie du es schonmal hattest, aber ich habe ähnlich probleme mit meinen dimmern gehabt ( konnte kein on-for-timer gleichzeitig mit dem pct auslösen ) . Ich habe es so gelöst , dass ich den dimmer nicht auf on-for-timer setze, sondern auf pct 20.  Mit einem zweiten Befehl für den Dimmer ( im selben MSwitch Device - auch im 'on' zweig ) setze ich den Dimmer dann zeitverzögert ( delay without conditioncheck ) wieder auf 'off' . Delay entspricht dann der Zeit , die das Licht anbleibt.

gruss Byte09

Torsten_MG

Ich meine, ich hatte es damals genau so wie im oberen Post gemacht