SwitchBot Hub / MQTT2BLE / Klimaanlage per FHEM steuern.

Begonnen von Frank_Huber, 19 Juli 2024, 15:22:16

Vorheriges Thema - Nächstes Thema

Frank_Huber

Hallo zusammen,

im Einsatz ist ein SwitchBot Hub Mini und eine "Klimafirstklaas" Klimaanlage.
Diese lässt sich über die SwitchBot App auch steuern.

Ziel wäre jetzt das ganze über ein MQTT2BLE Gateway über FHEM steuerbar zu machen.
Das Gateway meldet sich in FHEM am MQTT an, aber von den IR Befehlen an die Klima keine Spur.
selbst wenn man die echte Fernbedienung drückt oder in der App bedient passiert im MQTT nichts.

Frage: Ist das Ziel überhaupt in dieser Konstellation realisierbar? falls ja, was fehlt mir um es zum rennen zu bekommen?

Hier ein List des MSQQ Gerätes vom BLE gateway:
define MQTT2_esp32 MQTT2_DEVICE esp32
attr MQTT2_esp32 readingList esp32:switchbot/esp32/lastwill:.* lastwill\
esp32:switchbot/esp32/esp32/rssi:.* rssi\
esp32:switchbot/esp32:.* { json2nameValue($EVENT, 'esp32_', $JSONMAP) }\
esp32:switchbot/esp32/esp32/firmware:.* firmware\
esp32:homeassistant/sensor/esp32/linkquality/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }\
esp32:homeassistant/sensor/esp32/firmware/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }\
esp32:homeassistant/sensor/switchbotone/battery/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }\
esp32:homeassistant/sensor/switchbotone/linkquality/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }\
esp32:homeassistant/binary_sensor/switchbotone/inverted/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }\
esp32:homeassistant/sensor/switchbotone/mode/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }\
esp32:homeassistant/sensor/switchbotone/firmware/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }\
esp32:homeassistant/sensor/switchbotone/holdsecs/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }\
esp32:homeassistant/sensor/switchbotone/timers/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }\
esp32:homeassistant/switch/switchbotone/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }\
esp32:switchbot/esp32/bot/switchbotone/status:.* { json2nameValue($EVENT, 'status_', $JSONMAP) }
attr MQTT2_esp32 room MQTT2_DEVICE
#   CFGFN     
#   CID        esp32
#   DEF        esp32
#   FUUID      6689c4bc-f33f-a21a-c85c-609c82681457e92e
#   IODev      MQTT2_SERVER
#   LASTInputDev MQTT2_SERVER
#   MQTT2_SERVER_CONN MQTT2_SERVER_192.168.178.177_58415
#   MQTT2_SERVER_MSGCNT 72970
#   MQTT2_SERVER_TIME 2024-07-19 15:21:30
#   MSGCNT     72970
#   NAME       MQTT2_esp32
#   NR         1799208
#   STATE      ???
#   TYPE       MQTT2_DEVICE
#   eventCount 72985
#   .DT:
#     DEVICETOPIC MQTT2_esp32
#   .attraggr:
#   .attrminint:
#   READINGS:
#     2024-07-07 00:27:08   IODev           MQTT2_SERVER
#     2024-07-19 03:38:00   config__        switchbot/esp32/bot/switchbotone
#     2024-07-19 03:38:00   config_avty_t   switchbot/esp32/lastwill
#     2024-07-19 03:38:00   config_cmd_t    ~/set
#     2024-07-19 03:37:59   config_dev_cla  battery
#     2024-07-19 03:38:00   config_device_identifiers_1 switchbot_EE:3F:C2:3A:09:BD
#     2024-07-19 03:38:00   config_device_manufacturer WonderLabs SwitchBot
#     2024-07-19 03:38:00   config_device_model Bot
#     2024-07-19 03:38:00   config_device_name switchbotone
#     2024-07-19 03:37:59   config_icon     mdi:cog
#     2024-07-19 03:38:00   config_name     switchbotone Switch
#     2024-07-19 03:38:00   config_opt      false
#     2024-07-19 03:37:59   config_pl_off   false
#     2024-07-19 03:37:59   config_pl_on    true
#     2024-07-19 03:38:00   config_stat_t   ~/state
#     2024-07-19 03:38:00   config_uniq_id  switchbot_EE:3F:C2:3A:09:BD
#     2024-07-19 03:37:59   config_unit_of_meas rssi
#     2024-07-19 03:37:59   config_value_template {{ value_json.timers }}
#     2024-07-07 00:38:00   esp32_status    activescanning
#     2024-07-07 00:32:50   firmware        v7.1
#     2024-07-19 15:21:30   lastwill        online
#     2024-07-19 15:21:30   rssi            -74
#     2024-07-07 00:38:01   status_id       switchbotone
#     2024-07-07 00:38:01   status_status   errorLocatingDevice
#     2024-07-07 00:27:08   subscriptions   switchbot/esp32/bot/switchbotone/assumedstate switchbot/esp32/bot/switchbotone/set switchbot/esp32/bot/switchbotone/settings switchbot/esp32/holdPress switchbot/esp32/requestInfo switchbot/esp32/requestSettings switchbot/esp32/rescan switchbot/esp32/setHold switchbot/esp32/setMode
#
setstate MQTT2_esp32 2024-07-07 00:27:08 IODev MQTT2_SERVER
setstate MQTT2_esp32 2024-07-19 03:38:00 config__ switchbot/esp32/bot/switchbotone
setstate MQTT2_esp32 2024-07-19 03:38:00 config_avty_t switchbot/esp32/lastwill
setstate MQTT2_esp32 2024-07-19 03:38:00 config_cmd_t ~/set
setstate MQTT2_esp32 2024-07-19 03:37:59 config_dev_cla battery
setstate MQTT2_esp32 2024-07-19 03:38:00 config_device_identifiers_1 switchbot_EE:3F:C2:3A:09:BD
setstate MQTT2_esp32 2024-07-19 03:38:00 config_device_manufacturer WonderLabs SwitchBot
setstate MQTT2_esp32 2024-07-19 03:38:00 config_device_model Bot
setstate MQTT2_esp32 2024-07-19 03:38:00 config_device_name switchbotone
setstate MQTT2_esp32 2024-07-19 03:37:59 config_icon mdi:cog
setstate MQTT2_esp32 2024-07-19 03:38:00 config_name switchbotone Switch
setstate MQTT2_esp32 2024-07-19 03:38:00 config_opt false
setstate MQTT2_esp32 2024-07-19 03:37:59 config_pl_off false
setstate MQTT2_esp32 2024-07-19 03:37:59 config_pl_on true
setstate MQTT2_esp32 2024-07-19 03:38:00 config_stat_t ~/state
setstate MQTT2_esp32 2024-07-19 03:38:00 config_uniq_id switchbot_EE:3F:C2:3A:09:BD
setstate MQTT2_esp32 2024-07-19 03:37:59 config_unit_of_meas rssi
setstate MQTT2_esp32 2024-07-19 03:37:59 config_value_template {{ value_json.timers }}
setstate MQTT2_esp32 2024-07-07 00:38:00 esp32_status activescanning
setstate MQTT2_esp32 2024-07-07 00:32:50 firmware v7.1
setstate MQTT2_esp32 2024-07-19 15:21:30 lastwill online
setstate MQTT2_esp32 2024-07-19 15:21:30 rssi -74
setstate MQTT2_esp32 2024-07-07 00:38:01 status_id switchbotone
setstate MQTT2_esp32 2024-07-07 00:38:01 status_status errorLocatingDevice
setstate MQTT2_esp32 2024-07-07 00:27:08 subscriptions switchbot/esp32/bot/switchbotone/assumedstate switchbot/esp32/bot/switchbotone/set switchbot/esp32/bot/switchbotone/settings switchbot/esp32/holdPress switchbot/esp32/requestInfo switchbot/esp32/requestSettings switchbot/esp32/rescan switchbot/esp32/setHold switchbot/esp32/setMode

TomLee

Hallöle,

kann man ein.-/ausschalten mit:

attr MQTT2_esp32 setList on:noArg switchbot/esp32/bot/switchbotone/set ON\
off:noArg switchbot/esp32/bot/switchbotone/set OFF

Thomas

Xonder

#2
Hallo zusammen,

Frank war so nett, hier die Eröffnung für mich zu machen. Die Switch Bot Lösung, um die es hier geht ist für mich.
Er steht mir bei meinen fhem Lösungen stets mit Rat und Tat zur Seite. Ich selbst kenne mich nicht wirklich gut aus.
 
Zitat von: TomLee am 20 Juli 2024, 21:43:04Hallöle,

kann man ein.-/ausschalten mit:

attr MQTT2_esp32 setList on:noArg switchbot/esp32/bot/switchbotone/set ON\
off:noArg switchbot/esp32/bot/switchbotone/set OFF

Thomas

Das habe ich eingerichtet. Es gibt jetzt ON/OFF Buttons und eine Kontrollleuchte.
Soll das ON/Off tatsächlich schon die Klima Ein und Ausschalten? Das tut es nicht.

Auch kommen weiterhin keine Informationen an fhem zurück, wenn der Hub Mini per Handy App oder die Klima direkt per original Fernbedienung bedient wird.

Frank und ich vermuten, dass hier was ankommen sollte, was man dann rückwärts für die Bedienung per fhem verwenden könnte.
Verstehen wir das richtig?

In den readings fällt uns noch folgendes auf: "status_status errorLocatingDevice"
Ist das ein ernstzunehmender Fehler? Wird der Hub Mini z.B. erst gar nicht gefunden?

Vielen Dank vorab
Alex

TomLee

Hallo,

nach etwas einlesen dazu, ist meine Vermutung das dieses Szenario Wunschdenken ist. MQTT2BLE gibt das nicht her. OpenMQTTGateway unterstützt den Hub auch nicht. Mit OMG verstehe ich es aber so, das du bezüglich der anderen Switchbot-Devices das gleiche machen kannst wie mit MQTT2BLE und die Firmware würde unterstützen das man eine Ir Sende.- und Empfangsschaltung am ESP anklemmen kann. Evtl. lohnt es sich diesen Weg zu gehen ?

Xonder

Sorry für die Späte Antwort. Mit einem IR Modul direkt an einem ESP hatten wir begonnen.
Das ist daran gescheitert, dass wir nicht die passende "Sprache"/Codierung der Fernbedienung finden konnten.
Der SwitchBot Hub Mini hingegen hat sofort die FB verstanden und mit der Klima sprechen können.
Wir haben inzwischen auch mit dem Google Assist experimentiert, das das kann der Hub auch, doch das will auch nicht wirklich funktionieren.
Als nächstes schauen wir und Alexa an, das kann er auch. Viellicht kommen wir damit weiter.

TomLee

ZitatDas ist daran gescheitert, dass wir nicht die passende "Sprache"/Codierung der Fernbedienung finden konnten.
Könnt ihr mit der Datei hier im Anhang was anfangen, kenn mich mit IR auch nicht so aus, evtl. kann man die Daten irgendwie "konvertieren", hab ich irgendwie dazu in Erinnerung ?

ZitatAls nächstes schauen wir und Alexa an ...
Kann ich mir gut vorstellen, Routine für jeden IR-Befehl anlegen und mit dem setter routine_play (Modul echodevice) in FHEM schalten ...


Was ist denn mit der API, habt ihr es damit schon probiert ? Scheint mir den Eindruck zu machen das man damit aus Fhem schalten kann ?

Xonder

Wir stürzen uns auf die API Variante, danke für den Tipp