Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Meater Grillthermometer: Script und VIS

    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

    Meater Grillthermometer: Script und VIS

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

      Update 04.12.2022:
      Es gibt mittlerweile einen Adapter, der einige Verbesserungen enthält. Hier entlang bitte.

      Original-Post:
      Hallo zusammen,

      ich habe mich mal ein wenig damit beschäftigt, mein Meater-Grillthermometer in ioBroker, bzw. VIS zu bringen. Dabei entstanden sind ein Script, das die Daten aus der Cloud abruft und in Datenpunkte speichert, sowie eine kleine und eine große Variante zur Darstellung in VIS.

      _screenshot.png

      Ich bin bis jetzt eigentlich ganz zufrieden damit, aber es bedarf noch einigem Feintuning. So werden die Daten einfach stumpf aller 5 Sekunden von der Cloud abgerufen, sobald das Script gestartet wird. In der endgültigen Version soll das so funktionieren, dass im "Normalbetrieb" aller 30 Sekunden abgerufen wird, sobald jedoch der Kochvorgang beginnt aller 2 Sekunden.

      Ich bin mir noch nicht so sicher ob es wirklich klug ist, alle Datenpunkte zu leeren, die zuletzt nicht übertragen wurden. In meinen Tests klappte das gut, aber ab das in der Praxis so toll ist habe ich noch nicht herausgefunden. In VIS sieht das auch komisch aus, aber lieber keine Daten, als alte/falsche/eingefrorene Daten.

      Versteht das bitte als ersten Wurf, den ich hier mit euch teile. Das Ziel ist später einen Adapter daraus zu machen, darin muss ich mich jedoch erstmal einlesen. Es gibt noch einiges zu tun, aber vielleicht mag ja jemand schonmal damit experimentieren. Wer mag darf auch gerne Feedback geben.

      Download: bei Github
      Den Code aus meater-script.js kopiert ihr einfach im Script-Adapter in ein neues Javascript. Ihr müsst eure Zugangsdaten für die Meater-Cloud eintragen und das Script starten, dann sollte das eigentlich auch direkt funktionieren.

      Im Order VIS findet ihr:

      • die Widgets zum direkten Import in VIS (verwendet Material-Design-Widgets)
      • CSS-Code, der einfach im CSS-Tab im VIS-Editor eingefügt wird
      • das Meater-Logo, das über den Dateimanager hochgeladen werden kann

      Tipp: falls ihr beim Testen keine Daten erhaltet:

      1. Kochvorgang mit der App starten (muss immer getan werden, sonst werden auch keine Geräte übertragen)
      2. Wenn dann noch nichts kommt, das Thermometer mal in warmes/heißes Wasser stellen. Bei meinem ersten Versuch hat das Erwärmen mit der Hand nicht gereicht, bei allen darauffolgenden jedoch schon (so ein Hinweis steht auch in der API-Beschreibung von Meater)
      G T 2 Replies Last reply Reply Quote 1
      • G
        guergen @Hiltex last edited by guergen

        @hiltex Hi, hab das grade mal eingetragen... leider bekomme ich in der CSS ein paar Fehler:
        expecte RBRACE at line xxx col5.

         --color-kachel-on-foreground:       #333;
        

        auch in den weiteren Zeilen. Ausserdem einige Warnungen auf Grund des "!important"

        Hiltex 1 Reply Last reply Reply Quote 0
        • Hiltex
          Hiltex @guergen last edited by

          @guergen
          Der Code-Editor in VIS ist nicht auf dem neusten Stand, was CSS angeht. Variablen akzeptiert er grundsätzlich nicht, obwohl das bei CSS so vorgesehen ist.

          Das !important ist dem geschuldet, dass ich das an andere Stelle zwingend benötige. Leider schreiben einige Widgets ihre Formatierung direkt in den Quelltext, was sich dann nur damit überschreiben lässt.

          Der mitgelieferte CSS-Code ist nur ein Bruchteil dessen, was ich in meiner VIS verwende. Du kannst ihn ja an deine Bedürfnisse anpassen. Ich dachte nur, dass es dem einen oder anderen vielleicht den Einstieg erleichtern würde.

          Funktionieren sollte trotzdem alles, auch wenn der Editor manche Stellen bemängelt.

          G 1 Reply Last reply Reply Quote 0
          • G
            guergen @Hiltex last edited by guergen

            @hiltex OK was die CSS angeht.
            Allerdings habe ich den Meater in der App, musste mich neu auf der Webseite neu anmelden. Allerdings bekomme ich keine Daten.
            Was fehlt noch?
            Ich bekomme unter status unauthorized

            Edit:
            Es geht, allerdings hatte die Cloud meine Zugangsdaten vergessen und ich musste neue beantragen!

            Nu bekomme ich folgende Meldung im Log:

            javascript.0
            	2022-11-04 16:59:39.317	error	Script script.js.common.Gerätesteuerung.Meater is calling setState more than 1000 times per minute! Stopping Script now! Please check your script!
            

            Und es sieht wie folgt aus:
            3f835cfc-4ced-4369-9ad2-97105acc2865-grafik.png
            Solltest vielleicht erwähnen, dass die Material Design-Widgets installliert sein sollten
            Auch das Ändern des eingetragenen Pfades passt leider noch nicht im Script, vielleicht kannst du das noch anpassen!

            Dennoch: Klasse!!!
            Und Danke!

            Hiltex 1 Reply Last reply Reply Quote 0
            • Hiltex
              Hiltex @guergen last edited by Hiltex

              @guergen
              Hast du an dem Script irgendwas geändert? Das sollte ganz sicher nicht 1000 mal pro Sekunde setState aufrufen.
              Was steht denn sonst noch im Log, bezogen auf das Script?

              Den Hinweis auf die Material-Design-Widgets hab ich oben mit aufgenommen, wobei die Visualisierung ja jeder bauen kann, wie er will. Es handelt sich ja nicht im ein eigenes Widget, sondern eine Ansammlung von Standardwidgets. Trotzdem danke für den Hinweis.

              Was genau passt bei dem Pfad bei dir nicht?
              Edit: stimmt, an zwei Stellen ist der Pfad hart ins Script geschrieben. Das sollte natürlich nicht sein.

              G 1 Reply Last reply Reply Quote 0
              • G
                guergen @Hiltex last edited by guergen

                @hiltex
                Hatte das Script erst Pfadtechnisch angepasst, dann aber noch einmal Deins geladen. Sonst habe ich nur meine Passwortdaten eingetragen.

                Sonst steht nix in dem Log; nur die eine Zeile. Die kommt immer dann, wenn der Meater abgeschaltet hat, wenn das Gargut fertig ist.
                Auch genau einmal. Etwa nach einer Minute:
                5b456deb-8111-43d8-bd6f-3092ab5ad793-grafik.png
                Danach muss ich das Script neu starten, damit die Daten neu im Script gelesen werden können.
                Falls ich danachdirekt einen neuen Messvorgang starte blinken die neuen States im Vis nur kurz auf, in den DP passiert nichts. Habe extar nen Video gemacht 😉
                Kann ich hier leider nicht hochladen

                Hiltex 1 Reply Last reply Reply Quote 0
                • Hiltex
                  Hiltex @guergen last edited by

                  @guergen
                  Es hat jetzt leider ein paar Tage gedauert, aber ich habe das Script überarbeitet.

                  • Ich konnte die Fehlermeldung, die du erhalten hast, nicht reproduzieren, habe aber dennoch eine Ahnung, woher das kommen könnte und versucht das zu korrigieren.
                  • Dann habe ich die Stellen, wo der Datenpunkt-Pfad hart im Code hinterlegt war, korrigiert, sodass eine Anpassung des Pfades nun problemlos möglich sein sollte.
                  • Außerdem habe ich das Logging ein bisschen umgebaut -> vieles auf Debug gesetzt und ausführlicher Formuliert, woher der Fehler kommt
                  • Und die Rohdaten werden nun gespeichert

                  Ich hab nun auch ein paar Grillvorgänge ausprobiert und bei mir passt das technisch gesehen erstmal soweit.
                  Bei dir auch?

                  G 1 Reply Last reply Reply Quote 0
                  • G
                    guergen @Hiltex last edited by guergen

                    @hiltex Ich werde es testen!

                    Ich habe zwar nicht gegrillt, aber für solche Test´s habe ich nen Wasserkocher 😉
                    Sieht gut aus, die Pfade stimmen und die Javascript-Fehlermeldung war nocht nicht da!
                    Super Arbeit!

                    1 Reply Last reply Reply Quote 0
                    • T
                      tklein @Hiltex last edited by

                      @hiltex vielen Dank für das Skript!!
                      Mit dem Adapter WLAN-Thermo hatte ich es nicht hinbekommen.

                      Habe das Abfrageintervall noch auf 30 sec erhöht. Nicht dass ich sonst in eine Sperre reinlaufe.
                      Ferner muss ich noch veruschen, den Adapter zu pausieren, solange der Meater aus ist.

                      Grüße
                      Thomas

                      Hiltex 1 Reply Last reply Reply Quote 0
                      • Hiltex
                        Hiltex @tklein last edited by

                        @tklein
                        Wegen dem Abfrageintervall musst du dir keine Gedanken machen. Die API lässt 60 Abfragen pro Minute zu, mit einem Intervall von 2s bist du relativ sicher.

                        T 2 Replies Last reply Reply Quote 0
                        • T
                          tklein @Hiltex last edited by

                          @hiltex ok thx

                          1 Reply Last reply Reply Quote 0
                          • T
                            tklein @Hiltex last edited by

                            @hiltex woran kann ich erkennen, ob das Device online ist? Wenn ein Wert im 0_userdata.0.Meater.data.devices.0.updated_at steht oder leer ist?

                            Hiltex 1 Reply Last reply Reply Quote 0
                            • Hiltex
                              Hiltex @tklein last edited by Hiltex

                              @tklein
                              Ja, wenn Werte vorhanden sind und werte empfangen werden, dann ist ein device online.
                              Im zukünftigen Adapter gibt es einen eigenen Datenpunkt dafür

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

                                Wir eingangs angekündigt habe ich aus dem Script nun einen Adapter gebaut, der auch etliche Optimierungen enthält. Der Adapter enthält kein Widget. Der Code, den ich dem Script beigelegt hatte, funktioniert einfach so weiter, nur die Datenpunkte müssten angepasst werden.

                                Hier geht es zum Test-Thread im Forum: https://forum.iobroker.net/topic/60681/test-adapter-meater-v0-1-x-github

                                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

                                420
                                Online

                                31.9k
                                Users

                                80.2k
                                Topics

                                1.3m
                                Posts

                                3
                                14
                                1137
                                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