Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Beca Thermostate einbinden (Firmware-Mod)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Beca Thermostate einbinden (Firmware-Mod)

    This topic has been deleted. Only users with topic management privileges can see it.
    • Wal
      Wal Developer last edited by Wal

      Auf der Suche nach ansehnlichen Raumthermostaten bin ich über die Beca-Thermostaten gestolpert.
      Es gibt eine Firmware von Klaus Ahrenberg die ich um MQTT-Port-Eingabe und Single-Messages erweitert habe.
      Hier mein Github-Verzeichniss mit der erweiterten Firmware.
      Beca.jpg

      Das Ganze wird in den MQTT-Server-Adapter eingebunden. Für Tester wäre ich dankbar.
      Ich hatte am 23.10.2019 die Thermostate bei Amazon bestellt und sie gingen alle noch mit dem Tuya-Hack ohne löten zu flashen.

      H L B 3 Replies Last reply Reply Quote 0
      • H
        hitel @Wal last edited by

        @Wal Hallo, ich habe einen BHT-002GCLW-FW läuft darauf deine Firmware auch? Danke

        Wal 1 Reply Last reply Reply Quote 0
        • Wal
          Wal Developer @hitel last edited by

          @hitel
          ich denke schon da das Thermostat in der Anleitung von Klaus A. erwähnt wird, die Firmware habe ich nur erweitert die ist nicht von mir.

          1 Reply Last reply Reply Quote 0
          • A
            axelander last edited by

            hat irgendeins von den Beca-Thermostaten eine Genauigkeit von 0,1°? Bzw. sind die 0,5° wenigstens zuverlässig? z.T. steht in der Spec ja auch "Accuracy 1°" - Hintergrund ist, ich suche nach einer Lösung für die Raumthermostate meiner Fußbodenheizung, und ich befürchte dass die dann zu spät wieder aufmachen, da die Heizung ja sehr träge ist.

            Mit dem "MQTT Server Adapter" meinst Du
            https://github.com/ioBroker/ioBroker.mqtt ?

            Wal 1 Reply Last reply Reply Quote 0
            • Wal
              Wal Developer @axelander last edited by

              @axelander ,
              die 0,5° sind zuverlässig und ja genau der Server-Adapter.
              Ich nutze die BECA 6000 Serie die haben 0,5° Genauigkeit laut Amazon.

              1 Reply Last reply Reply Quote 0
              • Wal
                Wal Developer last edited by

                Achtung,
                alle Thermostate gibt es auch ohne Wifi, die funktionieren nicht mit der Firmware.

                1 Reply Last reply Reply Quote 0
                • L
                  leonracer @Wal last edited by

                  @Wal
                  Hallo und guten Abend. Dies ist mein erster Beitrag hier im Forum. Ich hab schon einiges mit iobroker selbst umgesetzt, bin aber an den Thermostaten gescheitert. Habe 6 Stück davon im Haus verbaut. Womit sind die Thermostate geflaggt worden? Tuya-Convert? Wie bringe ich die Thermostate dazu, sich den dem WLAN des Raspi zu verbinden?
                  Löten hab ich auch schon versucht, ging aber nicht. Bin eigentlich nicht ungeschickt, habe gestern erst meine Mijia-Gateway gelötet und den Port freigeschaltet.

                  Fragen über Fragen und die Sucht nach mehr iobroker!

                  Danke im Voraus
                  Leonracer

                  Wal 1 Reply Last reply Reply Quote 0
                  • Wal
                    Wal Developer @leonracer last edited by Wal

                    @leonracer ,
                    ich weiß nicht ob das noch geht wenn sie mit der tuya - app verbunden waren.
                    Thermostat ausschalten und den Pfeil nach unten ca. 8sec. betätigen, danach blinkt das Wifi-Symbol.
                    Ganz normal mit dem Tuya-Hack flashen. Link Text
                    Meine Thermostate hatten die Tuya-App noch nie gesehen. Das erste Thermostat hatte ich aber gelötet, hat auch funktioniert.

                    H 1 Reply Last reply Reply Quote 0
                    • H
                      hitel @Wal last edited by hitel

                      @Wal Hier mal ein Zwischenstand Firmware erfolgreich installiert. Nun starte ich mit der integration in Iobroker

                      Wal 1 Reply Last reply Reply Quote 0
                      • Wal
                        Wal Developer @hitel last edited by

                        @hitel sagte in Beca Thermostate einbinden (Firmware-Mod):

                        @Wal Hier mal ein Zwischenstand Firmware erfolgreich installiert. Nun starte ich mit der integration in Iobroker

                        👍

                        1 Reply Last reply Reply Quote 0
                        • L
                          leonracer last edited by

                          Erst einmal danke für die Antwort. Ich bekomme leider die Firmware nicht aus den ESP geflasht.

                          Hab alle Kabel dran, aber ich denke, ich bekomme keine Verbindung. Nutze den roten USB/Ttl-Wandler. Habe nach der Anletung von Klaus Ahrenberg gelötet. Nutze Win 10/64Bit.

                          Habe auch schon mit dem Wandler bei meinem Mijia-Gateway den Port 9898 geöffnet und das hat anstandslos funktioniert.

                          Danke, danke für eure Hilfe. Mich nervt bei der original FW die Temperaturanzeige mit dem durch 5 dividierten wert. Außerdem springt der Datenpunkt immer auf 10/70 von den min-max-Werten. So ist das Thermostat nicht ansprechbar.

                          1 Reply Last reply Reply Quote 0
                          • A
                            axelander last edited by

                            hatte mir einen BHT-002-GBLW von aliexpress geholt und habe es heute endlich angeschlossen und geflasht.
                            Flashen über tuya-convert hat geklappt 🙂
                            Nach dem flashen hat er sich zunächst immer wieder neu mit dem tuya-convert AP verbunden - hat etwas gedauert das herauszufinden. Danach konnte ich das Themorstat aber in mein Wifi einbinden und mqtt konfigurieren.
                            Scheint erstmal zu funktionieren... Vielen Dank @Wal 👍

                            Hatte dann mal versucht schedules zu setzen, aber wie kann ich die anzeigen? Aktuell bekomme ich im Objekt-Tab den sunday angezeigt:
                            9fce30ff-ab54-4692-9d2c-c64e09b59e27-image.png
                            Gibt es in dem mqtt adapter sowas wie eine console, über die ich die kommandos absetzen kann und dann die "3 separate messages for workday, saturday and sunday" mal sehen kann?

                            Ansonsten ist mir noch aufgefallen, dass das wifi symbol im Display nicht an ist, aber das ist ja nicht entscheidend...

                            Wal 1 Reply Last reply Reply Quote 0
                            • Wal
                              Wal Developer @axelander last edited by Wal

                              @axelander
                              wenn du den mqtt-server auf Debug setzt, bekommst du die Wochentage im Log angezeigt.
                              In Schedules eine 0 eintragen, dann aktualisiert er und du siehst es im Log.
                              Du kannst auch mit dem Node-Red-Adapter arbeiten, um Schedules zu bearbeiten.

                              1 Reply Last reply Reply Quote 0
                              • M
                                mjaio last edited by

                                Vielen Dank erst mal an Wal für diese coole Lösung 👍 👏

                                Habe das bei Github gefunden und mir direkt mal zwei BHT-002-GBLW (von MOES) gekauft und mit Tuya Convert geflasht.

                                Noch nicht produktiv, scheint aber alles zu gehen. Ich sehe Meldungen im MQTT Browser und kann die Zieltemp. (desiredTemperature) setzten und das Thermostat reagiert.

                                Kleiner Schönheitsfehler für mich ist noch die Zeit ist immer UTC also eine Stunde weniger als bei uns.
                                <topic>/timeTone bleibt leer.
                                Stelle ich die Zeit am Themostat ist sie bei nächsten NTP Sync wieder falsch.
                                Hab schon folgendes versucht:

                                Im DHCP Server Zeitinformationen mitgeben
                                option time-offset 3600;
                                option tcode "Europe/Berlin";
                                option pcode "CET-1CEST,M3.5.0/2,M10.5.0/3";
                                oder
                                option pcode "GMT+01:00";

                                Per MQTT Publish <topic>/timeZone auf:
                                Europe/Berlin (mit und ohne "")
                                oder CET
                                oder GMT+01:00

                                Wenn das nächste <topic>/state kommt ist timeZone wieder leer.
                                Oder muss das als JSON? desiredTemperature geht ohne

                                1 Reply Last reply Reply Quote 0
                                • M
                                  mjaio last edited by

                                  Ich glaube ich hab es selbst gefunden 😀

                                  Also die ganzen Smarthome Devices dürfen bei mir nicht ins Internet.
                                  Weil einige sich aber keinen anderen Zeitserver unterjubeln lassen (z.B. per DHCP) ist der Zugriff auf NTP erlaubt.

                                  Ich hatte jetzt mal testweise das Thermostat mit ins Internet gelassen und schon hab ich auch eine Zeitzone.
                                  Das Log sagt mir eine NTP Anfrage an 217.13.65.177 (das klappte ja auch vorher schon) und eine Anfrage auf 52.18.156.77 Port 80.

                                  Nanu, was ist denn das?
                                  Hab dann mal im Sourcecode gesucht und siehe da in KaClock.cpp:

                                  String request = "http://worldtimeapi.org/api/ip";
                                  

                                  Die liefern offensichtlich zu eigenen IP eine Zeitzone.

                                  Also Firewallregel angepasst, das Thermostat darf auf http://worldtimeapi.org:80 zugreifen und gut ist.

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    Himbi777 last edited by

                                    Hallo zusammen
                                    Ich habe heute einen BHT002GCLW mit der BecaThermostat0.95 Firmware von Klaus Ahrensberg geflasht.
                                    Das Gerät ist im Netz und sendet fleißig MQTT-Strings , allerdings nimmt das Thermostat nicht meine gesendeten Temperaturen an.
                                    Hat jemand den genauen Aufbau des Publish-Strings?

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      bishop @Wal last edited by

                                      @Wal

                                      Firmware läuft prima bei mir, danke dafür.
                                      Hätte da noch eine Frage wie bekomme ich die ganzen Datenpunkte hin wie es bei dir im Bild ist?

                                      Wal 1 Reply Last reply Reply Quote 0
                                      • Wal
                                        Wal Developer @bishop last edited by Wal

                                        @bishop ,
                                        normalerweise werden die automatisch erzeugt. Ich muß aber leider gestehen, das ich auf die neue Firmware von Klaus Ahrenberg umgeswitcht bin. Die sendet nur noch ein Json-String über MQTT, den ich mit einem Skript danach auswerte, da ich den Hardwaremod für die Abfrage des Relais gemacht habe.

                                        createState("javascript.0.Wohnzimmer.Isttemperatur", {type: "number"});
                                        createState("javascript.0.Wohnzimmer.Solltemperatur", {type: "number"});
                                        createState("javascript.0.Wohnzimmer.Heizen", {type: "boolean"});
                                        
                                        on({id: "mqtt.0.beca.thermostatbeca_6036635.things.thermostat.properties", change: "ne"}, function (obj) {
                                            var value = JSON.parse(obj.state.val);
                                            setState("javascript.0.Wohnzimmer.Isttemperatur", {val: value.temperature, ack: true});
                                            setState("javascript.0.Wohnzimmer.Solltemperatur", {val: value.targetTemperature, ack: true});
                                            if (value.state=="off") {
                                                setState("javascript.0.Wohnzimmer.Heizen", {val: false, ack: true});
                                                setState("sonoff.0.Sonoff_Heizung.POWER", {val: false, ack: true})
                                            } else {
                                               setState("javascript.0.Wohnzimmer.Heizen", {val: true, ack: true})
                                               setState("sonoff.0.Sonoff_Heizung.POWER", {val: true, ack: true});
                                            };
                                        
                                            console.log(value.temperature); 
                                            console.log(value.targetTemperature);
                                            console.log(value.state); 
                                        });
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          bishop last edited by bishop

                                          @Wal

                                          danke
                                          ich meinte eigentlich so wo in deinem Bild am Anfang.
                                          Habe das mal versucht:
                                          mqtt topic erstellen.jpg

                                          wieso bekomme ich so keine änderungen!?!

                                          Habe mal dein Script auf mich angepasst.

                                          createState("mqtt.0.Fussbodenheizung_Bad.things.TemperaturRaum", {type: "number"});
                                          createState("mqtt.0.Fussbodenheizung_Bad.things.TemperaturSoll", {type: "number"});
                                          createState("mqtt.0.Fussbodenheizung_Bad.things.TemperaturBoden", {type: "number"});
                                          createState("mqtt.0.Fussbodenheizung_Bad.things.heizen", {type: "boolean"});
                                          
                                          on({id: "mqtt.0.Fussbodenheizung_Bad.things.thermostat.properties", change: "ne"}, function (obj) {
                                              var value = JSON.parse(obj.state.val);
                                              setState("mqtt.0.Fussbodenheizung_Bad.things.TemperaturRaum", {val: value.temperature, ack: true});
                                              setState("mqtt.0.Fussbodenheizung_Bad.things.TemperaturSoll", {val: value.targetTemperature, ack: true});
                                              setState("mqtt.0.Fussbodenheizung_Bad.things.TemperaturBoden", {val: value.floorTemperature, ack: true});
                                              if (value.state=="off") {
                                                  setState("mqtt.0.Fussbodenheizung_Bad.things.heizen", {val: false, ack: true})
                                              } else if (value.state=="heating") {
                                                 setState("mqtt.0.Fussbodenheizung_Bad.things.heizen", {val: true, ack: true});
                                              };
                                          
                                              //console.log(value.temperature); 
                                              //console.log(value.targetTemperature);
                                              //console.log(value.state); 
                                          });
                                          

                                          jetzt wäre es noch schön wenn ich die TemperaturSoll ändere, er es auch sendet!

                                          was ich auch nicht ganz verstehe, warum werden die Datenpunke mit "createState" nicht automatisch angelegt?

                                          Wal 1 Reply Last reply Reply Quote 0
                                          • Wal
                                            Wal Developer @bishop last edited by Wal

                                            @bishop ,
                                            für Solltemperatur must du dir ein Object "targetTemperature" erstellen, siehe Bild.
                                            beca.png

                                            B 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            666
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            mqtt raumthermostat tuyamqtt
                                            18
                                            135
                                            18752
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo