MSwitch_Support

Begonnen von Der_Tom, 27 Juni 2021, 07:29:32

Vorheriges Thema - Nächstes Thema

Der_Tom

Zitat von: Wolle02 am 15 Juli 2021, 18:01:31
Vielen Dank. Kann dir aber erst nächste Woche Rückmeldung geben. Ich fahre jetzt in den Katastropheneinsatz nach NRW.

Respekt dafür - klar, wann immer du magst.

Passt auf euch auf @Katastrophenschutz etc.

gruss Thomas

Der_Tom

Neues Template eingespielt : TintFB_Hue_Bridge

Dieses Device dient als verbindendes Element zwischen einer Tint Fernbedienung und eines Hue-Devices.
Im Template sindlediglich der Name der Fernbedienung und der Name der Lampe anzugeben.
weitere Einstellungen sind nicht notwendig.

Mit kleineren Ergänzungen ist auch die Gruppenfunktion der FB nutzbar.

Das Template ist über den MSwitch Wizard erreichbar:
define <NAME> mswitch wizard

dort muss das Template "TintFB_Hue_Bridge" importiert werden.


gruss Thomas



Guenni1404

Hallo Thomas,

ich hätte ein Frage und ein Anmerkung.
1. zu schaltende Geräte: besteht die Möglichkeit die Einträge in der Liste zu sortieren bzw ein Suchfeld hinzuzufügen. Finde das Durcheinander nicht sehr gut.
2. wenn ich ein Gerät ausgewählt habe, kann ich nur "set" Befehle auswählen.  Besteht die Möglichkeit dieses auf "get" auszuweiten? Wäre z.B. bei HTTPMOD sehr praktisch.

Gruß

guenni

Der_Tom

Zitat von: Guenni1404 am 18 August 2021, 22:08:40
Hallo Thomas,

ich hätte ein Frage und ein Anmerkung.
1. zu schaltende Geräte: besteht die Möglichkeit die Einträge in der Liste zu sortieren bzw ein Suchfeld hinzuzufügen. Finde das Durcheinander nicht sehr gut.
2. wenn ich ein Gerät ausgewählt habe, kann ich nur "set" Befehle auswählen.  Besteht die Möglichkeit dieses auf "get" auszuweiten? Wäre z.B. bei HTTPMOD sehr praktisch.

Gruß

guenni

hi guenni

das sortieren der liste bzw Suchfeld ist machbar und ich werde sehen , das ich das die Tage umsetze.

mit der Liste der Get Befehle mus ich erstmal schauen , wie ich an eine Liste dieser Befehle eines Gerätes herankomme , das hab ich gerade nicht auf dem Schirm. Weiterhin bringt das Ausführen der Getbefehle weitere Probleme mit sich , das beim aausführen eines getbefehls in aller regel eine "antwort" generiert wird. Diese muss ja in irgend einer Form angenommen und bearbeitet werden. Ich werde mir da in ruhe ansehen.

Die Sortier/Suchfunktion schaffe ich ggf. zum Wochenende, der Rest wird sicher einige Tage dauen.

gruss Thomas

Wolle02

Zitat von: Der_Tom am 19 August 2021, 04:59:55
Weiterhin bringt das Ausführen der Getbefehle weitere Probleme mit sich , das beim aausführen eines getbefehls in aller regel eine "antwort" generiert wird. Diese muss ja in irgend einer Form angenommen und bearbeitet werden. Ich werde mir da in ruhe ansehen.

Die "Antworten" eines Get landen doch in der Regel im Ursprungsdevice, d.h. da wird dann eines oder mehrere Readings aktualisiert. Das kann man doch dann da abgreifen oder? MSwitch selber müsste doch gar nichts weiter damit machen?

Ich fände das auch sehr praktisch, wenn es eine Get-Möglichkeit gäbe. Wobei..... mit einem FreeCMD müsste das ja auch jetzt schon machbar sein.

Der_Tom

Zitat von: Wolle02 am 19 August 2021, 07:48:01
Die "Antworten" eines Get landen doch in der Regel im Ursprungsdevice, d.h. da wird dann eines oder mehrere Readings aktualisiert. Das kann man doch dann da abgreifen oder? MSwitch selber müsste doch gar nichts weiter damit machen?

Ich fände das auch sehr praktisch, wenn es eine Get-Möglichkeit gäbe. Wobei..... mit einem FreeCMD müsste das ja auch jetzt schon machbar sein.

Über Freecmdvgeht es , verursacht aber Warnmeldungen im Log wenn ich mich Recht erinnere .

Wie dem auch sei , ich werde es integrieren da ja offenbar  benötigt  ;) .

Wird aber , wie gesagt , ein paar Tage dauern.

Gruss Thomas

