Dummy mit Schalter synchronisieren

Begonnen von mfkfx, 02 Oktober 2019, 13:39:32

Vorheriges Thema - Nächstes Thema

mfkfx

Hallo, leider habe ich bei der Einbindung eines Tasmota-Schalters in Homebridge das Problem, dass die unterschiedlichen Stati (es gibt sowohl "on", "off" als auch "ON", "OFF") nicht richtig in Homekit angezeigt werden.
Deshalb habe ich für das MQTT-Tasmota-Device einen Dummy-Schalter angelegt. Dieser schaltet dann über ein notify das eigentliche Device.
Das funktioniert soweit problemlos, allerdings möchte ich auch den umgekehrten Weg: wenn das Tasmota-Device über einen anderen Trigger geschaltet wird, soll sich auch der Dummyschalter entsprechend verhalten. Die im Nachhinein dumme Idee, dies ebenfalls mittels notify zu machen, hatte ich schon, was natürlich eine notify-Kaskade zur Folge hatte, da sich die Schalter ständig gegenseitig triggern.

Welche Lösung wäre hier am ehesten empfehlenswert?

Vielen Dank.

mfg

Beta-User

"Eigentlich" sollte sowas direkt im Ausgangsdevice (was auch immer das "MQTT-Tasmota-Device" für ein TYPE ist...) möglich sein. Da du aber kein(e) list(s) lieferst, ist das ziemliches Stochern im Nebel.

Stichwort für einen ersten Versuch wäre "eventMap".

(Und dummy/notify-Kaskaden sind mAn. in der Regel schlicht unnötig und für alle Beteiligten verwirrend).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

mfkfx

Danke für deine Antwort.

Es handelt sich um einen Sonoff POW (alte Version) mit Sonoff-Tasmota 6.4.1.

Symptomatik ist (in der Home-App auf dem iPhone:
- on schaltet das Gerät an
- off schaltet es aus, es wird aber weiterhin als "an" angezeigt, erst ein weiteres off schaltet auch das Symbol in Home richtig
- bei direktem Ausschalten in Fhem oder mit einem anderen Trigger wird es ebenfalls weiter als "on" angezeigt
- optisch (also "direkt" im Sinne der menschlichen Wahrnehmung) wird das POWER-Reading (bei jedem Trigger) richtig auf "on" oder "off" gesetzt

Attributes
IODev
MQTT2_Server
autocreate
0
devStateIcon
ON:FS20.on
eventMap
{ dev=>{'^(.*)POWER(.?): OFF$'=>'$1POWER$2: off', '^(.*)POWER(.?): ON$'=>'$1POWER$2: on'} }
genericDeviceType
outlet
homebridgeMapping
On=POWER,values=off:0;on:1,cmds=0:off;1:on,nocache=0
model
A_01a_tasmota_basic_state_power1
readingList
tele/sonoff/LWT:.* LWT
  tele/sonoff/STATE:.* { json2nameValue($EVENT) }
  tele/sonoff/SENSOR:.* { json2nameValue($EVENT) }
  tele/sonoff/INFO.:.* { json2nameValue($EVENT) }
  stat/sonoff/RESULT:.* { json2nameValue($EVENT) }
room
Homekit,Wohnzimmer
setList
off:noArg    cmnd/sonoff/POWER1 0
on:noArg     cmnd/sonoff/POWER1 1
toggle:noArg cmnd/sonoff/POWER1 2
setStateList
on off toggle
stateFormat
{ReadingsVal($name,"POWER","")}

Readings
...
POWER
off
...

Ich kann auch gerne die kompletten Readings einstellen. Ich habe die Problematik bisher eben durch den Dummy-Switch umgangen, was (bis auf die Rückwärts-Synchronisation) sehr gut geklappt hat. Aber natürlich wäre es mir direkt wesentlich lieber.

Danke!

Beta-User

Schau mal, ob du nicht ein passendes attrTemplate für den POW findest.

Generell: man kann die firmware so einstellen, dass Kleinschreibung (für ON/OFF) gesendet wird (das machen auch die Tasmota-attrTemplates). Das dürfte der direkteste Weg sein... Mußt nur aufpassen, dass deine Eventhandler das dann auch wissen ;) .


(Und bitte zukünftig Code-Tags verwenden...)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Zrrronggg!

ZitatDie im Nachhinein dumme Idee, dies ebenfalls mittels notify zu machen, hatte ich schon, was natürlich eine notify-Kaskade zur Folge hatte, da sich die Schalter ständig gegenseitig triggern.

Nö.  setstate anstatt set müsste es tun.

setstate ändert des Status eines Dummies, löst aber den Schaltbefehl nicht aus.

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL