[gelöst - war falsch] MQTT Device: publishSet festverdrahtet mit "on" "off"

Begonnen von Master_Nick, 16 Februar 2018, 01:08:08

Vorheriges Thema - Nächstes Thema

Master_Nick

Moin  8)

Ich hatte mich gerade gefreut über die setExtension von ThoTo und stellte dann fest - ui so geht es bei mir nicht.

Ich nutzte eine eventmap um meine schaltbefehle korrekt übetragen zu können. Nun merkte ich das ist keine Lösung. Und befasste mich nochmal mit dem publishSet.

Im Wiki ist es wie folgt dargestellt:
attr Sonoff_Switch publishSet ON OFF cmnd/TestSwitch/POWER

Ich ging durch den Aufbau davon aus ON und OFF sind ersetzbar mit den Schaltbefehlen die man benötigt für seinen Anwendungsfall.
Ich nutze daher:
publishSet true false homeland/haushalt/elektrik/sonoff/sonoff-s20-4/outlet/on/set

Das bringt im Topic dann aber:
Zitathomeland/haushalt/elektrik/sonoff/sonoff-s20-4/outlet/on/set on
homeland/haushalt/elektrik/sonoff/sonoff-s20-4/outlet/on/set off

Und erwirkt daher keinerlei Schaltung, da ich mit Homie und Node-RED mit true und false arbeite.
Daher ging ich erst mal mit einer eventMap dran. Das bringt aber im Zusammenhang mit on-for-timer und toggle nichts.

Bug? Gewollt? Änderbar  ;D ;) ?
Ich denke es müsste ja nur das was in dem attr steht auch als Befehl genommen werden und es fühlt sich dann irgendwie auch richtiger/flexibler an (ohkay ohkay für mich passend *g*).

Grüße  ::)
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.... ;-)

hexenmeister

#1
Da ist nichts im publishSet 'festverdrahtet'. Was man da zusätzlich zum Topic angeben kann, beeinflusst lediglich das Verhalten von FHEM-UI. So kann man die Liste, die für 'set'-Befehl angeboten wird, definieren. FHEM-UI kann jedoch mit true/false anscheinend nichts anfangen, daher funktioniert Klick auf Icon und anderes so nicht. Aber genau dafür gibt es eventMap und webCmd. Das ganze ist bei allen Geräten so und hat mit MQTT nichts zu tun.


Beispiel für eine Konfiguration, wo die Oberfläche ein schaltbaren Icon anbietet und trotzdem true/false übertragen wird.
defmod MQ_TEST MQTT_DEVICE
attr MQ_TEST IODev mqtt
attr MQ_TEST devStateIcon off:light_light_dim_00@gray on:light_light_dim_100@yellow .*:hourglass
attr MQ_TEST eventMap true:on false:off
attr MQ_TEST publishSet true false /TEST/licht/set
attr MQ_TEST stateFormat state
attr MQ_TEST subscribeReading_state /TEST/licht/state
attr MQ_TEST webCmd on:off


EDIT: irrelevante Attribute entfernt
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Master_Nick

 :) Okay :-)

Dann war meine Vermutung falsch - ist ja für mich ein Stück weit eine Blackbox.
Dann muss ich mal schauen wie was wo und dein Beispiel testen.

Danke dir  ;D
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.... ;-)

hexenmeister

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

Master_Nick

 ??? Das "attr MQ_TEST mqttDeviceType switch" bietet er bei mir irgendwie nicht an.

unknown attribute mqttDeviceType. Type 'attr Sonoff_S20_1 ?' for a detailed list.

Ist das durch dein Addon hinzukommend oder bin ich trotz gestrigem update out of date?  ::)
Auch nicht im Commandref.

*Edit genericDeviceType wäre machbar.
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.... ;-)

hexenmeister

ähm... Mein Fehler. Vergiss dieses Attribut, ist ein Teil meiner Testinstallation und hat hier keine Relevanz.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Master_Nick

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.... ;-)

fabse

Zitat von: hexenmeister am 16 Februar 2018, 11:41:50
Da ist nichts im publishSet 'festverdrahtet'. Was man da zusätzlich zum Topic angeben kann, beeinflusst lediglich das Verhalten von FHEM-UI. So kann man die Liste, die für 'set'-Befehl angeboten wird, definieren. FHEM-UI kann jedoch mit true/false anscheinend nichts anfangen, daher funktioniert Klick auf Icon und anderes so nicht. Aber genau dafür gibt es eventMap und webCmd. Das ganze ist bei allen Geräten so und hat mit MQTT nichts zu tun.


Beispiel für eine Konfiguration, wo die Oberfläche ein schaltbaren Icon anbietet und trotzdem true/false übertragen wird.
defmod MQ_TEST MQTT_DEVICE
attr MQ_TEST IODev mqtt
attr MQ_TEST devStateIcon off:light_light_dim_00@gray on:light_light_dim_100@yellow .*:hourglass
attr MQ_TEST eventMap true:on false:off
attr MQ_TEST publishSet true false /TEST/licht/set
attr MQ_TEST stateFormat state
attr MQ_TEST subscribeReading_state /TEST/licht/state
attr MQ_TEST webCmd on:off


EDIT: irrelevante Attribute entfernt

bei mir steht unter

attr MQ_TEST IODev mqtt

attr MQ_TEST IODev Mosquitto

Master_Nick

Der ioDEV ist ja bei jedem anders - wenn der eine seinen MQTT Broker "Wurst" nennt dann stände da Wurst.

Input Output devive = der von dir definierte MQTT Broker
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.... ;-)

hexenmeister

Ist zwar nicht die Lösung, die Du wolltest... Ich habe das Problem mit einem egenem Modul gelöst, das ich für ähnlihce Fälle verwende.

https://raw.githubusercontent.com/hexenmeister/MyFHEM/master/FHEM/98_dev_proxy.pm

MQ_TEST2 ist das Device, das die Werte auch überträgt, MQ_TESTPROXY ist ein Hilfskonstrukt, das zu Schalten genutzt wird, die Werte passend mappt und auch setExtensions unterstützt.

define MQ_TEST2 MQTT_DEVICE
attr MQ_TEST2 IODev mqtt
attr MQ_TEST2 eventMap true:on false:off
attr MQ_TEST2 publishSet true false /TEST2/licht/set
attr MQ_TEST2 room MQTT_TEST
attr MQ_TEST2 stateFormat state
attr MQ_TEST2 subscribeReading_state /TEST2/licht/state
attr MQ_TEST2 webCmd true:false

define MQ_TESTPROXY dev_proxy MQ_TEST2
attr MQ_TESTPROXY devStateIcon off:light_light_dim_00@gray on:light_light_dim_100@yellow .*:hourglass
attr MQ_TESTPROXY mapValues {'out:*:state'=>{'off'=>'false','on'=>'true'},'in:*:state'=>{'false'=>'off','true'=>'on'}}
attr MQ_TESTPROXY room MQTT_TEST
attr MQ_TESTPROXY setList on:noArg off:noArg
attr MQ_TESTPROXY stateFormat state
attr MQ_TESTPROXY useSetExtensions 1
attr MQ_TESTPROXY webCmd on:off:toggle

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

Master_Nick

Uhh ich teste :-)
Danke!

Aber ganz schön aufwändig für jedes MQTT Device so etwas auch noch anzulegen  ::)
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.... ;-)