Der_Tom

vorabinfo:

im Zuge der gewünschten änderungen/ergänzungen werde ich die Weboberfläche entsprechend dem angehängten Bild umstellen ( beschriftung ist nur temporär so wie sie ist ) .

wenn hier jemand weitere verbesserungvorschläge hat nehme ich sie gerne mit auf.

gruss Thomas

Der_Tom

Testversion V6.0


update all https://raw.githubusercontent.com/Byte009/FHEM-MSwitch-Beta/master/controls_mswitch.txt


die Version ist kompatibel mit der aktuellen Version , d.H ein Zurück auf die jetzige Version ist Problemlos möglich.
update all https://raw.githubusercontent.com/Byte009/FHEM-MSwitch/master/controls_mswitch.txt


- geänderte Weboberfläche
- diverse weitere Änderungen ( Dokumentation folgt bei Übernahme in den normalen GIT-Zweig.


gruss Thomas

Der_Tom

#23
Ich habe heute die kompletten Hilfedateien auf den aktuellen Stand gebracht.
vorab stelle ich diese mal hier ein, und stelle Sie zusammen mit der Version 6 in das Update.

Die Datei befindet sich im Anhang und kann bis dahin manuell eingespielt werden.

gruss Thomas



Hilfe attr:



MSwitch_Device_Groups
Erlaubt die Anlage von Devicegruppen.
Diese Gruppen sind dan bei den Affected Devices zur Auswahl verfuegbar,
wobei dort nur Befehleangeboten werden , die ALLE Geraete in der Gruppe gemeinsam haben.
Sollte der benoetigte Befehl nicht aufgefuehrt sein kann alternativ [FREECMD] genutzt werden.


Das Format lautet:
GRUPPENNAME->devicename,decicename ....
GRUPPENNAME1->devicename1,decicename2 ....

mehrere Gruppen sind durch Zeilenumbruch zu trennen.
Statt der Devicenamen kann RegEx angewendet werden.


MSwitch_ExtraktHTTPMapping
Ermoeglicht die Anpassung von Readings die durch 'loadHTTP' und dem Attribut 'MSwitch_ExtraktfromHTTP' erzeugt wurden
und bietet die Moeglichkeit, Ersetzungen vorzunehmen.

Format: Readinginhalt->neuerInhalt
z.B: °C-> Grad Celsius

ersetzt jedes Vorkommen von '°C' zu ' Grad Celsius' und wird z.B fuer eine Sprachausgebe durch Amazon Echo benoetigt.

Im zu ersetzenden Teil kann Regex genutzt werden. Mehrere Ersetzungen sind durch Zeilenumbruch zu trennen.

MSwitch_ExtraktfromHTTP
Mit diesem Attribut wird die Erzeugung von Readings aus einer geladenen HTML-Datei gesteuert.
Jede angegebene Zeile erzeugt ein Reading aus der Datei ( falls vorhanden )

Format: Readingname->RegEx

Wenn mit der angegebenen Regex mehrere Daten gefunden werden , so werden diese alle in diesem Reading ,
durch Komma getrennt, ausgegeben. In diesem Fall werden zusaetzlich weitere Readings angelegt, die jeweils einen der gefundenen Datensaetze enthalten.
Diese Readings werden automatisch durchnummeriert: Readingname_01,Readingname_01,Readingname_01 ...

MSwitch_Language:EN,DE
Umschaltung der Frontendsprache.

MSwitch_Comments:0,1
Schaltet vor jedem Befehlsfeld ein Kommentarfeld frei.
Diese kann fuer eigene Vermerke etc. genutzt werden.

MSwitch_Read_Log:0,1
Ermoeglicht den Zugriff auf das Logfile als Trigger.

Bei aktiviertem Attribut enthaelt die Auswahl des Triggerdevices die Option 'LOGFILE'.

Bei dieser Auswahl werde alle Logeintraege erkannt und in ein internes Event umgewandelt, auf das regiert werden kann.

Bei aktiviertem Attribut und der Auswahl 'GLOBAL' im 'Trigger_Device' wird auf alle Events und alle Logeintraege reagiert.

Bei aktiviertem Attribut und der Auswahl eines bestimmten Devices im 'Trigger_Device' wird auf alle Events
und auf alle Logeintraege des gewaehlten Devices reagiert.

Der im Logeintrag vorhandene Devicename ist Bedingung fuer die Funktion.

MSwitch_Hidecmds
Befehlszweige mit eine bestimmten ID koennen im Frontend ausgeblendet werden

MSwitch_Help:0,1
Schaltet die Hilfebuttons-/Funktionen im Frontend an oder aus

MSwitch_Debug:0,1,2,3,4
Erweiterte Optionen zur Fehlersuche
0 - Abgeschaltet
1 - Schaltet Felder zum testen der Conditionstrings an
2 - Alle ausgehenden Befehle werden nur simuliert und nicht ausgefuehrt. Der Inhalt der Protokolldatei wird direkt im Device angezeigt
3 - Es erfolgt eine Protokollierung in einer separaten Datei. Diese wird direkt im Device angezeigt.
4 - erweitertes Debug fuer Entwickler mit wechselnden Funktionen

MSwitch_Expert:0,1
erweiterter Modus
In der Liste der moeglichen Trigger erscheint das Selectfeld 'GLOBAL'.
Dieses ermoeglicht das Setzen eines Triggers auf alle Events und damit nicht nur auf einzelne Devices.
In einem weiteren Feld kann eine weitere Selektion der triggernden Events erfolgen.
Die Felder 'Repeats' und 'Repeatdelay in s' stehen zur Verfuegung.
Dies bewirkt eine n-fache Wiederholung des gesetzten Befehls mit x Sekunden Verzoegerung.
Das Auswahlfeld 'priority' erscheint bei jedem 'affectes device'.
So kann die Reihenfolge der Befehlsabarbeitung beeinflusst werden.

MSwitch_Delete_Delays:0,1,2
Option '1' bewirkt das Loeschen aller anstehende Delays (Veroegerungen) bei dem Auftreten eines erneuten passenden Events.
Es werden nur die Delays geloescht, die in dem cmd-zweig erzeugt wurden , der erneut ausgefueehrt wird.

Option '2' bewirkt das loeschen aller Delays, die Aufgrund des eingehenden Events angelegt wurden. Dazu werden alle Events mit dem
ausloesenden Trigger markiert. Bei erneutem Auftreten dieses Triggers werden alle zugehoerigen Delays geloescht.

Option '3' ... folgt
Option '4' ... folgt


Bei der Option '0' bleiben bereits gesetzte Delays aus einem vorher getriggerten Event erhalten und werden ausgefuehrt.

Empfohlene Einstellung: 1

MSwitch_Include_Devicecmds:0,1
Bewirkt die Aufnahme aller Devices die bei Abfrage mit 'set DEVICE ?' einen eigenen Befehlssatz liefern in die Auswahlliste 'Affected Devices'.
Bei Option '0' werden diese Devices in der Liste nicht mehr angeboten.
Empfohlene Einstellung: 1

MSwitch_Include_Webcmds:0,1
Bewirkt die Aufnahme aller Devices in die Auswahlliste 'Affected Devices', die einen eigenen Befehlssatz in dem Attribut Webcmd hinterlegt haben.
Die in Webcmd hinterlegten 'Befehle' werden in den Auswahlfeldern angeboten.
Bei gesetzter Option '0' werden diese Devices nicht mehr angeboten, es sei denn, sie liefern mit 'set DEVICE ?' einen eigenen Befehlssatz.
Empfohlene Einstellung: 0
Einsatz nach Bedarf

MSwitch_generate_Events:0,1
Reduziert bei Einstellung '1' die vom MSwitch-Devices erzeugten Events auf ein benoetigtes Minimum.
Insbesondere bei Verwendung von 'MSwitch_Read_Log' zu empfehlen.

MSwitch_Include_MSwitchcmds:0,1
Bewirkt die Aufnahme aller Devices in die Auswahlliste 'Affected Devices', die einen eigenen Befehlssatz in dem Attribut MSwitchcmds hinterlegt haben.
Die in MSwitchcmds hinterlegten 'Befehle' werden in den Auswahlfeldern angeboten.
Bei gesetzter Option '0' werden diese Devices nicht mehr angeboten, wenn sie nicht zusaetzlich einen eigenen Befehlssatz mit 'set DEVICE ?' liefern.
Empfohlene Einstellung: 0
Einsatz nach Bedarf.

MSwitch_Activate_MSwitchcmds:0,1
Fuegt jedem vorhandenen Device das Attribut 'MSwitchcmd' hinzu.

MSwitch_Lock_Quickedit:0,1
Voreinstellung fuer die Auswahlliste 'Affected Devices'.
Bei der Option '1' ist diese voreingestellt gesperrt und kann nur ueber einen zusaetzlichen Button geaendert werden, um versehentliche Aenderungen zu vermeiden.
Die Auswahl einer Option ohne betaetigte -Taste bewirkt das Loeschen aller bereits gesetzten Optionen.
Empfohlene Einstellung: 1

MSwitch_Ignore_Types
Beinhaltet eine durch Leerzeichen getrennte Liste von Device-Typen welche nicht geschaltet werden oder nicht geschaltet werden koennen.
Sie werden dann in den Auswahllisten nicht dargestellt, um die Auswahllisten uebersichtlich zu halten.

Voreinstellung: notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul.

Hier ist auch eine Angabe im Devspec-Format moeglich.
Wenn statt des Devicetyps ein devspec z.B. "TYPE=watchdog" angegeben wird, ist zu beachten,
dass alle Geraete in die Ignoreliste einbezogen werden, die NICHT der devspec entsprechen.
Weiterhin muss die devspec in Anfuehrungszeichen gesetzt werden!

MSwitch_DeleteCMDs:manually,automatic,nosave
fuer das Frontend werden alle Befehlsoptionen aller Devices vorgeladen um diese anbieten zu koennen.
Dieser Vorgang kann, insbesondere bei grossen Installationen , dazu fuehren, das der Ladevorgang des Frontends verzoegert wird.
Um dieses Effekt zu vermeiden koennen hier verschiedene Optionen gewaehtl werden.

- manually
Bei Aufruf des Frontends werden einmalig alle Informationen geladen und gespeichert. Bei erneutem Aufruf werden diese angeboten
Bei Aenderung von Devices muss diese Liste manuell aktualisiert werden , entsprechender Button wird angeboten.

- automatic
Bei Aufruf des Frontends werden alle Informationen geladen und fuer 10 Minuten gespeichert. Bei erneutem Aufruf werden diese angeboten.
Nach 10 Minuten werden diese Daten geloescht und bei Bedarf neu generiert - erneut fuer 10 Minuten
Ein Button zu manuellen Erneuerung der Daten wird angeboten.

- nosave
Die erforderlichen Daten werden bei jedem Aufruf des Frontends neu generiert.
Bei spuerbarer,stoerender Verzoegerung des Seitenaufbaus ist eine andere Option sinnvoll.

MSwitch_Mode:Full,Notify,Toggle,Dummy
Schaltet das Modul zwischen angepassten Weboberflaechen-Modi um.

- Notify
Das Device kann nicht manuell umgeschaltet werden.
Es gibt nur die zwei ausfuehrbaren Zweige "execute 'cmd1' commands" und "execute 'cmd2' commands".
Der Status des Devices wird nicht als 'on' oder 'off' angezeigt, sondern lediglich als 'active'
Dieser Mode ist aehnlich zu einem FHEM-Notify.

- Full
Es stehen alle Funktionen zur Verfuegung.

- Toggle
Sehr vereinfachter Mode. Es stehen keine verschiedenen Zweige zur Verfuegung.
Hier ist das Device manuell schaltbar und wird bei jedem definierten Event 'umgeschaltet', entsprechend definierte Befehle fuer 'cmd1' oder 'cmd2' werden ausgefuehrt.

- Dummy
Der Mode 'Dummy' ist ein eingeschraenkter Modus.
Dieser bietet die Funktionalitaet eines Dummys kombiniert mit der Funktionalitaet eines Notifys und kann somit die gerne genutzte Kombination Dummy-Notify gegen ein Device ersetzen.
Der Dummy-Mode kann nur in einem neu angelegten leeren MSwitch aktiviert und auch nicht wieder verlassen werden!
Sobald ein angelegtes MSwitch einmal veraendert wurde (modify trigger etc.) sind Umschalt-Optionen nicht mehr verfuegbar.

MSwitch_Extensions:0,1
Es wird eine zusaetzliche Schaltoption 'MSwitchToggle' in den Geraeten angeboten.
Diese kann genutzt werden, wenn zuschaltende Geraete eine Togglefunktion nicht von Haus aus anbieten.
Hiebei ist es nicht nur moeglich zwischen 2 Zustaenden zu 'Toggeln', sondern im Grunde kann hier zwischen x Zustaenden
ge'Toggelt' werden.

Die Syntax muss wie folgt lauten:
(optional):[Trennzeichen][befehl1,befehl2,befehlx]:(optional)[suchmuster1,suchmuster2,suchmusterx]:(optional)[reading]


[Trennzeichen]
- da die zu sendenden Befehle in der Liste in der Standarteinstellung per ',' getrennt werden und es passieren kann,
das auch die gesendeten Befehle ein Komma enthalten muessen kann ueber diese Option das Trennzeichen geaendert werden.
Als Trennzeichen darf nur ein einzelnes Zeichen verwendet werden , z.B [|].
Die nachfolgenden Befehls- und Readinglisten muessen dann ebenfalls durch dieses Zeichen getrennt werden ([befehl1|befehl2|befehlx]).

[befehl1,befehl2,befehlx]
- die Befehle die in der Reihenfolge bei jeder awktivierung 'durchgeschaltet' werden

[suchmuster1,suchmuster2,suchmusterx]
- bildet den zugehoerigen status eines readings ab , falls unterschiedlich zum gesetzten Befehl und das schalten nicht den state eines devices betrifft ( setlist)

[reading]
- Namedes Readings dessen Status betroffen ist.
- Sonderfall: Wenn das entsprechende Geraet kein Reading besitz , was den aktuell ( benoetigten ) Status darstellt kann die Steuerung komplett
ueber das MSwitch erfolgen. Hierzu muss als reading 'MSwitch_self' angegeben werden. In diesem Fall wird auf ein MSwitcheigenes Reading 'last_toggle_state' zugegriffen.

zum einfachen togglen zwischen on und off wuerde hier folgende Angabe reichen
[on,off]

MSwitch_Safemode:0,1
Bietet einen gewissen Schutz vor falschen Konfigurationen und dadurch entstehenden Endlosschleifen.
Bei aktiviertem Attribut '1' beendet das Modul Endlosschleifen eines Devices.
In diesem Fall erfolgt ein Logeintrag und das Device wird per Attribut auf 'Disabled' gesetzt.
Es wird ein letztes Event generiert, auf das reagiert werden kann 2018-05-31 09:39:21 MSwitch Safemode: on
Im Webinterface erfolgt bei betroffenem Device ein entsprechender Hinweis.
In der Grundkonfiguration ist dieses Attribut nicht gesetzt.
Es empfiehlt sich aber, bei neuen bzw. komplizierten Devices, dieses zumindest anfaenglich zu aktivieren.

MSwitch_Wait
Bei gesetztem Attribut nimmt das MSwitch Device fuer den eingestellten Zeitraum nach Ausfuehrung eines Befehlszweiges keine
Befehle mehr entgegen und ignoriert weitere eingehende Events.


MSwitch_Event_Wait
Es koennen fuer verschiedene eingehende Triggerevents Sperrzeiten nach einem eingegangenen Event gesetzt werden.
Diese Zeiten werden fuer jedes eingehende Event behandelt.

Geht ein definiertes Event ein , wird dieses ( nur dieses ) Event fuer angegebenen Zeitraum in Sekunden gesperrt und loest keinen Schaltvorgang mehr aus.

Format:
Event1



Hilfe get:

Angebotene Get-Befehle sind unter Umstaenden von der Grundkonfiguration abhaengig,
d.H nicht in jedem Mode werden alle Befehle angeboten.


get DEVICE sysextension

Einbindung von HTM/Javacode

Hier kann frei waehlbarer Cide angegeben werden , der im Device und u.U in der Detailansicht angezeigt (ausgefuhrt) wird.
Je nach Verfuegbarkeit koennen hier MSwitch-Widgets eingesetzt werden.

get DEVICE active_timer show,delete
- Show
Zeigt alle anstehenden (gesetzten) Timer des Devices, die aus zeitabhaengigen oder verzoegerten Schaltbefehlen resultieren.

- Delete
Loescht alle anstehenden (gesetzten) Timer des Devices, die aus zeitabhaengigen oder verzoegerten Schaltbefehlen resultieren.
Schaltbefehle basierend auf rein zeitabhaengigen Angaben werden neu berechnet und gesetzt.


get DEVICE HTTPresponse

Zeigt den Inhalt einer zuvor mit 'loadHTTP' geladenen HTML-Datei.

get DEVICE config

Zeigt die Konfigurationsdatei des MSwitchdevices an. Seit Version 6 ist eine Aenderung in dieser Datei nicht mehr moeglich.

Diese Datei kann z.B genutz werden , um Sie ueber den Wizard wieder einzuspielen.

get DEVICE support_info

Oeffnet ein Fenster mit einer formatierten Ansicht aller Einstellungen des Devices.
Bei Supportanfragen sollte dieses immer mit geposted werden.

get DEVICE restore_MSwitch_Data this_device|all_devices
- this_device
Stellt die Daten des Devices aus der Backupdatei wieder her, sofern diese in der Backupdatei gefunden werden (gesucht wird hier nach dem Namen des Devices).

- all_devices
Stellt die Daten aller MSwitch Devices wieder her, sofern diese in der Backupdatei vorhanden sind. Diese Aktion kann einige Zeit in Anspruch nehmen und wird daher im Hintergrund (nonblocking) ausgefuehrt.
Nach Beendigung erfolgt eine Benachrichtigung.

Die Devices sind nach einem Restore funktionsfaehig.
Empfohlen wird ein Neustart von FHEM..


get DEVICE Eventlog sequenzformated,timeline,clear
- timeline
Zeigt alle (historischen) eingegangenen Events (abhaengig von enzsprechender Attributeinstellung) in eingegangener Reihenfolge

- sequenzformated
Zeigt alle eingegangenen Events vorformatiert fuer eine Sequenzabfrage

- clear
Loescht die Liste der eingegangenen Events


get DEVICE statistics

Zeigt die Statistikdaten des Geraetes an.
Diese Funktion steht nur bei gesetztem Attribut MSwitch_Statistic zur verfuegung.





Hilfe set:

Angebotene Set-Befehle sind unter Umstaenden von der Grundkonfiguration abhaengig,
d.H nicht in jedem Mode werden alle Befehle angeboten.

set DEVICE wizard
Schaltet das Device in den Wizardmode.
In diesem Mode koennen at's, notifys undvorkonfigurierte Devices importiert werden.
Weiterhinh koennen Devices mithilfe eines Wizards angelegt werden.
Dieser Set steht nur bei neu angelegten und unveraenderten Devices zur Verfuegung.


set DEVICE loadHTTP

Laedt den Inhalt einer HTML Seite. Dieser kann genutzt werden, um daraus Readings zu extrahieren.
Die weitere Verarbeitung kann mit den Attributen 'MSwitch_ExtraktfromHTTP' und 'MSwitch_ExtraktHTTPMapping' beeinflusst werden.
Der gesamte Inhalt der eingelesenen Daten kann mit 'get HTTPresponse' angezeigt werden.

Format:
loadHTTP http://www.myhost.com/directory/
loadHTTP https://www.myhost.com/
loadHTTP http://www.myhost.com:8080/
loadHTTP http://user:password@www.myhost.com/

set DEVICE reset_device
Loescht alle Daten eines MSwitch-devices und versetzt diesen in den Zustand, als waere es neu angelegt.
Achtung: diese Aktion ist nicht rueckgaengig zu machen.


set DEVICE del_function_data
Loescht alle aus Funktionen resultierenden Daten und Readings.

set DEVICE reload_timer
Alle anstehenden Timer (aus zeitgesteuerter Schaltung) werden geloescht und im Anschluss neu berechnet.

set DEVICE del_delays
Format: set DEVICE del_delays

Loescht alle anstehenden Befehle, die aus zeitverzoegertem Schalten resultieren.
INDIKATOR ist optional.
Hier kann Das ausloesende Ereigniss eines verzoegerten Befehls angegeben werden, dann werden nur Verzoegerungen geloescht,
die aus Diesem Ereigniss Resultieren.
Der Indikator kann mit get device active_timer show eingesehen werden, wenn verzoegerte Befehle anstehen.



set DEVICE on|off [parameter]
Setzt das Device in den Status 'on'. Alle Befehle der 'on/off-Zweige' werden ausgefuehrt.
Optional kann den Befehlen 'on' und 'off' ein weiterer Parameter mit uebergeben werden.
Dieser wird im Reading 'Parameter' hinterlegt und es kann sofort in 'Freecmds' oder 'Conditions' darauf zugegriffen werden.

set DEVICE off [parameter]
Setzt das Device in den Status 'off'. Alle Befehle der 'on/off-Zweige' werden ausgefuehrt.
Optional kann den Befehlen 'on' und 'off' ein weiterer Parameter mit uebergeben werden.
Dieser wird im Reading 'Parameter' hinterlegt und es kann sofort in 'Freecmds' oder 'Conditions' darauf zugegriffen werden.


set DEVICE active
Setzt das MSwitch-Device in den Status 'active'.

set DEVICE inactive
Setzt das Device in den Status 'inactive'. Es werden keine Befehle mehr ausgefuehrt.
Dieser Status entspricht dem Attribut 'disable', ist aber nicht mit dem roten Fragezeichen (fhem save) verbunden.

set DEVICE change_renamed oldname newname
Format: set DEVICE change_renamed oldname newname


Sollten sich Devicenamen im ausfuehrenden Teil geaendert habe (affected Devices, Conditions, etc.),
kann das MSwitch mit diesem Befehl angepasst werden, ohne alle Einstellungen manuell anpassen zu muessen.
Dabei werden alle Devicenamen angepasst , auch in etwaigen Bedingungen etc.


set DEVICE exec_cmd_1 ID [ID]
Bewirkt das sofortige Ausfuehren des entsprechenden Befehlszweiges 1.
Bei Angabe einer ID werden nur die Befehle mit der entsprechenden ID ausgefuehrt.

set DEVICE exec_cmd_2 ID [ID]
Bewirkt das sofortige Ausfuehren des entsprechenden Befehlszweiges 2.
Bei Angabe einer ID werden nur die Befehle mit der entsprechenden ID ausgefuehrt.

set DEVICE backup_MSwitch
Erstellt eine Backup-Datei wahlweise dieses oder aller Mswitches.
Diese Daten koennen im Bedarfsfall fuer einzelne oder gleichzeitig alle MSwitch Devices wieder zurueckgespieltb werden.
Die Dateien liegen im Verzeichniss /opt/fhem/backup/MSwitch.

set DEVICE reset_cmd_count: 1|2
Loescht das entsprechende EVT_CMD_COUNT - Reading; entspricht damit einer Rueckstellung auf '0'.

set DEVICE fakeevent [device]:reading:arg
Beispiel:fakeevent testdevice.state:on

Das MSwitch Device reagiert so, als waere statt des internen "fakes-Befehls" ohne dieses Event tatsaechlich vom triggernden Geraet generiert worden.


set DEVICE reset_status_counter

setzt die Readings off_time,on_time und last_ON_OFF_switch zurueck


set DEVICE writelog
Format: set DEVICE writelog LOGLEVEL TEXT

Schreibt einen Eintarg in die aktuelle Logdatei.

set DEVICE del_repeats
Loescht ale Befehlswiederholungen , die aus Befehlszweigen resultieren und dort definiert wurden.

set DEVICE wait ss
Veranlasst das Mswitch fuer den angegebenen Zeitraum in Sekunden (ss) auf keine Events zu regieren

set DEVICE reset_Switching_once
loescht eine durch das Attribut "MSwitch_Switching_once = 1" gesetzte Sperre fuer Befehlsketten.

MSwitch_Func_AVG
Aktivierung der intergrierten Durchschnittsberechnung.
In dieser Funktion koennen Readings angelegt werden , die den Durchschnittswert eingehender Readings beinhalten.
Hierfuer muessen die betreffenden Readings bereits als Trigger in einem der Kommandozweige definiert sein.

Wenn ein Kommandozweig z.B auf das Reading DEVICE:pct:.* reagiert kann fuer deas Reading pct diese Funktion aktiviert werden.

Die Syntax muss wie folgt lauten:
pct

Der_Tom

#24
Info:

ich habe eben eine neue Testversion in den Betazweig meines GITs gestellt.

Diese enthält einige Erweiterungen , einige zusätzliche Attribute , sowie einige neue Ausdrücke , die in Bedingungen verwendet werden können , insbesonder in Bezug auf historische Readings.
Die Hilfedatei wird auf den aktuellen Stand gebracht.

Die Configfiles können ab dieser Version nicht mehr manuell bearbeitet werden da diese komplett Hexadezimal gespeichert werden.

ACHTUNG: Ein zurück auf eine Version < 6 ist nach diesem Update nur durch ein Restore eines Backups möglich , dieses sollte insofern vor dem Update gemacht UND gesichert werden. ( Im Grunde reichen die fhem.save und die fhem .cfg )

Nach einem Update MUSS Fhem neu gestartet werden und es werden einige Zeilen im LOG bezüglich der Umstellung auftauchen , ist normal und sollte kein Problem darstellen.

Gruss Thomas

edit: ab dieser Version ist das neue Newsticker-Template nutzbar ( Bild Anhang )

det.

Testversion gestern eingespielt - alle meine MSwitch bis heute mindestens einmal durchlaufen - geht alles wie gewünscht und keine Einträge im LOG.

LG
det.

Der_Tom

Ich werde im Laufe des Tages die Testversion nochmals aktualisieren.

Diese beinhaltet einige interne Änderungen, sowie das neue Attribut: "MSwitch_Comment_to_Room".
Diese Attribut bewirkt , das der Inhalt des Attributes "Comment" mit  in der Raumansicht angezeigt wird.

Dieses ist ebenfalls über das neue Configdevice erreichbar.
Dort kann des Feld "MSwitch Kommentare zur Raumansicht" auf "on" gestezt werden.

Das bewirkt , das alle "comments" aller MSwitchdevices in der Raumansicht angezeigt werden, ohne die Attribute zu ändern.

Weiterhin wurden die Einstellbaren Attribute im Device aktualisiert

Das neue Configdevice ist über den Wizard installierbar ( Mswitch_Config_V6 ).

Achtung: Das System sollte nur ein Configdevice enthalten !!!


Ist für mich ganz Hilfreich beim "Aufräumen etc. "

gruss Thomas

Der_Tom

#27
Info:

Ich habe die Version V6 eben in den normalen Updatezweig gestellt.

Änderungen:

- Configfiles werden nun Hexadezimal übertragen - ein bearbeiten eines Configfiles im Device ist nun nicht mehr möglich

- geändertes Frontend: Geräte können nun in den Auswahlfeldern gezielt gesucht werden

- neues Attribut "MSwitch_Eventhistory_to_Reading" . eingehende Readings , die einen Kommandozweig ausgelöst haben werden  chronologisch gespeichert und als Reading angelegt. der Readingname setzt sich aus dem auslösenden Gerät, dem Readingnamen und dem Zusatz hx zusammen, wobei das x die Nummer des eingehenden Readings annimmt . ( 0 steht für das zuletzt eingegangene Reading (HM_384983_pct_h0) )

- neues Attribut "MSwitch_Eventhistory_timestamp_to_Reading" . analog zu "MSwitch_Eventhistory_to_Reading" , enthält aber Zeitpunkt des Readingeingangs . der Readingname setzt sich aus dem auslösenden Gerät, dem Readingnamen und dem Zusatz hx_time zusammen, wobei das x die Nummer des eingehenden Readings annimmt . ( 0 steht für das zuletzt eingegangene Reading )

In den Bedingungen gibt es für diese Readings eine Besonderheit für den Zugriff auf diese Readings:
mit dem Ausdruck "[$SELF:wind_gust_h0::5_time] >0 " müssen alle angesprochenen Readings ( wind_gust_h0 - wind_gust_h5 ) die Bedingung erfüllen, um die Bedingung wahr zu machen.

Dieses sieht in der Bedingungsauswertung dann wie folgt aus :

eingehender String:
[$SELF:wind_gust_h0::1_time] > $timestamp-[$SELF:messzeit] and [Lamellen:pct] != 0

If Anweisung Perl:
if (( 1609638115 > 1609657915-180 && 1609636419 > 1609657915-180 ) && 100 != 0)

If Anweisung Perl Klarzeiten:
if (( 02:41:55 > 08:11:55-180 && 02:13:39 > 08:11:55-180 ) && 100 != 0)

Bedingung ist nicht Wahr und wird nicht ausgeführt


Status der geprüften Readings:
- [Windwaechter:wind_gust_h1_time] -> ReadingsVal('Windwaechter', 'wind_gust_h1_time', 'undef') -> 1609636419
- [Windwaechter:wind_gust_h0_time] -> ReadingsVal('Windwaechter', 'wind_gust_h0_time', 'undef') -> 1609638115
- [Lamellen:pct] -> ReadingsVal('Lamellen', 'pct', 'undef') -> 100
- [Windwaechter:messzeit] -> ReadingsVal('Windwaechter', 'messzeit', 'undef') -> 180


- neues Attribut "MSwitch_Comment_to_Room" . Dieses bewirkt, das alle Infos aus dem Attribut "comment" bei Bedarf  auch in der Raumansicht angezeigt werden .

- neuer set Befehl "set device del_history_data" . Löscht alle historischen daten und readings , die aus "MSwitch_Eventhistory_timestamp_to_Reading" und "MSwitch_Eventhistory_to_Reading" stammen

- neue Funktion in den Sysexensions: neben dem Ausdruck [Widget:reading] stehen hier nun die Ausdrücke :
[Reading:reading] , [RAW:text] , [ATTR:name] 
zur Verfügung

- diverse Anpassungen des Wizards: Da es hier um die Erstellung von Templates geht werde ich hier nicht näher darauf eingehen , hole ich bei Bedarf aber gerne nach.

- diverse Anpassungen im Sysextension2 Modus: Diese ermöglichen die Anzeige von Readings/widgets  in der Raumansichtund deren Aktualisierung

folgende Attribute sind  noch vorhanden , aber ohne Funktion. Aus diversen Gründen werde ich diese erst in einer kommenden Version komplett löschen:

MSwitch_Lock_Quickedit
MSwitch_Futurelevel
MSwitch_DeleteCMDs
MSwitch_Inforoom

- diverse interne Änderungen und Anpassungen.

Achtung: Bei dem Update auf Version 6 werde vohandene Datensätze umformatiert . Daher ist es nicht mehr möglich , wieder auf V5 zurück zu gehen und ich empfehle ich DRINGEND ein Fhembackup vor dem Update !

gruss Thomas


Der_Tom

Nachtrag:

Falls des Configdevice genutz wird , sollte dieses ebenfalls auf die neue Version umgestellt werden.
Dieses ist im Wizardberein unter den vorkonfigurierten Devices verfügbar ( MSwitch_Config_V6 ) .

gruss Thomas

is2late

Hallo,

Folgende Frage:
Bei meiner Einrichtung - Lampe B geht an, wenn Lampe A ausgeschaltet wird - funktioniert der Schaltvorgang perfekt, wenn ich A über FHEM ausschalte. Kommt das Ausschaltkommando aber über Alexa, wird A zwar sofort ausgeschaltet. In FHEM bleibt die Lampe jedoch noch ca fünf Minuten auf ON und B OFF. Erst dann svhaltet A in FHEM aus und B geht physisch an.
Ich möchte nun erreichen, dass B sofort nach Ausschalten von A aktiviert wird.
Hat jemand eine Idee?

LG
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox