Hallo Zusammen,
seit ein paar Tagen habe ich eine lustige Anwendung realisiert. Ich wohne im 4. OG mit Aufzug. Ich kann nun per Taste in meiner Wohnung oder per Sprache (Alexa oder Siri) den Aufzug rufen. Also z.B. schon beim Schuhe anziehen. Über den Sinn muss ich mit Euch ja nicht diskutieren ;) , manchmal ist der Weg das Ziel aber tatsächlich nutze ich das jetzt regelmäßig.
Realisiert habe ich das Ganze über einen SwitchBot Bot (https://www.switch-bot.com/products/switchbot-bot (https://www.switch-bot.com/products/switchbot-bot) ca. 22EUR) und den dazugehörigen Mini Hub ca.30EUR. Den Bot habe ich an den Aufzugtaster geklebt (nicht gerade schön, ok) und den HUB in meiner Wohnung. Dann alles mit der APP angelernt und verknüpft, es hat auf Anhieb funktioniert und hat keine 10 min gedauert.
Bei der Suche nach einer FHEM Integration, habe ich nur das hier (https://forum.fhem.de/index.php/topic,88588.msg1015563.html#msg1015563 (https://forum.fhem.de/index.php/topic,88588.msg1015563.html#msg1015563)) gefunden. Dabei geht es um den "Smarten Gardinen Bediener" und ich hoffe das DeeSPe evtl. nach diesem Post weiter macht, würde mich sehr freuen.
Da der SwichtBot HUB mit Alexa, Google, Siri und IFTTT spricht, bin ich den Weg über IFTTT gegangen und löse den Schalter aktuell per WebHook bei IFTTT aus, den ich von FHEM in Richtung IFTTT sende. Das ganze funktioniert problemlos und mit einer minimalen Verzögerung von max 1 sec. Da ich aber kein Fan von IFTTT bin, würde ich das natürlich gerne mit FHEM lösen.
Da Switch-Bot (https://www.switch-bot.com/ (https://www.switch-bot.com/)) aber noch viel mehr coole Produkte hat, die auch echt nicht teuer sind, möchte ich hier nochmal dafür werben, ein FHEM Modul zu bauen. Der SwitchBot mini kann z.B. auch wie der Harmony HUB Geräte über IR schalten. Ich habe mir den Swicht Bot remote direkt bei SwitchBot bestellt ($19) und der kleine Taster ist echt schick und macht einen hochwertigen Eindruck. Einen habe ich meinem Nachbarn geschenkt, der nun auch aus seiner Wohnung heraus den Aufzug holen kann. Die Aktion soll natürlich auch verhindern das er sich u.U. über das weiße Kästchen am Aufzug aufregt. Er fand das aber alles auch sehr geil.
Lt. dem anderen Threat gibt es wohl eine dokumentierte API und ich sehe gerne für Tests zur verfügung. Vielleicht hat der eine oder andere Developer hier wegen des Lockdowns ja Lust was zu bauen. :D
Leider scheinen die Produkte aber gerade bei Amazon ausverkauft zu sein. Im Anhang ein kleines Video vom SwitchBot in Aktion.
Ich scheine kein Interesse geweckt zu haben... Schade.
Ich schließe mich an.
Tatsächlich ist bei mir heute auch ein Set mit zwei Switches und einem Hub eingetrudelt.
Integration in fhem wäre topp, habe etwas Mistrauen bei China Gadgets, die in die Cloud wollen...
Habe leider keine Erfahrung in der Modulentwicklung...
Bis es ein Modul gibt, kannst du den (Um)Weg über einen Webhook an IFTTT gehen. Das klappt eigentlich ganz gut.
Ich schließe mich hier mal an. Mittlerweile ist eine brauchbare API fertig gestellt: https://github.com/OpenWonderLabs/SwitchBotAPI
Ich bin leider nicht in der Lage, mir ein solches Modul zu bauen, habe aber Switchbot Curtains, die ich aktuell nicht in FHEM integriert bekomme. Und nein. Der Umweg über IFTTT kommt für mich nicht in Frage, da IFTTT mit seinen aktuellen Geschäftsgebahren bei mir nicht länger verwendet wird. :-(
Vielleicht passiert hier ja doch noch was. Ich stehe auf jeden Fall zum Unterstützen und Testen bereit.
Viele Grüße!
Zitat von: holsteiner-kiel am 09 Januar 2021, 19:29:56
Der Umweg über IFTTT kommt für mich nicht in Frage, da IFTTT mit seinen aktuellen Geschäftsgebahren bei mir nicht länger verwendet wird.
Kann ich verstehen und ich habe auch nur den SwitchBot Hub verbunden, den ich mittels WebHook von FHEM aus schalten kann. dafür reicht die kostenlose Variante von IFTTT.
Aber der beste Weg wäre natürlich ein FHEM Modul das die API nutzt. :-)
Ich mag die Idee des Switchbot, aber man braucht einen Account um Vorhänge zu öffnen? Warum? Was passiert, wenn der Hersteller in 1-2 Jahren aufgibt (wie so oft mit IoT Geräten)
Zitat von: mfritze am 16 Januar 2021, 11:40:47
Was passiert, wenn der Hersteller in 1-2 Jahren aufgibt (wie so oft mit IoT Geräten)
...dann ist man gekniffen! :(
Ich habe jetzt auch 2 SwitchBot-Curtain mit Hub-Mini und gehe den Umweg über Alexa und dem echodevice-Modul. Mir fehlt allerdings die Rückmeldung, ob die Vorhänge geöffnet oder geschlossen sind. Also möchte ich mich gerne den Vorrednern anschließen und bitte alle Progrmmierer, die Bock drauf haben, hier ein Modul zu entwickeln, welches uns hier helfen kann. Auch ich würde hier zu Testzwecken gerne Feedback liefern.
Gruß und Danke im Vorraus. :)
Ich benutze auch seit 2 Wochen Produkte von SwitchBot.
Habe 2 Bots, den Hub mini und 3 Thermometer. Ein Bot öffnet die Haustür, wenn ich weiß Besuch zu empfangen. Sollte ich wieder mal meinen Schlüssel in der Wohnung vergessen haben, kann ich mir auf diesem Wege die Haustür öffnen lassen. Einen Wohnungsschlüssel habe ich im Haus versteckt.
Der 2. Bot steuert die Heizung. Schaltet sie unter x Grad an und über y Grad wieder aus. Über den Hub steuere ich weiterhin Fernseher, Festplattenrekorder, Blu-ray Player und den Heimkino Verstärker. Vieles über Szenen gesteuert. Brauche nur zu sagen, dass ich meine Atdmagmdm sehen möchte und schon wandert das entsprechende Gerät ins Menü.
Ich finde das eine echt günstige Variante alles. Und es lässt sich ja auch über die nette Dose von Amazon per Sprache steuern.
Atdmagmdm = Aufnahmen ;D
Man kann Beiträge übrigens nachträglich bearbeiten.
https://m.youtube.com/watch?v=TmtCwZbDJIU&feature=youtu.be
mqtt evt.
Ja, mit mqtt lässt sich der switchbot ansteuern. Und das Ganze lokal per Bluetooth, also ohne cloud.
Habe dazu https://github.com/dietah/mqtt-switchbot (https://github.com/dietah/mqtt-switchbot) verwendet. Musste das 'docker-compose up' minimal anpassen (um "network_mode: host"):
version: '3.6'
services:
mqtt-switchbot:
container_name: switchbot
image: deetoreu/mqtt-switchbot
restart: unless-stopped
network_mode: host
environment:
MQTT_HOST: <mosquitto_ip>
volumes:
- ./volumes/switchbot/logs:/usr/src/app/logs
Test mit mosquitto (switchbot_mac wird vom docker-container geloggt):
mosquitto_pub -h <mosquitto_ip> -t switchbot/switch/<switchbot_mac>/set -m "up"
Und in fhem klappt es so mit der Ansteuerung ("xx" mit der mac der switchbots ersetzen):
define MQTT2_mqttjs_815b3a6b MQTT2_DEVICE mqttjs_815b3a6b
attr MQTT2_mqttjs_815b3a6b IODev myBroker
attr MQTT2_mqttjs_815b3a6b readingList mqttjs_815b3a6b:switchbot/switch/fc_5f_xx_xx_xx_xx/battery:.* battery\
mqttjs_815b3a6b:switchbot/switch/fc_5f_xx_xx_xx_xx/linkquality:.* linkquality
attr MQTT2_mqttjs_815b3a6b room mqtt
attr MQTT2_mqttjs_815b3a6b setList state:press,on,off,down,up switchbot/switch/fc:5f:xx:xx:xx:xx/set $EVTPART1
attr MQTT2_mqttjs_815b3a6b stateFormat battery / linkquality
Der verwendete myBroker ist bei mir mosquitto:
defmod myBroker MQTT2_CLIENT 192.168.xxx.xxx:1883
Hallo Zusammen,
Ich bräuchte mal ein wenig Starthilfe beim Thema MQTT. Ich habe, nach dem von satprofi geposteten Video, einen ESP32 geflasht und auf FHEM ein MQTT Broker installiert. Und siehe da, tatsächlich meldet sich der ESP32 und legt ein MQTT2 Device an. Auch mit dem MQTT Explorer sehe ich die Protokolle. Ein List von dem automatisch angelegten Device poste ich hier im Anschluss.
Ich stehe jetzt aber irgendwie auf dem Schlauch wie ich über das Device einen Status bekomme, bzw. wie ich den Switchbot schalten kann? Hab ich einen Denkfehler oder bin ich schon ganz nah :-)
Internals:
CID esp32
DEF esp32
DEVICETOPIC MQTT2_esp32
FUUID 61f1c8ce-f33f-bc6c-2373-1d6013ac85f96122
IODev myBroker
LASTInputDev myBroker
MSGCNT 104
NAME MQTT2_esp32
NR 6956
STATE OFF
TYPE MQTT2_DEVICE
myBroker_CONN myBroker_192.168.23.79_65221
myBroker_MSGCNT 104
myBroker_TIME 2022-01-26 23:40:59
Helper:
DBLOG:
_:
DBLogging:
TIME 1643235608.65663
VALUE switchbot/esp32/bot/switchbotone
avty_t:
DBLogging:
TIME 1643235608.65663
VALUE switchbot/esp32/lastwill
batt:
DBLogging:
TIME 1643236800.83397
VALUE 93
cmd_t:
DBLogging:
TIME 1643235608.65663
VALUE ~/set
command:
DBLogging:
TIME 1643235612.67446
VALUE REQUESTSETTINGS
dev_cla:
DBLogging:
TIME 1643235608.4943
VALUE battery
device_identifiers_1:
DBLogging:
TIME 1643235608.65663
VALUE switchbot_DB:E4:DA:6F:xx:xx
device_manufacturer:
DBLogging:
TIME 1643235608.65663
VALUE WonderLabs SwitchBot
device_model:
DBLogging:
TIME 1643235608.65663
VALUE Bot
device_name:
DBLogging:
TIME 1643235608.65663
VALUE switchbotone
firmware:
DBLogging:
TIME 1643235612.70091
VALUE 4.8
hold:
DBLogging:
TIME 1643235612.70091
VALUE 0
icon:
DBLogging:
TIME 1643235608.63175
VALUE mdi:cog
inverted:
DBLogging:
TIME 1643235612.70091
VALUE false
lastwill:
DBLogging:
TIME 1643236859.16097
VALUE online
mode:
DBLogging:
TIME 1643236800.83397
VALUE Press
name:
DBLogging:
TIME 1643235608.65663
VALUE switchbotone Switch
opt:
DBLogging:
TIME 1643235608.65663
VALUE false
pl_off:
DBLogging:
TIME 1643235608.53734
VALUE false
pl_on:
DBLogging:
TIME 1643235608.53734
VALUE true
rssi:
DBLogging:
TIME 1643236859.16566
VALUE -49
stat_t:
DBLogging:
TIME 1643235608.65663
VALUE ~/state
state:
DBLogging:
TIME 1643236800.86984
VALUE OFF
status:
DBLogging:
TIME 1643236800.87767
VALUE idle
timers:
DBLogging:
TIME 1643235612.70091
VALUE 0
uniq_id:
DBLogging:
TIME 1643235608.65663
VALUE switchbot_DB:E4:DA:6F:xx:xx
unit_of_meas:
DBLogging:
TIME 1643235608.51495
VALUE rssi
value_template:
DBLogging:
TIME 1643235608.63175
VALUE {{ value_json.timers }}
READINGS:
2022-01-26 23:18:54 IODev myBroker
2022-01-26 23:20:08 _ switchbot/esp32/bot/switchbotone
2022-01-26 23:20:08 avty_t switchbot/esp32/lastwill
2022-01-26 23:40:00 batt 93
2022-01-26 23:20:08 cmd_t ~/set
2022-01-26 23:20:12 command REQUESTSETTINGS
2022-01-26 23:20:08 dev_cla battery
2022-01-26 23:20:08 device_identifiers_1 switchbot_DB:E4:DA:6F:xx:xx
2022-01-26 23:20:08 device_manufacturer WonderLabs SwitchBot
2022-01-26 23:20:08 device_model Bot
2022-01-26 23:20:08 device_name switchbotone
2022-01-26 23:20:12 firmware 4.8
2022-01-26 23:20:12 hold 0
2022-01-26 23:20:08 icon mdi:cog
2022-01-26 23:20:12 inverted false
2022-01-26 23:40:59 lastwill online
2022-01-26 23:40:00 mode Press
2022-01-26 23:20:08 name switchbotone Switch
2022-01-26 23:20:08 opt false
2022-01-26 23:20:08 pl_off false
2022-01-26 23:20:08 pl_on true
2022-01-26 23:40:59 rssi -49
2022-01-26 23:20:08 stat_t ~/state
2022-01-26 23:40:00 state OFF
2022-01-26 23:40:00 status idle
2022-01-26 23:20:12 timers 0
2022-01-26 23:20:08 uniq_id switchbot_DB:E4:DA:6F:xx:xx
2022-01-26 23:20:08 unit_of_meas rssi
2022-01-26 23:20:08 value_template {{ value_json.timers }}
Attributes:
readingList esp32:switchbot/esp32:.* { json2nameValue($EVENT) }
esp32:switchbot/esp32/lastwill:.* lastwill
esp32:homeassistant/sensor/esp32/linkquality/config:.* { json2nameValue($EVENT) }
esp32:switchbot/esp32/esp32/rssi:.* rssi
esp32:homeassistant/sensor/switchbotone/battery/config:.* { json2nameValue($EVENT) }
esp32:homeassistant/sensor/switchbotone/linkquality/config:.* { json2nameValue($EVENT) }
esp32:homeassistant/binary_sensor/switchbotone/inverted/config:.* { json2nameValue($EVENT) }
esp32:homeassistant/sensor/switchbotone/mode/config:.* { json2nameValue($EVENT) }
esp32:homeassistant/sensor/switchbotone/firmware/config:.* { json2nameValue($EVENT) }
esp32:homeassistant/sensor/switchbotone/holdsecs/config:.* { json2nameValue($EVENT) }
esp32:homeassistant/sensor/switchbotone/timers/config:.* { json2nameValue($EVENT) }
esp32:homeassistant/switch/switchbotone/config:.* { json2nameValue($EVENT) }
esp32:switchbot/esp32/bot/switchbotone/attributes:.* { json2nameValue($EVENT) }
esp32:switchbot/esp32/bot/switchbotone/state:.* state
esp32:switchbot/esp32/bot/switchbotone/status:.* { json2nameValue($EVENT) }
esp32:switchbot/esp32/bot/switchbotone/settings:.* { json2nameValue($EVENT) }
room MQTT2_DEVICE
Hi,
na einen Status hast Du ja mehrfach: :D
Die Readings state und status und das Internal STATE was erstmal identisch zu state ist.
Um den Bot zu schalten müsstest Du einen "setter" im attribute setList bauen. Dazu müsste man wissen auf welches topic der bot reagiert und was es für Befehle gibt. Gibts dazu eine API Beschreibung?
Nur geraten:
attr MQTT2_esp32 setList state:press,on,off,down,up switchbot/esp32/bot/switchbotone/set $EVTPART1
ZitatIch bräuchte mal ein wenig Starthilfe beim Thema MQTT.
Vielleicht ist eine neue Frage im MQTT Board die bessere Starthilfe
Gruß Otto
Hilft das irgendwie ?
Jein. Screenshots helfen eher weniger, man braucht sinnigerweise eher den unausgepackten Inhalt und Infos zum Projekt (also eher Text wie Video).
Für's Selberbasteln:
https://wiki.fhem.de/wiki/MQTT2_DEVICE_-_Schritt_f%C3%BCr_Schritt
Tipp: Das ganze scheint eine gewisse Nähe zu haben mit OpenMQTTGateway bzw. Tasmota-ESP32-Bluetooth. Für ersteres gibt es schon länger ganz passable attrTemplate (auch, wenn die etwas kompliziert sind).
Vielleicht macht es Sinn, den Thread nach MQTT zu verschieben? (Kann der jeweilige TE selbst).
Meine Idee mit setList hat nichts gebracht / wurde nicht getestet? Nach deinem Bild und der Vorgeschichte sieht das immer noch sinnvoll aus.
Zitat von: Otto123 am 27 Januar 2022, 18:38:13
Meine Idee mit setList hat nichts gebracht / wurde nicht getestet? Nach deinem Bild und der Vorgeschichte sieht das immer noch sinnvoll aus.
Erst mal Danke für eure Hilfe. Otto war schon ganz nah mit seiner Lösung, es müssen nur Großbuchstaben sein :)
attr MQTT2_esp32 setList state:PRESS,ON,OFF switchbot/esp32/bot/switchbotone/set $EVTPART1
Zitat von: Beta-User am 27 Januar 2022, 13:41:46
Tipp: Das ganze scheint eine gewisse Nähe zu haben mit OpenMQTTGateway
Nachtrag dazu noch: Seit einigen Tagen kann man die SwitchBot-Geräte (und vermutlich auch allerhand anderes BT-Zeug) wohl tatsächlich auch via OpenMQTTGateway schalten: https://github.com/1technophile/OpenMQTTGateway/releases/tag/v0.9.9 (https://github.com/1technophile/OpenMQTTGateway/releases/tag/v0.9.9)
Allerdings sieht die Syntax noch etwas grausam aus...
Falls das jemand austestet, bitte einen separaten Thread in MQTT aufmachen :) .