Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter bshb (Bosch Smart Home) v0.0.x

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter bshb (Bosch Smart Home) v0.0.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      holomekc @bfit last edited by

      @benefit
      Vielen Dank für die netten Worte.

      Bezüglich Batterie wird dir das weiterhelfen:
      https://github.com/holomekc/ioBroker.bshb/wiki/Value-you-may-not-see-at-first

      Ich habe bisher den Ansatz gefahren mehr oder minder die Werte vom Controller 1:1 auszugeben. Vorteil: weniger Aufwand, neue Werte direkt sichtbar. Nachteil: nicht immer transparent für euch. Problem ist das ich auch nicht weiß, welche Werte es alles gibt. Nicht alles ist dokumentiert. Daher dachte ich lieber so.

      Beim Rauchmelder muss ich leider passen. Ich habe dieses Gerät leider nicht. Normalerweise sollte das gehen was auch in der App geht. Falls nicht einfach melden und ich kann mal schauen warum das so ist.

      Alarm selber triggern geht leider nicht. Die Api erlaubt das nicht. Verrücktere Dinge kann man tun, wenn man ein simuliertes Hue Gerät mit dem Controller verbindet. Aber auch hier erlaubt Bosch nicht bspw. Einen Hue Bewegungsmelder für den Alarm zu verwenden.

      B 1 Reply Last reply Reply Quote 1
      • B
        bfit @holomekc last edited by bfit

        @holomekc
        Habe mir inzwischen einen Rauchwarnmelder II zugelegt – folgende Infos spuckt der Adapter aus:

        Bildschirmfoto 2022-10-21 um 20.29.38.png
        Bildschirmfoto 2022-10-21 um 20.26.18.png

        Bin gespannt, das BatteryLevel irgendwann mal ausspuckt. Wird dort irgendwann ein neuer "value" auftauchen (auf den man heute schon mal in einem Javascript einen Trigger setzen könnte) oder werden in deinem Link beschriebenen Werte in den "faults" State direkt reingeschrieben?

        H 1 Reply Last reply Reply Quote 0
        • H
          holomekc @bfit last edited by

          @benefit
          Hi. Klingt gut ich hoffe du kommst an alle Werte die du brauchst. Die Fehler werden in den faults landen. Wie bei GitHub zu sehen nur ohne entries dazwischen. Also bspw. faults[index].type === „LOW_BATTERY“ könnte auftauchen. Ich wollte nicht das Werte einfach so auftauchen, aber ich weiß auch nicht wo überall Fehler auftauchen können. Daher so ein „Rundumschlag“.

          Im GitHub wiki bei Yahka -> WindowContact gibt es ein Beispiel wie man das verwenden kann. Ansonsten musst du mal schauen wie es aussieht wenn die Battery dann mal leer wird. Ich habe es gerade bei einem Thermostat im Schlafzimmer. Da ist es noch so wie auf GitHub beschrieben.

          Das ist so eine Stelle wo ich es theoretisch viel einfacher für euch machen könnte. Aber ich habe keine Infos darüber welche Werte wo wie auftauchen können. War jedoch schon am überlegen einfach beides anzubieten. Wäre aber ein bissle Aufwand und sicher nicht vollständig.

          1 Reply Last reply Reply Quote 0
          • B
            bfit last edited by bfit

            Vielleicht kann es jemand brauchen: Hier ein kleines Javascript, mit dem man die Solltemperaturen der Raumthermostate (Achtung: Nur getestet mit den Raumthermostaten Fußbodenheizung 230V Generation I) in eigene Objekte schreiben kann. Damit lässt sich z.B. neben dem Ist-Wert auch der Soll-Wert in ein Diagramm zeichnen.

            schedule('*/5 * * * *', roomSetpoints);
            
            function roomSetpoints() {
            
                // Define rooms with their specific data sources and targets
                var home = {
                    "rooms": [
                        {
                            "source": "bshb.0.roomClimateControl_hz_1.RoomClimateControl",
                            "target": "0_userdata.0.haus.arbeitszimmer"
                        },
                        {
                            "source": "bshb.0.roomClimateControl_hz_2.RoomClimateControl",
                            "target": "0_userdata.0.haus.bad1"
                        },
                        {
                            "source": "bshb.0.roomClimateControl_hz_3.RoomClimateControl",
                            "target": "0_userdata.0.haus.bad2"
                        },
                        {
                            "source": "bshb.0.roomClimateControl_hz_4.RoomClimateControl",
                            "target": "0_userdata.0.haus.kind1"
                        },
                        {
                            "source": "bshb.0.roomClimateControl_hz_5.RoomClimateControl",
                            "target": "0_userdata.0.haus.kind2"
                        },
                        {
                            "source": "bshb.0.roomClimateControl_hz_6.RoomClimateControl",
                            "target": "0_userdata.0.haus.schlafzimmer"
                        },
                        {
                            "source": "bshb.0.roomClimateControl_hz_7.RoomClimateControl",
                            "target": "0_userdata.0.haus.wohnzimmer"
                        },
                    ]
                };
            
                // Weekdays as lookup
                const weekday = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
                const d = new Date();
                let day = weekday[d.getDay()].toUpperCase();
                
                // Minutes of current day for matching last valid switchPoint
                const now = new Date();
                let currentMinutesOfDay = now.getHours()*60 + now.getMinutes();
            
                // Loop through all rooms
                home.rooms.forEach((room) =>{
            
                    let t_setpoint = null;
                
                    // Get all values from source
                    var schedule =        getState(room.source + ".schedule").val;
                    var t_comfort =       getState(room.source + ".setpointTemperatureForLevelComfort").val;
                    var t_eco =           getState(room.source + ".setpointTemperatureForLevelEco").val;
                    var t_manual =        getState(room.source + ".setpointTemperature").val;
                    var controlMode =     getState(room.source + ".roomControlMode").val;
                    var operationMode =   getState(room.source + ".operationMode").val;
            
                    // If controlMode is not HEATING or COOLING, set t_setpoint = null
                    if (controlMode == "OFF") {
                        t_setpoint = null;
                    }
                    else {
            
                        // If operationMode is not AUTOMATIC, directly use manual setpoint without looping through schedule
                        if (operationMode == "MANUAL") {
                            t_setpoint = t_manual;
                        }
                        else {
            
                            // Otherwise, loop through all daily profiles in schedule-JSON
                            schedule.profiles.forEach((item) => {
                                if (item.day == day) {
                                    
                                    // Loop through all switchPoints of current day until last valid switchPoint is found
                                    item.switchPoints.forEach((point) => {
                                        if (currentMinutesOfDay >= point.startTimeMinutes) {
                                            if (point.value.temperatureLevel == "ECO") {
                                                t_setpoint = t_eco;
                                            }
                                            if (point.value.temperatureLevel == "COMFORT") {
                                                t_setpoint = t_comfort;
                                            }
                                            if (t_setpoint != t_manual) {
                                                t_setpoint = t_manual;
                                            }
                                        }
                                    });
                                }
                            });
            
                        }
                    
                    }
            
                    // Write setpoint temperature to target
                    let StateName = room.target + ".temperatur_sollwert";
                    if(!existsState(StateName)) {
                        createState(StateName, t_setpoint);
                    };
                    setState(StateName, t_setpoint);
            
                });
                
            }
            

            In der Variable home.rooms müssen nur die RoomClimateControl-Pfade der gewünschen Thermostate/Räume im bshb-Adapter angegeben werden (= source). Außerdem die gewünschten Zielordner zu den Räumen/Thermostaten, in denen dann ein Objekt "temperatur_sollwert" erzeugt und fünfminütlich aktualisiert wird (= target).

            Ob das Script mit anderen Bosch Smart Home Heizkörper- und Fußbodenheizungsthermostaten auch klappt, weiß ich leider nicht.

            Verbesserungen werden gerne genommen!

            1 Reply Last reply Reply Quote 0
            • F
              firebowl last edited by

              Mal ne blöde Frage, wie werden denn die Datenpunkte aktualisiert?
              Ist das ein fester Abfrageintervall oder kommt das per "Push" vom Controller?
              Ich benutze den Adapter heatingcontrol und habe das Problem das die Daten der IST Temperatur der Bosch Thermostate teilweise über Stunden nicht aktualisiert werden.
              Also im bshb werden die Daten nicht aktualisiert was irgendwie nicht sein kann weil sich die Temperatur doch regelmäßig mal ändert.

              bshb.0.roomClimateControl_hz_6.TemperatureLevel.temperature
              
              bshb.0.hdm:HomeMaticIP:3014F711A000005BB85E0EBA.TemperatureLevel.temperature
              

              Ich bin mir auch nicht sicher welcher der DP der richtige wäre. Aber beide werden unregelmäßig aktualisiert.

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

                @firebowl
                Hi. Es gibt keine blöden Fragen 😉

                Änderungen werden per Push vom Controller an den Adapter geschickt. Alle push Nachrichten sind in dem Objekt updates zu sehen. Um zu prüfen, ob bei dir mit dem Updates alles stimmt kannst du einfach mal in dem Controller Objekt reinschauen. Also der Ordner mit der mac-Adresse. Sollte ganz oben stehen mit xx-xx-xx-xx-xx-xx. Dort dann remote access öffnen und den state beobachten. Dann in der Smartphone App einfach diese Einstellung ändern und es sollte sich nahezu sofort im Adapter auch ändern.

                Ansonsten könnte es noch ein Bug im Adapter sein. Ich kann mal einen Temperaturwert aufnehmen und schauen, ob er sich ändert.

                F 1 Reply Last reply Reply Quote 0
                • F
                  firebowl @holomekc last edited by

                  @holomekc Danke für die schnelle Antwort. Glaub ich hab mich missverständlich ausgedrückt. Änderungen werden sofort übernommen. Was scheinbar (teilweise) verzögert ankommt sind Temperaturwerte von den Thermostaten über den Controller zum ioBroker.

                  Als Beispiel:
                  ec1afcc9-d702-4fa6-ac20-b2dc15c734f7-image.png

                  Laut dem Datenpunkt wurde der Wert zuletzt vor einer Stunde aktualisiert bzw. geändert. Bin mir aber sehr sicher das sich die Temperatur in der letzten Stunde mal geändert hat.

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    holomekc @firebowl last edited by holomekc

                    @firebowl
                    Sieht für mich nicht so aus:
                    7fcae353-8642-4274-b9be-59b9dce0c8ad-image.png
                    Es scheint aber nicht wirklich regelmäßig zu sein. Ich hab 3 Thermostate angeschlossen. 1 hat sich gar nicht gemeldet bisher. Die anderen beiden schon. Den gelben Wert hatte ich mal auf Boost gestellt. Daher vielleicht mehr Punkte. Ich weiß nicht. Ich kann das aber auch nicht wirklich beeinflussen. Theoretisch könnte ich etwas basteln mit dem man ein Abholen der Daten triggern kann. Obwohl das eigentlich nicht nötig sein sollte.

                    Edit: Ich kann mir das noch einmal am Wochenende genauer anschauen. Vielleicht übersehe ich was.

                    F 1 Reply Last reply Reply Quote 0
                    • F
                      firebowl @holomekc last edited by

                      @holomekc Wär cool wenn Du dir das mal anschauen würdest. Ist aber nicht mega dringend. 😉 Die andere Baustelle die ich momentan habe ist viel schlimmer. Dafür brauch ich zwar die Werte aber egal ob die aktuell sind oder nicht, mit ihnen wird vom heatingcontrol Adapter der Offset falsch berechnet und deshalb wird es hier brühwarm.

                      1 Reply Last reply Reply Quote 0
                      • jrbwh
                        jrbwh last edited by

                        Seit einigen Tagen scheint die Verbindung zu den Bosch-Eyes-Kameras bei mir nicht mehr zu funktionieren. Zustände werden nicht aktualisiert, wenn ich einen Zustand im Adapter ändere, z.B. Licht auf ON, kommt die Fehlermeldung "BshbError: call to BSHC failed with HTTP status=503". Das Licht wird nicht eingeschaltet.
                        Die Verbindung und Steuerung einer Hue-Lampe über den BSHB funktioniert aber einwandfrei.
                        Die Instanz ist grün und ein Neustart produziert im Debug-Mode keine Warnungen oder Fehlermeldungen.
                        Vermutlich ist das Problem bei einem Firmware-Update des Smart-Home-Controllers entstanden. Jetzt läuft die Firmware 10.11.2707-27846. Bin aber nicht sicher, ob es damit zusammenhängt, weil ich das Problem erst nach einigen Tagen bemerkt habe.

                        jrbwh 1 Reply Last reply Reply Quote 0
                        • jrbwh
                          jrbwh @jrbwh last edited by

                          Problem gelöst. Nach dem Firmware-Update muss man die Bosch-ID mit den Kameras verknüpfen. Das geht in der App des Smart Home Controllers über "Mehr -> Partner -> Bosch Kameras".
                          Sorry, erst jetzt kapiert.
                          Gruß, Jürgen

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

                            @holomekc
                            Hi,

                            ich habe via Bosch Smart Home App den Namen eines Gerätes geändert. Was wäre der richtige Weg um diese Änderung in den Objekten zu sehen.

                            Ein Weg der funktioniert:

                            • Adapter Instanz anhalten
                            • Geräte Objekt löschen (löscht alle Datenpunkte mit)
                            • Adapter neu starten

                            => jetzt wird das Geräte Objekt samt Datenpunkten automatisch wieder angelegt und die gemachte Änderung auch übernommen. Tolles feature.

                            Es gibt allerdings einen kleinen Nachteil: die Konfiguration des sql Adapters für dieses Objekt ist weg und muss neu erstellt werden. Das ist bei einem einzelnen Objekt kein Problem, bei einer Änderung des Namens Schemas und damit Änderung von 20-30 Geräten viel manueller Aufwand.

                            Gibt es eine bessere Lösungsmöglichkeit die ich übersehen habe?

                            Viele Grüße
                            Hartmut

                            H 1 Reply Last reply Reply Quote 0
                            • H
                              holomekc @hvb last edited by

                              @hvb
                              Hi aktuell gibt es keinen anderen Weg als den von dir beschriebenen. Der Adapter prüft nur, ob ein Objekt existiert und falls ja fasst dieser es nicht mehr an. Nur bei neu angelegten Objekten passiert das. Um das komfortabler zu machen müsste ich eine art Schalter einbauen, welches bei existierenden Objekten zusätzlich einige Infos wieder ersetzt. Am besten wäre vermutlich selektiv:Namen, Räume usw. auswählen zu können.

                              H 1 Reply Last reply Reply Quote 0
                              • H
                                hvb @holomekc last edited by

                                @holomekc

                                Danke für die schnelle Rückantwort. Wäre tatsächlich ein schönes Update. Bis dahin Versuch ich mir mal anders zu helfen oder mach es halt manuell.

                                Aber sonst super Adapter. Mit Jarvis und ein wenig JavaScript lassen sich da tolle Visualisierungen incl. Historie bauen.

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

                                  Hi zusammen

                                  Ich hab Mal eine Frage und weiss gar nicht ob der Adapter der richtige für mich ist.

                                  Vorab ich aber eine Junkers / Bosch condens 7000
                                  Dazu habe ich ein Bosch CT 200 als Gateway genommen. Dieser CT 200 ist mit einer Bus Leitung an die Therme angeschlossen.

                                  Für den CT 200 nutze ich allerdings nicht die Bosch smart Home App sondern die Bosch Easy Control App.

                                  Kann ich den Adapter mit der App bzw mit dem ct200 überhaupt nutzen oder muss ich einen anderen Adapter nutzen ?

                                  Danke für die Hilfe

                                  H 1 Reply Last reply Reply Quote 0
                                  • H
                                    holomekc @Hohenbostler last edited by

                                    @hohenbostler
                                    Hi. Diese Adapter kann nur mit dem Bosch Smart Home Controller I und II sprechen. Ich weiß gerade gar nicht, ob es etwas für easy Control gibt.

                                    H 1 Reply Last reply Reply Quote -1
                                    • H
                                      Hohenbostler @holomekc last edited by

                                      @holomekc OK danke dir. 😉

                                      H 1 Reply Last reply Reply Quote 0
                                      • H
                                        holomekc @Hohenbostler last edited by

                                        Version 0.2.4 ist jetzt in GitHub und npm verfügbar. Mit dem Update in stable warte ich noch ein bissle:

                                        • ClimateSchedule ist jetzt unter roomClimateControl_hz_... zu finden. Dort werden die in der App erstellten Klima Zeitpläne angezeigt und diese können dann dort auch aktiviert werden.
                                        • IntrusionDetectionControl zeigt mehr Informationen an. Zeigt diese aber auch nur an. Die neuen Werte können nicht verändert werden. Die veränderbaren Werte waren aber auch schon immer unter intrusionDetectionSystem
                                        • Node 16 ist Vorraussetzung
                                        • Aufräumarbeiten
                                        1 Reply Last reply Reply Quote -1
                                        • M
                                          Matthias I last edited by

                                          Hallo zusammen,

                                          leider erhalte ich bei dem Versuch den Adapter zu installieren folgende Fehlermeldung:

                                          $ iobroker add bshb --host raspberrypi4-iobroker
                                          
                                          Installing iobroker.bshb@0.2.4... (System call)
                                          
                                          host.raspberrypi4-iobroker Cannot install iobroker.bshb@0.2.4: 1
                                          
                                          ERROR: Process exited with code 25
                                          

                                          Könnt ihr mir sagen, wo das Problem liegt?

                                          1 Reply Last reply Reply Quote 0
                                          • W
                                            warhammer73 last edited by warhammer73

                                            Da ich beim durchscrollen keine Lösung gefunden habe:
                                            Hat jemand eine Lösung gefunden wie man wenigstens die Meldungen über schlechte Batterien ausgewertet bekommt? Sowas wie "Good" scheint es ja nicht zu geben, sondern nur eine Warnung in der App wenn bei einem Gerät die Batterien eben nicht mehr gut sind.

                                            ... bzw: Wie sieht das dann denn im Objektbaum aus?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            477
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            bosch
                                            85
                                            437
                                            87078
                                            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