FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: moontear am 27 April 2021, 12:02:31

Titel: gelöst: ON/OFF in on/off transformieren?
Beitrag von: moontear am 27 April 2021, 12:02:31
Ich probiere ein HMCCUDEV device über MQTT zu steuern.

Leider kommt über MQTT ON/OFF (groß geschrieben) und das funktioniert nicht.

Folgendes funktioniert:
set HM_LC_Sw1PBU_FM_Licht on
set HM_LC_Sw1PBU_FM_Licht control on


Folgendes funktioniert nicht:
set HM_LC_Sw1PBU_FM_Licht ON
set HM_LC_Sw1PBU_FM_Licht control ON


Ich habe bereits mit substitute probiert:
substitute CONTROL!(true|1|ON):on,(false|0|OFF):off;;ON!ON:on;;OFF!OFF:off

Leider bringt das nichts. Ist substitute nicht das richtige? Kann ich attribute irgendwie anders transformieren von groß auf klein?

PS:
mqttPublish  state:topic=home/light/licht/state
mqttSubscribe  state:stopic=home/light/licht/set


(Wenn die die MQTT Messages manuell setze mit on/off (kleingeschrieben) funktioniert auch alles)
Titel: Antw:ON/OFF in on/off transformieren?
Beitrag von: LuckyDay am 27 April 2021, 12:08:59
ZitatLeider kommt über MQTT ON/OFF (groß geschrieben)

den Teil solltest hier mal erklären. in fhem schreibt man "eigentlich" alles klein.
Titel: Antw:ON/OFF in on/off transformieren?
Beitrag von: Otto123 am 27 April 2021, 12:10:46
Hi,

attr eventMap wäre ein Standard FHEM Feature

Aber ich würde auch besser die Quelle ändern als überall das Ziel umzubiegen.

Gruß Otto
Titel: Antw:ON/OFF in on/off transformieren?
Beitrag von: moontear am 27 April 2021, 12:59:50
Zitat von: Otto123 am 27 April 2021, 12:10:46
attr eventMap wäre ein Standard FHEM Feature

Aber ich würde auch besser die Quelle ändern als überall das Ziel umzubiegen.

eventMap, das wars!

eventMap  { usr=>{ 'ON' => 'on', 'OFF' => 'off'} }

Ich bin voll mit dir dass ich lieber sauber "on" schicken würde, anstatt "ON". Noch weiß ich leider nicht wie ich das mit Homeassistant bewerkstelligen kann - deswegen erstmal Workaround.
Titel: Antw:gelöst: ON/OFF in on/off transformieren?
Beitrag von: Otto123 am 27 April 2021, 13:16:02
ich hatte nur an die einfache Variante gedacht:
eventMap on:ON off:OFF
Aber mit Deiner ist es weniger Eingriff. Ich bin mittlerweile sehr zögerlich mit eventMap, das führt manchmal zu undurchsichtigem Verhalten.

Du musst doch irgendeine MQTT Brücke haben? Dort einfach sowas wie lc($EVENT) in Richtung FHEM?
Titel: Antw:gelöst: ON/OFF in on/off transformieren?
Beitrag von: moontear am 27 April 2021, 13:18:26
Ich verwende die `MQTT_GENERIC_BRIDGE` da kann ich auch transformieren? Extern verwende ich eclipse-mosquitto im Container wüsste da aber noch 0% wo ich da transformationen einbauen kann. Das sind wirklich die ersten Gehversuche mit MQTT.
Titel: Antw:gelöst: ON/OFF in on/off transformieren?
Beitrag von: Beta-User am 27 April 2021, 13:24:34
"expression" (in mqttSubscribe) müsste dein Stichwort sein.
Ungetestet:
state:expression={$value="lc $value"}
Titel: Antw:gelöst: ON/OFF in on/off transformieren?
Beitrag von: moontear am 27 April 2021, 13:56:22
<3 Super! Richtig gute Info, danke!

Ich hab mittlerweile auch herausgefunden dass ich in Homeassistant die MQTT Werte transformieren kann: https://www.home-assistant.io/integrations/switch.mqtt/

In der config:
  "state_on": "on",
  "state_off": "off",
  "payload_on": "on",
  "payload_off": "off"


Bisschen viel Text, aber besser als in FHEM irgendwelche Transformationen zu machen wenn es schon sauber ankommen kann.