NEWS
Beca Thermostate einbinden (Firmware-Mod)
-
Vielen Dank für den Fix bezüglich Sommerzeit an @Fashberg, das ging schnell!
Eine Frage habe ich aber noch: obwohl ich den Haken bei "Switch back to Auto mode from manual at next schedule period change" weggenommen habe, steht der Wert in MQTT bei mir immer auf "true" - ist das nur eine falsche Ausgabe, oder interpretiere ich es falsch? Konnte den bisher auch nicht über MQTT ändern. Ich will die Thermostate immer manuell betreiben, da die Zeit- und Temperaturvorgaben dynamisch aus meiner Wärmepumpe kommen.
Kann man die Displaybeleuchtung eigentlich ausschalten, ohne den ganzen Thermostat ausschalten zu müssen? Vermutlich nicht...wäre eine schöne Funktion bei den runden Varianten des Thermostats, da deren Displaybeleuchtung immer an ist - dann könnte man das nachts ausschalten lassen. Aber nachts wird eh nicht geheizt, so gesehen ist es auch nicht dramatisch. Da kann ich auch einfach den ganzen Thermostat ausschalten.
-
@berlinerbolle,
ich nutze noch die 1.16, du hast aber Recht der Haken ist noch ein Bug denke ich.
Die Beleuchtung lässt sich leider nicht separat steuern, du könntest das Thermostat aber mit einem Skript Nachts ausschalten. -
Ich habe noch ein kleines Problem: Ab und zu geht eines (nicht immer der Gleiche) der Thermostate einfach aus. Ich habe deshalb schon in ioBroker zusammen mit der allgemeinen Aktualisierung ein "deviceOn" an jedes Thermostat abgesetzt, aber auch das scheint nicht immer zu helfen.
Eine Ursache konnte ich noch nicht feststellen.
Einmal konnte ich sogar zusehen wie bei einem ausgeschalteten Thermostat das Display wieder anfing zu leuchten (als ob es starten wollen würde), dann aber nach ein paar Sekunden leuchten einfach wieder aus gegangen ist. Setze ich dann manuell (zum Beispiel per MQTT.fx) ein deviceOn=true ab, geht es wieder an.Ich hatte schon die Vermutung, dass vielleicht ein falsch formatierter String für deviceOn abgesetzt wird und es deshalb abschaltet, aber das scheint nicht der Fall zu sein - und müsste dann ja auch immer alle Thermostate gleich betreffen.
Hat das schonmal jemand beobachtet?
-
@berlinerbolle
hatte ich noch nicht. Könnte aber z.B. an der Standardeinstellung vom Objekt liegen, ist die auf "false" sendet der Broker evtl. ein false nach einem Verbindungsabbruch. Ist aber aus den Fingern gesogen. -
Hallo zusammen,
dank eurer Posts konnte ich als blutiger Anfänger schon viele Dinge umsetzen.
Nun stehe ich leider vor dem Problem, dass ich das Thermostat einbinden konnte und auch auslesen kann. Leider kann ich jedoch keinen Wert in targetTemperature setzen, hier wird die eingegebene Zahl direkt rot angezeigt.
Was mache ich falsch? -
Moin,
ich beschäftige mich seit einpaar Tagen mit dem iobroker. Raspberry letzte Woche gekauft und eingerichtet. Meine mit tasmota geflashten Steckdosen Sonoff S20 und die Jalosie Schalter Sonoff T2 Touch funktionieren tadellos mit dem Sonoff Adapter im iobroker.
Jetzt sitze ich seit zwei Tagen am Moes Thermostat BHT-002GALW. Erstmal mit der Tuya App und dem Tuya Adapter im iobroker bedient und mit blockly rumgespielt. Funktionierte soweit recht gut. Hab z.b. die Mode Taste links abgegriffen (=1) um die Jalosie in dem Raum runter zufahren, alles Top. Sogar die Anzeige und verstellung der Temperatur über vis auf Tablet ging problemlos. Aber halt alles über den Tuya Server.
Deshalb habe ich mich entschlossen das Thermostat zu flashen. Mit dem Tuya convert hat es auch soweit geklappt.
Gerät im wlan eingebunden und im iobroker den Adapter mqtt installiert. So......
Habe jetzt folgendes Problem, unter Objekte mqtt.0 sehe ich das Thermostat und die automatisch erstellten ordner und Daten. Wenn ich jetzt aber einen neue Datenpunkt hinzufüge zb temperatur wird im Status nicht angezeigt.
Hab jetzt zwei Tage und Nächte damit verbracht eine Lösung zu finden, leider ohne Erfolg. -
@torquemaster sagte in Beca Thermostate einbinden (Firmware-Mod):
die automatisch erstellten ordner und Daten. Wenn ich jetzt aber einen neue Datenpunkt hinzufüge zb temperatur
Verstehe ich das richtig, dass du "einfach" temperature angelegt hast? Das funktioniert nicht. MQTT funktioniert nur als publish und subscribed, also "Veröffentlichung" und "abbonieren". Stell dir das wie ein Zeitungsabo vor. Der Publisher (=Thermostat) sagt dir was er anbietet, der Subscriber (=ioB) was er abonnieren möchte.
Wenn er also bspw. Computer-, Auto- und Fernsehzeitschrift anbietet, kannst du genau diese abonnieren. Wenn du aber einfach sagst "ich lese jetzt auch den Playboy" interessiert dies deinen Anbieter nicht und informative Hochglanzberichte gibt es auch nicht.Du musst mit dem auskommen was er anbietet. Die Temperatur steckt bestimmt in einem der JSON-Strings
-
@SBorg Danke für die Antwort,
ja genau,das steht rechts in dem Wert.:{"idx":"Thermo Wohnen",
"ip":"192.168.178.56","firmware":"1.16","temperature":21.00,"targetTemperature":20.00,"deviceOn":true,"schedulesMode":"off","ecoMode":false,"locked":false,"floorTemperature":0.00}Ich bekomme es einfach nicht hin wie man richtig den Datenpunkt einstellt bzw subsribed....
-
@torquemaster Und das sagt mir das Thermostat per IP Adresse. Hab Firmware 1.16 und 1.18 ausprobiert.
-
@torquemaster Das sieht schon mal ganz gut aus und du warst auch fast richtig. Nur ist "Temperature" ein Read Only, was auch einleuchtend ist, denn dass ist die gemessene Raumtemperatur. Wäre ziemlich blöd wenn man die setzen könnte ...
Du hast aber "targetTemperature". Wenn du den so in den "properties" anlegst müsstest du eigentlich die gewünschte Zieltemperatur am Thermostat setzen können. Fernermittels Datenpunkt deviceOf --> true/false sollte sich das Thermostat Ein-/Ausschalten lassen
mittels Datenpunkt schedulesMode --> auto/off die, vermute ich mal, Zeitschaltfunktion [De-]Aktivieren lassenZumindest kann man das so herauslesen, dass das Thermostat diese Datenpunkte so subscribed.
-
@SBorg Leider bekomme ich das nicht hin, kein plan.
Hier sind meine Einstellungen:Hier rechts im Bild sieht man ja die Live Werte die sich auch ändern wenn ich die Temperatur am Thermostat ändere. Also die Kommunikation steht auf jeden Fall.
Das mit dem publish und subscribed habe ich ja vom Prinzip her schon verstanden. Ich denke ich mache einen Fehler wenn ich den neuen Datenpunkt anlege.... : (
-
@torquemaster Ok, ich sehe den Fehler. Das "Abo" läuft eigentlich unter mqtt.0.Thermo_Wohnen.things.thermostat.properties.targetTemperature, bei dir, warum auch immer ohne "things". Deswegen kann das Thermostat es nicht abonnieren.
Entweder hast du das bei Tasmota falsch editiert, oder du müsstest den Zweig so anlegen, also unter "Temperatur_Wohnen" eine Ordner "things", dann darunter einen Ordner "properties" und dann den Datenpunkt "targetTemperature". -
Du hast da einen Fehler drin - dort wo du den Wert setzen willst, ist es nur ein read-only. Bei den Thermostaten sind die Werte über den "cmnd" Zweig zu setzen. In meinem Fall kann ich alles auslesen über
thermostat/thermostatName/stat/things/thermostat/properties/
Da steht dann auch die gesetzte targetTemperature drin.
Wenn die über mqtt gesetzt werden soll, ist das allerdings ein anderer Zweig, der NUR für das Setzen der Werte da ist. Die Struktur ist gleich wie der "stat" Zweig, nur eben "cmnd" statt "stat":
thermostat/thermostatName/cmnd/things/thermostat/properties/targetTemperature
Edit: ich verstehe allerdings nicht, wieso es bei Dir den "stat/things" Teil in der Struktur gar nicht gibt - meines Wissens nach kann man das im Thermostat auch gar nicht "kaputtkonfigurieren". @SBorg hat das ja auch schon bemerkt. Was steht denn bei Dir unter "Configure Network" --> "Topic" in der Thermostatkonfiguration?
-
Hallo,
ich habe mir auch dieses Thermostat geholt und mich am Thread orientiert.
Ich habe entsprechend versucht die Objekte hinzuzufügen.
Einige funktionieren, einige nicht. Kann man nicht irgendwo einsehen, welche Subscriptions es gibt und wie sie genau heißen?
Erstelle ich beispielsweise "mode" unter cmnd, wird mir in stats ein neues mode objekt angelegt. Allerdings nicht unter properties sondern eine ebene darüber.
Stelle ich in cmnd targetTemperature auf 16.5 wird dieser Wert auch in stats in dem Objekt unter thermostat gesetzt. Auch am Thermostat wird dieser Wert eingestellt. Die targetThemperature in stats/.../properties/targetTemperature, also eine Ebene tiefer verändert sich jedoch nicht. Dieser Wert wird erst geändert wenn ich es manuell am Thermostat einstelle. Dann ändert sich dafür aber der Wert des Objektes /stats/.../thermostate/targetTemperature nicht...Irgendwie habe ich da wohl noch einen Fehler drin.
Kann mir da jemand helfen
-
@sauerm
Welche Version der Firmware verwendest Du denn? Ich meine, dass die Werte unterhalb von "properties" erst korrekt regelmäßig mit der letzten Beta gefüllt werden. Vorher muss man den Properties Schlüssel im JSON Format auslesen/angucken, wenn man zuverlässig die aktuellen Werte will.
Die JSON Variante ist auch der Standard, die einzelnen Werte unterhalb von Properties als "Klartext" hat er als Hilfe nur "dazugebastelt". Aber wie gesagt, in der letzten Beta sollte man die eigentlich verwenden können.Und Du musst eigentlich keine Objekte hinzufügen, das wird alles von allein bevölkert (zumindest der Status). Die "cmnd" Zweige bekommst Du, wenn Du per MQTT Client die entsprechenden Befehle absetzt.
Dabei kannst Du einfach nur "stat" gegen "cmnd" tauschen, um alle gültigen Befehle zu haben. Also alles was es als "stat" gibt, gibt es glaube ich auch als "cmnd".In meinem Post über deinem Beitrag ist auch ein Beispiel dazu.
-
@berlinerbolle said in Beca Thermostate einbinden (Firmware-Mod):
MQTT Client
Ah, okay, vielen Dank!
Sorry, bin noch ganz neu in mqtt.
Ich verwende die letzte stable 1.18Also müsste ich zusätzlich zum mqtt-server, noch eine client instanz aufmachen über die ich dann Abfragen absetzen kann?
Ich habe deinen Post so interpretiert, dass so die zusätzlich Objekte angelegt werden müssen -
Mir fällt grad auf - ich habe die 1.18 von fashberg drauf. Gab es hier jetzt noch eine separate Version von @Wal?
Kann man eine davon irgendwie in sonoff einbinden? ich würde gern einen meiner adapter loswerden wollen -
@sauerm
Nimm ruhig die 1.19 von fashberg, da funktioniert das zuverlässig mit den separaten properties.
Du musst dir nicht extra eine zweite MQTT Instanz installieren, um Kommandos abzusetzen. Dafür ist (zum Beispiel) MQTT.fx besser geeignet, gibt es auch für Windows. Damit kannst Du auch gleichzeitig lauschen, was so alles in MQTT bei dir los ist.
Hast Du mal geschaut, ob zumindest das JSON Objekt mit allen Properties geändert wird, wenn du die Temperatur am Thermostat änderst? Also was bei dir home/livingr/wthermostat-main/stat/things/thermostat/properties ist? Da sind auch alle properties drin, nur eben alle auf einmal in einem JSON formatierten String.
-
Moin,
ich muss mich hier mal mit einklinken, da ich bei diesem Thema nicht weiter komme und Hilfe benötige.
Ist-Zustand:
- Beca-Thermostate vom Typ BHT-002GALW (funktionieren Top)
- Firmware geflasht mit Fashberg 1.19 beta (funktioniert Top)
- Aliase angelegt und den ganzen Kram im IOT-Adapter verankert, so dass ich mit Alexa darauf zugreifen kann (funktioniert, aber nur im Read-Modus)
- wenn ich Alexa sage, dass die Target-Temp soundso viel Grad Celsius sein soll, wird der Befehl auch problemlos in ioBroker übertragen und angezeigt, nur nach ein paar Sekunden, wenn das Thermostat neue Werte an den ioBroker schickt, wird der Wert mit dem im Thermostat eingestellten überschrieben
Ich bekomme es einfach nicht hin, wie ich per MQTT (bzw. danach per Sprachbefehl an Alexa) den Befehl dauerhaft ans Thermostat senden kann.
Ich benötige mal eine Schritt für Schritt Anleitung.
Was muss ich wie und wo genau anlegen, damit ich zu dem von dir beschriebenen "cmnd-Zweig" komme?
Alles was ich bisher über MQTT weiß - und das ist sehr wenig - hilft mir bei diesem Thema nicht weiter. -
@th16 ,
das Thermostat muss auf Hand stehen, damit das funktioniert.