NEWS
SwitchBot in iobroker (Kaffeemaschine smart)
-
Hallo,
bin schon seit Ewigkeiten auf der Suche nach der Möglichkeit, die Kaffeemaschine smart zu machen.
Und nein, es sind nicht die Filterkaffeemaschinen, da ist das einfach über WLAN Steckdose.Ich hab einen Siemens Vollautomaten, allerdings nicht so teuer, das der gleich smart ist.
Also das Ding hat einen Einschalter.
Und den muss man drücken.
Und dafür gibts jetzt ne japanische Lösung: Den Switchbot.Das Ding ist eigentlich nix anderes als ein BLE Empfänger, der dann einen Plastikbügel 1x runterfährt.
Genial-einfache Erfindung und genau das, was ich gesucht habe.
Ich weiß, damit hab ich das Problem der Spülung und der Tassen nicht gelöst, aber immerhin einen Schritt gemacht.Jetzt die Frage:
Wie kann ich den denn in den iobroker einbinden?
Ich hab jetzt keine Lust, mir für den einen Aktuator auch noch für 50 EUR das Gateway zu kaufen.
Da der BLE hat, muss der doch auch irgendwie im iobroker mit dem BLE Adapter eingebudnen werden könenn, oder?
(Thema Reichweite mal außen vor, die problematik kenne ich); der SwitchBot liegt jetzt 10cm neben dem Pi.Muss ich da ein besonderes Protokoll eintragen, muss ich irgendwie alle BLE Geräte scannen/screenen?
Hat wer da schon Hinweise?
Vielen Dank im Voraus
-
@jhuebner1 sagte in SwitchBot in iobroker (Kaffeemaschine smart):
Und dafür gibts jetzt ne japanische Lösung: Den Switchbot.
Jetzt? Den gübbet es aber schon seit 3 Jahren
Wie soll das denn mit BT funktionieren? BT ist nur ein Protokoll, da gibt es keine Befehle wie "schalte" etc. pp. Stell dir das also nicht zu einfach vor. Da braucht es Software für (=Hub).
Mir würde ja spontan ein ESP, Servo/Hubmagnet oä. und ein 3D-Druck dazu einfallen. Den ESP bekommt man dann easy in den ioB und der könnte auch noch weiteres betätigen.
...oder Maschine öffnen und den Schalter mittels ESP, Optokoppler, Relais etc. brücken/einschalten.... -
@SBorg
Naja..... jetzt, weil jetzt ein Arbeitskollege gemeint hat, das er da mal 2017 was gelesen hat.....
Die eigentliche Firma ist glaube ich pleite, aber der SwitchBot ist am LebenZur Steuerung:
Es geht auch ohne Hub, nur mit Handy.
Hab gestern mir die App installiert und er hat sofort auf dem handy ohne WLAN Eingabe und Konfiguration das Ding gefunden. Und da er es gefunden hat (und ich nicht glaube, das er im Hintergrund WLAN Konfigurationsdtaen übertragen hat), gehe ich davon aus, das es sich um Bluetooth handelt (mehr hat das Handy ja auch nicht).Und wenn ich auf dem Handy das mit BT steuern kann, dann muss das doch auch mit dem ioB gehen, denke ich mir als Laie jedenfalls....
-
Gehen tut das schon, aber App = Software
Du brauchst also entweder eine Software, oder eine Art "Treiber". Einfach im ioB den BT-Adapter installieren genügt da leider nicht. Man müsste quasi den BT-Befehl der App "mithören" (mittels eines BT Sniffers) und diesen dann per BT senden. -
Frage : Spüllt die Maschie nach dem einschalten. wenn ja dann hmmm... lecker..
-
Klar spült die...
Aber ich will ja auch nicht SwitchBot=Kaffeebezug, sondenr SwitchBot = Maschine einschalten.
Dann ist keine Tasse drunter und die Suppe fließt in die Schale.Aber ich kann das ganze in eine Szene schalten und morgens direkt mit Wecker Kaffeemaschine einschalten.
Spart also einen Gang....Wie genau das Protokoll ist, kann ich aber nicht sagen, welches da genutzt wird.
Evtl. muss ich also wirklich einen USB BT Sniffer organisieren.... -
Whireshark kann auch BT, allerdings kein IOS/Android. Was aber ggf. funktionieren könnte, wäre Rechner mit BT, Whireshark drauf und Android-App mittels bspw. MEmu starten.
... ev. gibt es aber auch direkt was brauchbares für IOS/Android. -
Nun - zumindest für Homekit/HomeBridge gibt es eine Lösung, siehe link:
https://forum.smartapfel.de/forum/thread/3720-homebridge-switchbot/Ist halt nur für iOS, aber per HAM gehts ja vielleicht auch zu/in ioBroker....
-
Man kann über "gatttool" per Eingabe auf der Kommandozeile auch verschiedene Befehle direkt über BT (z.B. vom RPi) an den Bot senden. Möglich ist dann natürlich auch dies über ein Script oder was auch immer auszugeben.
Folgende Syntax ist zu beachten:
XX:XX:XX:XX:XX:XX = Die BLE MAC des SwitchBot
57010X = Code für den BefehlDie BLE-MAC-Adresse bekommt man über die original SwitchBot-App:
Die Befehle lauten:
570100 = Press
570101 = ON
570102 = OFF
570103 = HoldBeispiel:
gatttool -t random -b XX:XX:XX:XX:XX:XX --char-write-req -a 0x0016 -n 570103
und dann
gatttool -t random -b XX:XX:XX:XX:XX:XX --char-write-req -a 0x0016 -n 570102-> Öffnet den Hebel ("3") und bleibt solange in dieser Position, bis der Befehl ("2") zum Schließen kommt.
-
Danke, das funktioniert super
-
Hallo zusammen,
ich möchte dieses alte Thema nochmal aufgreifen, denn mein Antrieb für den Kauf des Switchbot ist exakt der gleiche wie der des Thread Ersteller (Auch Siemens Kaffeeautomat)Allerdings würde ich das ganze gerne via ioBroker steuern. Dazu habe ich den Switchbot erstmal mit dem Windows 10 Rechner gekoppelt, auf dem auch ioBroker läuft.
Bei der Recherche zu dem Thema, bin ich dann über diesen Beitrag gestolpert und habe mir, wie in dem Beitrag geschrieben, das Tool BLEConsole herunter geladen.
https://www.switch-bot.com/forum/general-discussion/operating-switchbot-from-windows-bluetooth-only
Der Kommandozeilen Aufruf scheint zu funktionieren, denn wenn ich "open WoHand" eingebe, bekomme ich diese Rückmeldung von dem mit Win10 gekoppelten Switchbot.
BLE: open WoHand Connecting to Bluetooth e5:e8:06:d3:a6:11. Found 4 services: #00: GenericAccess #01: GenericAttribute #02: 65255 #03: Custom Service: cba20d00-224d-11e6-9fb8-0002a5d5c51b
Was allerdings nicht funktioniert, ist dieses Skript, welches in den Artikel genannt wird. Hier bekomme ich folgende Rückmeldung.
Skript:
format Hex open WoHand set #03 w #01 57 01 00 close
Rückmeldung:
C:\iobroker\Switchbot> BLEConsole.exe < push.txt Current display format: Hex Device WoHand is unreachable. Invalid service name or number No service is selected. Please specify characteristic name or # for writing.
Gebe ich allerdings die Befehle nach einander per Hand ein, funktioniert der Switchbot und bewegt sich auch
BLE: format hex Current display format: Hex BLE: open WoHand Device Bluetooth e5:e8:06:d3:a6:11 is disconnected. Connecting to Bluetooth e5:e8:06:d3:a6:11. Found 4 services: #00: GenericAccess #01: GenericAttribute #02: 65255 #03: Custom Service: cba20d00-224d-11e6-9fb8-0002a5d5c51b BLE: set #03 Selected service Custom Service: cba20d00-224d-11e6-9fb8-0002a5d5c51b. #00: Custom Characteristic: cba20003-224d-11e6-9fb8-0002a5d5c51b N #01: Custom Characteristic: cba20002-224d-11e6-9fb8-0002a5d5c51b W BLE: w #01 57 01 00
Der Switchbot via Bluetooth an einem Windows 10 Rechner funktioniert. Wie wäre es möglich diesen via ioBroker anzusprechen, was bräuchte man dafür - einen eigenen Adapter, oder gibt es da einen Adapter den man dafür jetzt schon nutzen könnte?
Die zweite Frage ist, warum funktioniert das Skript als Komplett Aufruf nicht?!?
@jhuebner1 Ich habe eine Siemens IQ6 - kannst du mal ein Bild einstellen, wie du an deiner Kaffeemaschine den Switchbot angebaut hast?
-
OK, Kommando zurück. Habe es mittlerweile hin bekommen.
Es muss lediglich der folgende Aufruf gestartet werden, wenn sich das Skript in der Textdatei push.txt befindet. Der Switchbot steuert dann brav einmal durch - also fährt raus und wieder rein.
C:\iobroker\Switchbot\BLEConsole.exe < push.txt
Bliebe jetzt noch die Frage, wie bekommt man das ganze in den ioBroker Kosmos integriert?
-
Je nach dem wie du es starten willst legst du einen Datenpunkt an. Dann ein kleines Blockly mit Trigger auf diesen DP (den du per VIS oder what else steuern kannst). Als Aktion dann einen "exec"-Block der genau deinen Aufruf enthält. Zum Schluss im Blockly noch den DP wieder zurücksetzen.
-
@JB_Sullivan sagte in SwitchBot in iobroker (Kaffeemaschine smart):
C:\iobroker\Switchbot\BLEConsole.exe < push.txt
Danke für den Hinweis - OK mit "exec" Aufrufen habe ich bislang noch nicht gearbeitet.
Wäre das so richtig? Den Datenpunkt vis.switchbot würde ich dann über einen VIS Button triggern. Da der Switchbot keine Rückmeldung bzgl. des Zustand gibt und beim Auslösen des Skript "Raus und wieder Rein" fährt, würde ich den Datenpunkt nach Ablauf der 10 Sekunden wieder auf "false" setzen.
-
@JB_Sullivan "Fast" gut
Dein Trigger prüft den DP auf "wurde geändert". Dann läuft dein Skript durch und stellt zum Schluss den DP wieder auf "false". Da ist jetzt dein Problem. Denn nun wurde der DP ja wieder geändert, also startet dein Skript erneut...
...außer du möchtest natürlich unendlich viele Tassen Kaffee zapfenIm Trigger "wurde geändert" --> "wahr"
Dann kann auch der ganze "falls"-Block weg und nur der "exec" bleibt. Den "ausführen" kannst du so lassen oder auch löschen, und dafür "mit Verzögerung (in xx Sekunden)" bei "steuere" aktivieren, ist genau das selbe. -
Danke für deine Rückmeldung,
ich hoffe ich habe es richtig verstanden - ich brauche in jedem Fall ein "true" und eine "false" auf dem Datenpunkt, damit ich im VIS den Trigger Button mit einem entsprechenden Farbumschlag (Symbol) belegen kann. -
@JB_Sullivan Jepp, und so sollte es jetzt funktionieren. Wenn du den VIS.Switchbot.Aktiv auf "true" setzt, sollte er jetzt eine Tasse zapfen.
Musst dir nur überlegen ob das mit dem automatischen "false" Sinn ergibt. Schließlich könnte man dann nach spätestens 10 Sekunden eine zweite Tasse zapfen. Oder sie steht eine Minute lang unter der Maschine und ein anderer(?) zapft eine...
Eigentlich müsste es korrekt sein: "entferne Tasse --> setze DP auf false" -
Danke für`s mitdenken, aber es geht hierbei nicht um Kaffee "zapfen", sondern lediglich um das einschalten und den damit verbundenen automatischen Spülprozess.
Wir haben da Standartmäßig immer einen Behälter unter der Ausgabe Düse stehen.
Der Datenpunkt wird hauptsächlich über mein "Guten Morgen" Skript angesteuert. Bei dem Skript werden die Zirkulationspumpe für warm Wasser, das Radio im Bad, ein paar Lichter und nun auch die Kaffeemaschine eingeschaltet.
Wenn man jetzt, nachdem man im Bad fertig ist, in die Küche kommt, ist der Spülvorgang des Kaffeautomaten schon erledigt und man kann gleich eine Tasse Kaffee anfordern (dafür wäre der Switchbot nicht geeignet, weil das Sensortasten sind).
"Früher" musste man immer warten bis die Maschine durchgespült war. Dank Switchbot und ioB wird das nun automatisert.
Ich denke ich werde das dann über ioT auch Alexa-fiziert bekommen, getreu
dem Motto - "Alexa schalte Kaffemaschine ein"Danke nochmal für deine Unterstützung.
-
Ich habe nur eine Senseo...
...aber du brauchst eindeutig einen Roboterarm...und was einen Datenpunkt hat kann auch Tante Alexa einschalten.
-
so, jetzt bin ich wieder zu Hause und konnte das Skript mal am Gerät testen -
leider Fehlanzeige, es passiert gar nichts.
Der Datenpunkt wird zwar umgesteuert und auch wieder zurück gesteuert, aber irgendwie macht der exec Befehl rein gar nichts. Das Problem ist, das sich eine DOS Eingabe Aufforderung öffnen muss wo, ich mich dann manuell mit "cd C:\iobroker\Switchbot>" hin linke. Dort führe ich dann den Befehl BLEConsole.exe < push.txt aus.