[PATCH] SetExtensions (on-for-timer etc.) für MQTT_Device

Begonnen von ThoTo, 05 Januar 2018, 18:38:26

Vorheriges Thema - Nächstes Thema

hexenmeister

#45
Tatsache, geht nicht mehr. Ich bin mir jedoch sicher, dass es letztendlich funktioniert hat. Ich meine mich zu erinnern, es gab zwischendurch wieder eine Änderung, die die SetExtensions betrifft.
Leider habe ich derzeit aufgrund von vielen beruflichen, privaten und auch weiteren FHEM-bezogenen Baustellen keine Zeit für eine weitere tiefergehende Fehleranalyse. Ich hoffe, es meldet sich zeitnah jemand, der sich gut mit SetExtensions auskennt.


Nehme alles zurück und behaupte das Gegenteil. Es geht bei mir weiterhin, man muss schon richtig nachstellen. Bei Dir sehe ich zumendest den Fehler, dass im EventMap on und off klein und in publish und webCmd groß geschrieben sind. Ich habe kein Tasmota-Device, was wird denn erwartet? Bei mir sendet die Konstellation mit dem gegebenen eventMap brav true und false.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Master_Nick

Mhhhh ich teste mal - habe auch einen.
Allerdings nutze ich nicht Tasmota sondern baue mir Homie dafür.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

Omega

Ja, das groß bzw. kleingeschriebene on/off ist mir auch aufgefallen. Ich hatte Testhalber mal alles klein geschrieben, dann hat der Schalter aber nicht reagiert.
Bisher habe ich auch noch keine Doku dazu gefunden, was Tasmota wirklich zum Schalten benötigt. In den meisten Beispielen, die ich gesehen habe, wurde ON/OFF verwendet. Ich habe mittlerweile aber auch Beispiele, bei denen on/off verwendet wird.
Gerade getestet: wenn ich Kommandos über die Weboberfläche sende (http://192.168.0.55/cm?cmnd=Power%20off) ist die Schreibweise egal. Groß- und Kleinschreibung kann ich sogar mischen.

Wenn ich die Commandref richtig interpretiere, benötige ich die eventMap nur, wenn ich true bzw. false umsetzen möchte.
Zusatzfrage: wofür stehen in der eventMap die dev=>, usr=> und fw=> ?
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

Master_Nick

Bei mir funktioniert es ohne Probleme (ebenfalls true/false).
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

Omega

Jetzt funktioniert es bei mir auch. Den Parameter eventMap musste ich löschen - true und false verwende ich ja nicht. Groß- und Kleinschreibung ist egal.
Danke
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

hexenmeister

Groß/Kleinschreibeung war eben wegen eventMap wichtig => weil es dort klein geschrieben war.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Omega

Nachdem es funktioniert hat, habe ich ein Update gemacht. Seit dem habe ich keine setExtensions mehr. attr useSetExtensions ist immer noch definiert, die ganzen Zusätze sind verschwunden.
Im Update war auch SetExtensions.pm.
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Omega

#53
Merkwürdig:
Zuerst habe ich SetExtensions.pm gegen die alte Version ausgetauscht und ein shutdown restart ausgelöst ---> keine Extensions vorhanden
Dann ein restore update/2018-04-11   ---> keine Extensions vorhanden
Dann ein tar der zuvor durchgeführten Komplettsicherung   ---> keine Extensions vorhanden

Danach habe ich bei den attr Änderungen durchgeführt:
   - useSetExtensions gelöscht und wieder angelegt    ---> keine Extensions vorhanden
   - publishSet (Schreibweise on/off geändert)   ---> endlich waren die Extensions wieder vorhanden.

Anscheinend wird bzgl. der Extensions etwas im Device gespeichert, was unabhängig ist von der Software. Muss evtl. nach einer Änderung erst ein reset des Device durchgeführt werden?

Nachtrag:
Ich habe noch einmal ein Update durchgeführt. Die setExtensions waren weg. Danach habe ich im attr publishSet eine Änderung durchgeführt. Danach waren die setExtensions wieder vorhanden.
Die Änderungen im publishSet habe ich dann wieder zurückgenommen. Das hatte aber keine weiteren Auswirkungen.

NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

hexenmeister

Sehr merkwürdig... Hast Du nach dem Update sicher FHEM neugestartet? Verschwinden womöglich die Extensions auch nach einem Neustart ohne Update?
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Omega

Nach jedem Update mache ich immer erst ein "shutdown restart". Erst wenn der durch ist - wirklich keine weiteren Meldungen im Log auftauchen - schalte ich oder mache ich Änderungen.
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

hexenmeister

Leider keine Idee. :( Bei mir funktioniert alles normal.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

kinghill

Hi,

Erst mal Big Thx für die Erweiterung! Läuft soweit super
hat jemand zwischenzeitlich die eventmap in de Griff bekommen?

Hätte gerne die Icons On Off und On mit der Zeitschaltuhr in der Fhem Oberfläche sichtbar. Jetzt steht grad nur ON OFF da


hexenmeister

Zitat von: kinghill am 22 April 2018, 10:53:01
hat jemand zwischenzeitlich die eventmap in de Griff bekommen?

Hätte gerne die Icons On Off und On mit der Zeitschaltuhr in der Fhem Oberfläche sichtbar. Jetzt steht grad nur ON OFF da

Die Vorgehensweise, wie hier (https://forum.fhem.de/index.php/topic,82240.msg768624.html#msg768624) beschrieben hilft nicht weiter?
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

kinghill

Leider Nein.
Bei einfügen dieser Zeile schält es garnicht mehr.
Wenn ich eventMap raus nehme funktioniert alles wie gewollt.

Hier meine Config:

define Bad_Boiler MQTT_DEVICE
attr Bad_Boiler IODev myBroker
attr Bad_Boiler alias Bad_Boiler
attr Bad_Boiler useSetExtensions 1
attr Bad_Boiler event-on-change-reading state
attr Bad_Boiler eventMap { dev=>{ 'true'=>'on', 'false'=>'off' }, usr=>{ '^on$'=>'true', '^off$'=>'false' }, fw=>{ '^on$'=>'on', '^off$'=>'off' } }
attr Bad_Boiler publishSet on off toggle SmartHome/Bad/Schalter/cmnd/power2
attr Bad_Boiler room Bad
attr Bad_Boiler stateFormat state
attr Bad_Boiler subscribeReading_state SmartHome/Bad/Schalter/stat/POWER2
attr Bad_Boiler webCmd on:off:toggle

Dummy Schalter für Schalten bei Anwesenheit:

define Boiler_Einschalten dummy
attr Boiler_Einschalten webCmd on:off

define Bad_Boiler_on notify Boiler_Einschalten.on {\
   fhem("set Bad_Boiler on-for-timer 30")};;{\
   define Bad_Boiler_off notify Boiler_Einschalten.off {\
   fhem("set Bad_Boiler off")};;{\