Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Mygekko in ioBroker einbinden mit Parser

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Mygekko in ioBroker einbinden mit Parser

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

      Hallo zusammen,

      vielleicht bin ich ja nicht der einzigste den das Thema interessiert.

      Ich habe als SmartHome Lösung Homematic und ein paar Steckdosen die ich ja wunderbar über ioBroker zusammenfügen kann.

      Leider habe ich auch noch ein Drittsystem was damals beim Hausbau incl. war.

      Temparatursteuerung und Lüftungssteuerung läuft über das mygekko System. Jetzt will ich versuchen die Daten von mygekko in ioBroker einzubinden.

      Also ich will hier nichts steuern sondern ich will nur die Daten auslesen und in mygekko angezeigt bekommen. Der nächste Schritt wäre natürlich eine Visualisierung 🙂

      … also ich bin inzwischen soweit das ich die Temperaturdaten ausgelesen habe. Dann habe ich gesehen das es den Parser Adapter gibt womit ich eigentl. alles einbinden könnte. Aber hier hänge ich jetzt

      Folgender Status:

      hier habe ich die URL zu dem Status meiner Daten angegeben

      https://192.168.XXX/api/v1/var/roomtemp ... word=XXXXX :arrow:

      (item0 ist in meinem Fall Temp. Wohnzimmer)

      15476_bildschirmfoto_2019-01-15_um_18.59.00.png

      anschließend den Code und die RegEX eingefügt:

      15476_bildschirmfoto_2019-01-15_um_18.57.55.png
      15476_bildschirmfoto_2019-01-15_um_19.13.43.png

      Ergebnis stimmt …. ich will 20,7 ausgegeben bekommen:

      wenn ich bestätige kommt immer wieder Error

      15476_bildschirmfoto_2019-01-15_um_18.58.21.png

      und ich bekomme unter Objekte im Parser Adapter Ordner auch keine Werte ausgegeben.

      Hat noch einer eine Idee?

      Daaaanke 🙂

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        ich glaube nicht, dass 20.7 ein json ist

        Gruß

        Rainer

        1 Reply Last reply Reply Quote 0
        • I
          icecube last edited by

          Hallo Reiner,

          habe ich auch aus einer Beschreibung.. weißt du was es sein soll?

          zur Auswahl habe ich noch folgende:

          boolean

          number.

          number,

          string

          vorab danke

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators last edited by

            Da bei dir 20.7 herauskommt, würde ich @icecube:

            number. ` probieren.

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • I
              icecube last edited by

              habe alle durch 😉 … scheint wohl ein anderer Fehler zu sein ;-(

              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators last edited by

                Zieh mal den Quelltext der Website

                Wenn der nicht zu groß ist bitte in Code und SPoiler Tags posten

                Irgendwelche persönliche Daten unsichtbar machen

                Gruß

                Rainer

                1 Reply Last reply Reply Quote 0
                • I
                  icecube last edited by

                  anbei der komplette Quelltext der URL .. eigentl. nicht viel - ich denke hier liegt das problem nicht selbst, vermutlich irgendeine andere falsche Einstellung .. danke schonmal für deine Unterstützung

                  }

                  {
                  	"sumstate":	{
                  		"value":	"20.89999961853027;20.98;41.81;8;1;-0.02;0;"
                  	}
                  
                  1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators last edited by

                    Probier mal:

                    :\s+"([^\;]+)
                    
                    1 Reply Last reply Reply Quote 0
                    • I
                      icecube last edited by

                      leider nein …welche werte kommen denn so standardmäßig bei Default Poll-Intervall und Intervall hin?

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators last edited by

                        Die Werte die du bei allen Regex haben willst bei default (in Millisekunden) bei einzelnen, die andere Intervalle haben sollen dann in die Zeile.

                        Daran liegt es aber nicht.

                        Stell mal die Instanz auf loglevel debug und sie dann nach was im log steht

                        1 Reply Last reply Reply Quote 0
                        • I
                          icecube last edited by

                          ohh man … hätte ich auch mal selbst drauf kommen können ... sorry blutiger Anfänger 🙂

                          aber wenn ich den Link genau so kopiere und im Browser eingebe bekomme ich den eben mitgeteilten Code ausgegeben.

                          Error: self signed certificate

                          2019-01-15 21:01:17.282 - [33mwarn[39m: parser.0 Cannot read link "https://192.168.178.~~[color=#FF0000]~~XX/api/v1/var/roomtemps/item0/status/?username=XXXXX&password=XXX": Error: self signed certificate

                          1 Reply Last reply Reply Quote 0
                          • I
                            icecube last edited by

                            ahhhh hab jetzt auch verstanden das der Quelltext automatisch kommen muss und ich den nicht einmalig reinkopieren muss.

                            aber das Feld ist bei der URL auch leer

                            1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators last edited by

                              Genau!

                              du solltest ihn mir nur geben, damit ich ein RegEx basteln konnte

                              1 Reply Last reply Reply Quote 0
                              • I
                                icecube last edited by

                                aber wenn die URL im browser genau zu dem Code führt .. wieso nicht im Parser Adapter ..wie kann das möglich sein?

                                1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators last edited by

                                  wenn der parser Adapter nicht auf die Website kommt weil der Schlüssel fehlt, kann er auch nichts auslesen

                                  1 Reply Last reply Reply Quote 0
                                  • I
                                    icecube last edited by

                                    was meinst du mit Schlüssel?

                                    der Adapter muss doch mit User und Passwort genauso auf die Seite kommen wie ein browser oder versteh ich was falsch?

                                    1 Reply Last reply Reply Quote 0
                                    • I
                                      icecube last edited by

                                      ich habs geschafft …. frag mich nicht was ich verändert habe, aber jetzt klappts

                                      @Homoran: ich danke dir für deine Hilfe .. hast mir auf jeden Fall geholfen!!

                                      1 Reply Last reply Reply Quote 0
                                      • I
                                        icecube last edited by

                                        Eine Frage hätte ich doch noch …. beim abfragen der Werte habe ich komischerweise 2 Ausgabevarianten

                                        einmal

                                        ` > "sumstate": {

                                        "value": "21.29999923706055;18.00;0.00;16;1;-0.02;0;" `

                                        und einmal

                                        ` > "sumstate": {

                                        "value": "21;18.00;0.00;16;1;-0.02;0;" `

                                        und ich will jeweils die ersten beiden Zahlen + die zwei Zahlen hinter dem Komma, also beim erste Beispiel 21,29

                                        beim zweiten Beispiel wenn der Wert glatt ist in dem Fall 21 werden mir irgendwie nicht die Stellen hinter dem Komma angezeigt, eigentl. müsste es ja heißen 21,0000000.

                                        @Homoran du hast mir ja :\s+"([^;]+) empfohlen, das funktioniert ja eigentl. nur gibt er mir ja dann den kompletten Wert bis zum ; aus.

                                        Im zweiten Fall super, aber im ersten Fall wäre cool wenn er nach 2 Kommastellen abbrechen wird.

                                        Eine Idee ? ich kenn mich leider nicht mir Regexe aus 😞 … habe aber auch schon anhand einer Liste versucht aber das wird nix 😉

                                        Danke

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          sasma83 last edited by

                                          Hallo,

                                          ich bin auch gerade dabei mein Gekko mit dem IoBroker zu verbinden…Begonnen habe ich gerade mit dem auslesen der Raumtemperaturen.

                                          Zuerst hab ich das auch über den parser und den reghex probiert aber fand, dass dann ja auch eine Krücke ist... da du ja alle Räume auch einzeln und dann wahrscheinlich noch doppelt wegen Soll und Ist werten abfragen willst.

                                          Ich hab das jetzt so gelöst, dass ich alle Temperaturen einmal pro Minute mit dem JavaScript abfrage ('http://myGekkoIP/api/v1/var/roomtemps/s ... ssword=xxx')

                                          und dann die Werte auf meine angelegten Objekte verteile. Über JS bekommst du die Werte dann mit "getAttr" und "split" sehr gut aufgeteilt.

                                          Meine nächsten Punkte sind dann

                                          • werte setzen

                                          • Lüftungsanlage lesen und setzen

                                          • PV auslesen

                                          anbei mal der beispielhafte code. Falls jemand ein paar verbesserungen hat gerne! (Bin leider kein Programmierer; gerade der replaceTeil is nur ne krücke und sorgt dafür dass unter homekit die Schaltzustände der Heizung zu sehen sind)

                                          function holedaten () {
                                          
                                              var url = 'http://MyGekkoIP/api/v1/var/roomtemps/status?username=xxx&password=xxx'
                                              request(url, function (err, state, body){
                                                  if (body) {
                                                      log (body)           
                                                      var rt0 = getAttr(body, 'item0.sumstate.value');
                                                      var rt0 = rt0.split(';');
                                          
                                                      setState("MyGekko.0.Temp_Kueche_Ist", rt0[0], true);
                                                      setState('MyGekko.0.Temp_Kueche_Soll', rt0[1], true);
                                                      setState('MyGekko.0.Temp_Kueche_HK', rt0[2], true);
                                                      var input = rt0[3]
                                                      var in1 = input.replace('16', '2')
                                                      var in2 = in1.replace('8', '1')
                                                      var output = in2.replace('1', '0')
                                                      setState('MyGekko.0.Temp_Kueche_Stat', output, true);         
                                          
                                                  } else {
                                                      log('Request meldet Fehler:' + err, 'error');
                                                  }
                                          
                                           });
                                          }
                                          
                                          schedule('* * * * *' , function(){ 
                                              holedaten();
                                          }); 
                                          
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            sasma83 last edited by

                                            Ich habe noch eine besser Lösung gefunden… ich dachte dass dies mit Blockly nicht lösbar ist... aber doch es geht:

                                            Anbei das Beispiel: Hier wird die Aussentemperatur / Humidty sowie die Werte der einzelnen Zimmer ausgelesen und auf meine angelegten Objekte geschrieben.

                                            18109_iobroker.jpg

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

                                            Support us

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

                                            719
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            21
                                            1393
                                            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