Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [Workarround] GoogleHome integration iObroker mit hilfe von OpenHab

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    905

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[Workarround] GoogleHome integration iObroker mit hilfe von OpenHab

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
27 Beiträge 5 Kommentatoren 4.2k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A Offline
    A Offline
    A3BWA
    schrieb am zuletzt editiert von
    #21

    Ich hab das gleiche mit meinem HM Dimmer. Extra für mich muss das nicht sein. Funktioniert ja auch so sehr gut und wenn man die Heizung per Sprache bedient fällt es auch nicht auf. Ist halt die Frage wie lange sich google noch anstellt mit der nativen Einbindung.

    Solltest du dich natürlich dafür entscheiden, dann sag bescheid, ich teste gerne ;)

    1 Antwort Letzte Antwort
    0
    • DutchmanD Offline
      DutchmanD Offline
      Dutchman
      Developer Most Active Administrators
      schrieb am zuletzt editiert von
      #22

      Ich schau ob ich dafür Zeit habe, denke Mal die Home Anbindung dauert noch ein bissl

      Sent from my iPhone using Tapatalk

      1 Antwort Letzte Antwort
      0
      • A Offline
        A Offline
        A3BWA
        schrieb am zuletzt editiert von
        #23

        Hi Dutchman, nach einigen Tagen Dauertest und alles ausprobieren, fallen mir noch zwei merkwürdige Dinge auf.

        1. Stelle ich die Heizung per Sprache auf eine Temperatur sagt google "Der Anbieter openHAB kann icht erreicht werden" die Temperatur wird aber in 9 von 10 Fällen gesetzt. in dem einen Fall bei dem es nicht funktioniert reicht ein sync der Geräte. Die Rückmeldung bleibt jedoch die gleiche. Die Temperaturen können aber jederzeit abgefragt werden.

        2. Beim Ausführen einer GoogleHome-Routine wird eine Lampe als "the Arbeitsplatte" bezeichnet und ist nicht erreichbar. Eingebunden und bennant ist sie jedoch korrekt als "Arbeitsplatte" und lässt sich aus der App als auch per Sprache wunderbar bedienen. Komisch das ganze.

        Zusätzlich habe ich noch eine Frage: Ich möchte per Sprache den Eingang meines AVR schalten. Dafür habe ich 3 Schalter (je einer Pro Quelle am AVR) in openAHB und iobroker angelegt und eingebunden. Das manuelle Umschalten funktioniert super, sowohl per Sprache als auch per APP oder per ioBroker. Wenn ich google jetzt sage er soll spotify auf dem chromecast abspielen, wird der Eingang nicht sauber geschaltet und es kann zum endlosen durchlaufen des Skrips führen, dass die Die Zustände der Objekte synchronisiert. Wie hast du soche Fälle gelöst?
        10000_1.png
        10000_2.png

        1 Antwort Letzte Antwort
        0
        • H Offline
          H Offline
          Hamboo
          schrieb am zuletzt editiert von
          #24

          Hi Dutchman,

          Als erstes, vielen Dank für diese Eintrag, gut Inspiration :)
          Als zweites, entschuldigung für meine deutsche Sprache, bin auch Holländer....

          Ich habe schon für einzige Zeit OpenHab gebraucht weil es für OpenHab, Google Assistant unterstützung gibt. Seit 2 Wochen spiele ich herum mit ioBroker und habe, gleich wie du, gedacht OpenHab noch immer zu gebrauchen für die Kommunikation mit Google.
          Auch will ich gerne das Basic UI von OpenHAB auf meinem Handy nutzen. So verzögerungen zwichen OH and ioBroker müssen wie kurz wie möglich sein.

          Befor ich diese eintrag von dir gefunden habe, habe ich per script, 2 states direkt mit einander verknüpft.

          on(OHobjname,IOobjname);
          on(IOobjname,OHobjname);
          

          Ich hatte erwartet das dies zu einem "endless loop" führen sollte, weil die 2 States einander anstoßen, aber dies funktioniert allerdings Prima. Die states werden in beide Richtungen sofort übernommen.

          Die "naming convention" für die items in OpenHab habe ich von dir übernommen um automatisch die states zu verknüpfen :)

          Ich habe jetzt das folgendes script, was Prima funktioniert:

          var AllOpenHABChannels = $('state[id=openhab.0.items.*]');
          
          AllOpenHABChannels.each(function(obj) {   
                  var OHobjname = obj
          
                  var IOobjname = getObject(obj).native.name
          
                  var find = ["____"];
                  var replace = ['#'];
                  IOobjname = replaceStr(IOobjname, find, replace);
          
                  find = ["___"];
                  replace = ['-'];
                  IOobjname = replaceStr(IOobjname, find, replace);
          
                  find = ["__"];
                  replace = ['.'];
                  IOobjname = replaceStr(IOobjname, find, replace);
          
                  log("Linking OpenHAB: " + OHobjname + " to: " + IOobjname + " writable: " + getObject(IOobjname).common.write);
                  
                  // only link writable items in ioBroker to OpenHab        
                  if (getObject(IOobjname).common.write) {
                    on(OHobjname,IOobjname);
                  }
          
                  on(IOobjname,OHobjname);
          
          });
          
          // Replacement function to items where reguar replace with split fails 
          function replaceStr(str, find, replace) {
              for (var i = 0; i < find.length; i++) {
                  str = str.replace(new RegExp(find[i], 'gi'), replace[i]);
              }
              return str;
          }
          

          Weil ich gerade angefangen bin mit ioBroker möchte ich gerne deine Meinung haben. Habe ich Sache übersehen?

          DutchmanD 1 Antwort Letzte Antwort
          0
          • H Hamboo

            Hi Dutchman,

            Als erstes, vielen Dank für diese Eintrag, gut Inspiration :)
            Als zweites, entschuldigung für meine deutsche Sprache, bin auch Holländer....

            Ich habe schon für einzige Zeit OpenHab gebraucht weil es für OpenHab, Google Assistant unterstützung gibt. Seit 2 Wochen spiele ich herum mit ioBroker und habe, gleich wie du, gedacht OpenHab noch immer zu gebrauchen für die Kommunikation mit Google.
            Auch will ich gerne das Basic UI von OpenHAB auf meinem Handy nutzen. So verzögerungen zwichen OH and ioBroker müssen wie kurz wie möglich sein.

            Befor ich diese eintrag von dir gefunden habe, habe ich per script, 2 states direkt mit einander verknüpft.

            on(OHobjname,IOobjname);
            on(IOobjname,OHobjname);
            

            Ich hatte erwartet das dies zu einem "endless loop" führen sollte, weil die 2 States einander anstoßen, aber dies funktioniert allerdings Prima. Die states werden in beide Richtungen sofort übernommen.

            Die "naming convention" für die items in OpenHab habe ich von dir übernommen um automatisch die states zu verknüpfen :)

            Ich habe jetzt das folgendes script, was Prima funktioniert:

            var AllOpenHABChannels = $('state[id=openhab.0.items.*]');
            
            AllOpenHABChannels.each(function(obj) {   
                    var OHobjname = obj
            
                    var IOobjname = getObject(obj).native.name
            
                    var find = ["____"];
                    var replace = ['#'];
                    IOobjname = replaceStr(IOobjname, find, replace);
            
                    find = ["___"];
                    replace = ['-'];
                    IOobjname = replaceStr(IOobjname, find, replace);
            
                    find = ["__"];
                    replace = ['.'];
                    IOobjname = replaceStr(IOobjname, find, replace);
            
                    log("Linking OpenHAB: " + OHobjname + " to: " + IOobjname + " writable: " + getObject(IOobjname).common.write);
                    
                    // only link writable items in ioBroker to OpenHab        
                    if (getObject(IOobjname).common.write) {
                      on(OHobjname,IOobjname);
                    }
            
                    on(IOobjname,OHobjname);
            
            });
            
            // Replacement function to items where reguar replace with split fails 
            function replaceStr(str, find, replace) {
                for (var i = 0; i < find.length; i++) {
                    str = str.replace(new RegExp(find[i], 'gi'), replace[i]);
                }
                return str;
            }
            

            Weil ich gerade angefangen bin mit ioBroker möchte ich gerne deine Meinung haben. Habe ich Sache übersehen?

            DutchmanD Offline
            DutchmanD Offline
            Dutchman
            Developer Most Active Administrators
            schrieb am zuletzt editiert von
            #25

            @Hamboo sagte in [Workarround] GoogleHome integration iObroker mit hilfe von OpenHab:

            Als zweites, entschuldigung für meine deutsche Sprache, bin auch Holländer....

            :grinning: dan ist dein deutsch aber sehr gut !

            @Hamboo sagte in [Workarround] GoogleHome integration iObroker mit hilfe von OpenHab:

            Weil ich gerade angefangen bin mit ioBroker möchte ich gerne deine Meinung haben. Habe ich Sache übersehen?

            Soweit ich die replace function beurteilen kan sieht es ok aus und sollte so gehen.
            Du synchronisierst jetzt aber nur zu einer Seite ?

            1 Antwort Letzte Antwort
            0
            • Peter1980FFMP Offline
              Peter1980FFMP Offline
              Peter1980FFM
              schrieb am zuletzt editiert von
              #26

              @Dutchman,
              ich habe jetzt einen Komplett neuen Raspi mit IO Broker und Openhab aufgesetzt, wenn ich eine Staus in Google Home Ändere, wird dieser auch an das Gerät im IO Broker weiter gegeben, jedoch werden keine Werte zurück in den OpenHab gespielt...
              Hier die System Infos:
              Plattform: linux
              Die Architektur: arm
              CPUs: 4
              Geschwindigkeit: 1500 MHz
              Modell: ARMv7 Processor rev 3 (v7l)
              RAM: 3.8 GB
              System uptime: 14 T. 00:18:00
              Node.js: v10.16.3
              NPM: 6.9.0
              Festplattengröße: 28.9 GiB
              Festplatten frei: 18.8 GiB
              Adapter zählen: 258
              Uptime: 14 T. 00:18:01
              Aktivierte Instanzen: 24
              db1ac791-6dc2-4898-b922-5f06cc6bbb0a-image.png
              3cc87ec4-42bb-4177-bcf8-1cf60e0865bf-image.png
              Und hier das LOG:
              javascript.0 2019-10-27 12:42:05.882 error script.js.Openhab_neu: Previous change of device hm-rpc.2.000C9A498BC044.1.SET_POINT_TEMPERATUREless than 5 seconds ago, ignoring value change
              javascript.0 2019-10-27 12:42:05.815 error script.js.Openhab_neu: Previous change of device hm-rpc.2.000C9A498BC044.1.SET_POINT_TEMPERATUREless than 5 seconds ago, ignoring value change
              javascript.0 2019-10-27 12:42:05.774 info script.js.Openhab_neu: Value of item in OpenHab change, syncronizing to device hm-rpc.2.000C9A498BC044.1.SET_POINT_TEMPERATURE with value : 19
              javascript.0 2019-10-27 12:40:45.167 info script.js.Openhab_neu: ###### OpenHab connection = true , ready for processing data ######
              javascript.0 2019-10-27 12:40:45.167 info script.js.Openhab_neu: #####################################################################################################
              javascript.0 2019-10-27 12:40:45.167 info script.js.Openhab_neu: #####################################################################################################
              javascript.0 2019-10-27 12:40:45.167 info script.js.Openhab_neu: #####################################################################################################
              javascript.0 2019-10-27 12:40:45.167 info script.js.Openhab_neu: ############### OpenHab connection = true , ready for processing data ##################
              javascript.0 2019-10-27 12:40:45.167 info script.js.Openhab_neu: #### Syncronisation finished, 0 devices and their current states syncronised to OpenHab #####
              javascript.0 2019-10-27 12:40:45.166 info script.js.Openhab_neu: #####################################################################################################
              javascript.0 2019-10-27 12:40:45.166 info script.js.Openhab_neu: #####################################################################################################
              javascript.0 2019-10-27 12:40:45.166 info script.js.Openhab_neu: #####################################################################################################
              javascript.0 2019-10-27 12:40:45.166 error script.js.Openhab_neu: Item openhab.0.items.undefined Does not exist, please create item in OpenHab
              javascript.0 2019-10-27 12:40:45.166 warn Object "openhab.0.items.undefined" does not exist
              javascript.0 2019-10-27 12:40:45.166 info script.js.Openhab_neu: Value of undefined written to openhab.0.items.undefined || with value null
              javascript.0 2019-10-27 12:40:45.166 warn at Timer.processTimers (timers.js:223:10)
              javascript.0 2019-10-27 12:40:45.165 warn at listOnTimeout (timers.js:263:5)
              javascript.0 2019-10-27 12:40:45.165 warn at tryOnTimeout (timers.js:300:5)
              javascript.0 2019-10-27 12:40:45.165 warn at ontimeout (timers.js:438:13)
              javascript.0 2019-10-27 12:40:45.165 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1869:34)
              javascript.0 2019-10-27 12:40:45.165 warn at Object.<anonymous> (script.js.Openhab_neu:82:133)
              javascript.0 2019-10-27 12:40:45.164 warn getState "undefined" not found (3)
              javascript.0 2019-10-27 12:40:45.164 info script.js.Openhab_neu: Device name undefined translated to undefined
              javascript.0 2019-10-27 12:40:45.164 warn at Timer.processTimers (timers.js:223:10)
              javascript.0 2019-10-27 12:40:45.164 warn at listOnTimeout (timers.js:263:5)
              javascript.0 2019-10-27 12:40:45.163 warn at tryOnTimeout (timers.js:300:5)
              javascript.0 2019-10-27 12:40:45.163 warn at ontimeout (timers.js:438:13)
              javascript.0 2019-10-27 12:40:45.163 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1869:34)
              javascript.0 2019-10-27 12:40:45.163 warn at Object.<anonymous> (script.js.Openhab_neu:72:30)
              javascript.0 2019-10-27 12:40:45.162 warn getState "undefined" not found (3)

              Eine Idee warum es nicht geht?

              1 Antwort Letzte Antwort
              0
              • DutchmanD Offline
                DutchmanD Offline
                Dutchman
                Developer Most Active Administrators
                schrieb am zuletzt editiert von
                #27

                Nachdem es jetzt möglich ist Google Home über den iot Adapter ein zu binden Pflege ich dieses Script nicht mehr :)

                1 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate
                FAQ Cloud / IOT
                HowTo: Node.js-Update
                HowTo: Backup/Restore
                Downloads
                BLOG

                314

                Online

                32.6k

                Benutzer

                82.2k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe