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. Skripten / Logik
  4. LaMetric oder JSON-POST per IOBroker Javascript

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

LaMetric oder JSON-POST per IOBroker Javascript

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
69 Beiträge 19 Kommentatoren 14.6k Aufrufe 8 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.
  • G gammler2003

    Hallo zusammen,

    gibt es hierzu einen neuen Stand? Hat es jemand aus der Community geschafft, eine Indication an die LaMetric zu schicken?

    Ich habe mittlerweile sämtliche Kombinationen ausprobiert, erhalte aber immer nur die Fehlermeldung "wrong api key".

    Das Beispiel sagt in der letzten Zeile folgendes:

    ...
    LaMetricIndicator(optionsTemplate,dataTemplate);</hier-ein-schlüssel-dessen-vertraulichkeit-ich-nicht-einschätzen-kann>
    
    

    Ist hier der Access token gemeint? Wenn ich diesen nach dem Semikolon nicht in einfache Hochkommas setze, erhalte ich einen Syntax-Error.

    @ronnyw @j0hu Habe eure Beiträge im Forum gesehen. Habt ihr die LaMetric mit einer Indicator-App über ioBroker im Einsatz und würdet mir freundlicherweise eure Lösung verraten?

    Vielen Dank für eure Hilfe,
    Steven

    R Offline
    R Offline
    ronnyw
    schrieb am zuletzt editiert von
    #45

    @gammler2003
    Meine Scripte laufen nach wie vor auf gleichem Stand (ohne den Adapter, den es zu dem Zeitpunkt noch nicht gab. Dafür mit JS und Node RED). Gerade in diesem Augenblick erinnert mich meine LaMetric daran, dass das Fenster im Badezimmer zu lange geöffnet ist :-).
    Ich müsste das Thema auch erstmal für mich wieder aufarbeiten, kann dann aber gerne auch ganze Scripte hier posten. Dafür brauche ich etwas Zeit, bei Bedarf könnte ich am Wochenende mal graben...

    1 Antwort Letzte Antwort
    0
    • siggi85S Offline
      siggi85S Offline
      siggi85
      schrieb am zuletzt editiert von siggi85
      #46

      Vermutlich hilft es nicht, weiter (weil ich dafür extra nen virtuellen Server mit FHEM betreibe), aber ich schreibe trotzdem mal, wie ich meine Lametric über iobroker nutze:

      Ich habe sehr viel bei mir bezüglich Nachrichten und Clockicon auf der Lametric umgesetzt, allerdings löse ich das ganze über die Anbindung an FHEM per ioBroker Adapter und nutze hier die Lametric Anbindung. Im Prinzip ist die Lametric das einzige, was ich noch übe die FHEM Installation machen.

      EDIT: Kurzes Beispiel aus dem Log, wenn ich die Lautstärke ändere:

      fhem.0.lametric.app | DenonSound push token=123456789123456789123456789123456789123456789123456789 text=37.5 icon=a21067 channels=Sound > set
      

      Oder ein Clockicon auf der Uhr setze (in dem Fall nur ein unauffälliger dunkelroter Punkt, der mir anzeigt, dass das der Babyphone Modus aktiv ist)

      fhem.0.lametric.app | clock clockface icon='data:image/gif;;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAGUlEQVQYlWNUVFBgwAeY8MoOCwVXH3z/
      

      Hier habe ich kurz erklärt, wie ich das mit den Clockicons bei mir umgesetzt habe.

      1 Antwort Letzte Antwort
      0
      • G gammler2003

        Hallo zusammen,

        gibt es hierzu einen neuen Stand? Hat es jemand aus der Community geschafft, eine Indication an die LaMetric zu schicken?

        Ich habe mittlerweile sämtliche Kombinationen ausprobiert, erhalte aber immer nur die Fehlermeldung "wrong api key".

        Das Beispiel sagt in der letzten Zeile folgendes:

        ...
        LaMetricIndicator(optionsTemplate,dataTemplate);</hier-ein-schlüssel-dessen-vertraulichkeit-ich-nicht-einschätzen-kann>
        
        

        Ist hier der Access token gemeint? Wenn ich diesen nach dem Semikolon nicht in einfache Hochkommas setze, erhalte ich einen Syntax-Error.

        @ronnyw @j0hu Habe eure Beiträge im Forum gesehen. Habt ihr die LaMetric mit einer Indicator-App über ioBroker im Einsatz und würdet mir freundlicherweise eure Lösung verraten?

        Vielen Dank für eure Hilfe,
        Steven

        G Offline
        G Offline
        gammler2003
        schrieb am zuletzt editiert von
        #47

        Mittlerweile konnte ich mein Problem tatsächlich lösen und kann jetzt per Script eine Indikator-App auf meiner LaMetric füttern.

        Here we go:

        var http = require('http'); 
        var accesstoken = 'xxx'; // Hier den Accesstoken der App eingeben
        var deviceIpAddress = '192.168.x.x'; /lokale IP der LaMetric
        var port = '8080';
        
        
         
        var optionsTemplate = {
            host: deviceIpAddress,
            port: port,
            path: null,
            method: 'POST',
            headers: {
                'Content-Length': null,
                'X-Access-Token': accesstoken
        
                }
        };
        
        function LaMetricIndicator(options,data) {
         
            var dataString = JSON.stringify(data);
            options.headers['Content-Length'] = dataString.length;
         
            var req = http.request(options, function(res) {
                log('http Status: ' + res.statusCode);
                //log('HEADERS: ' + JSON.stringify(res.headers), (res.statusCode != 201 ? 'warn' : 'info'));
         
                var bodyChunks  = [];
                res.on('data', function(chunk) {
                    bodyChunks.push(chunk);
                }).on('end', function() {
                    var body = Buffer.concat(bodyChunks);
                    log('body: ' + body);
                });
            });
         
            req.on('error', function(e) {
                log('ERROR: ' + e.message, 'warn');
            });
         
            (dataString ? req.write(dataString) : log('Daten: keine Daten im Body angegeben'));
            req.end();
        }
         
        // Indicator Fensterstatus setzen
         
        optionsTemplate.path = '/api/v1/dev/widget/update/com.lametric.xxx/3';
        // xxx mit Teil aus der Local Push Url der App ersetzen.
        
        var dataTemplate = {
            frames:[{
        
                text: 'Weihnachten',
                icon: 'a1817',
                index: 0,
            }]
        }
         
         LaMetricIndicator(optionsTemplate,dataTemplate); 
        

        Der API-Key wird NICHT benötigt.
        Ich hoffe, das hilft dem einen oder anderen. Bei Fragen gerne melden.

        haus-automatisierungH 1 Antwort Letzte Antwort
        0
        • G gammler2003

          Mittlerweile konnte ich mein Problem tatsächlich lösen und kann jetzt per Script eine Indikator-App auf meiner LaMetric füttern.

          Here we go:

          var http = require('http'); 
          var accesstoken = 'xxx'; // Hier den Accesstoken der App eingeben
          var deviceIpAddress = '192.168.x.x'; /lokale IP der LaMetric
          var port = '8080';
          
          
           
          var optionsTemplate = {
              host: deviceIpAddress,
              port: port,
              path: null,
              method: 'POST',
              headers: {
                  'Content-Length': null,
                  'X-Access-Token': accesstoken
          
                  }
          };
          
          function LaMetricIndicator(options,data) {
           
              var dataString = JSON.stringify(data);
              options.headers['Content-Length'] = dataString.length;
           
              var req = http.request(options, function(res) {
                  log('http Status: ' + res.statusCode);
                  //log('HEADERS: ' + JSON.stringify(res.headers), (res.statusCode != 201 ? 'warn' : 'info'));
           
                  var bodyChunks  = [];
                  res.on('data', function(chunk) {
                      bodyChunks.push(chunk);
                  }).on('end', function() {
                      var body = Buffer.concat(bodyChunks);
                      log('body: ' + body);
                  });
              });
           
              req.on('error', function(e) {
                  log('ERROR: ' + e.message, 'warn');
              });
           
              (dataString ? req.write(dataString) : log('Daten: keine Daten im Body angegeben'));
              req.end();
          }
           
          // Indicator Fensterstatus setzen
           
          optionsTemplate.path = '/api/v1/dev/widget/update/com.lametric.xxx/3';
          // xxx mit Teil aus der Local Push Url der App ersetzen.
          
          var dataTemplate = {
              frames:[{
          
                  text: 'Weihnachten',
                  icon: 'a1817',
                  index: 0,
              }]
          }
           
           LaMetricIndicator(optionsTemplate,dataTemplate); 
          

          Der API-Key wird NICHT benötigt.
          Ich hoffe, das hilft dem einen oder anderen. Bei Fragen gerne melden.

          haus-automatisierungH Online
          haus-automatisierungH Online
          haus-automatisierung
          Developer Most Active
          schrieb am zuletzt editiert von
          #48

          In den letzten Tagen habe ich den LaMetric Adapter ordentlich weiter entwickelt. Man kann nun mit der "My Data (DIY)" App beliebige Datenpunkte auf der LaMetric Time darstellen. Das wird für viele wahrscheinlich viel Programmierarbeit sparen - zumal man keine eigenen Apps mehr anlegen braucht usw.

          https://www.youtube.com/watch?v=jxRM-UR1NHw

          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
          📚 Meine inoffizielle ioBroker Dokumentation

          siggi85S 1 Antwort Letzte Antwort
          1
          • haus-automatisierungH haus-automatisierung

            In den letzten Tagen habe ich den LaMetric Adapter ordentlich weiter entwickelt. Man kann nun mit der "My Data (DIY)" App beliebige Datenpunkte auf der LaMetric Time darstellen. Das wird für viele wahrscheinlich viel Programmierarbeit sparen - zumal man keine eigenen Apps mehr anlegen braucht usw.

            https://www.youtube.com/watch?v=jxRM-UR1NHw

            siggi85S Offline
            siggi85S Offline
            siggi85
            schrieb am zuletzt editiert von
            #49

            @haus-automatisierung Meine Lametric ist der einzige Grund, warum ich noch eine FHEM Instanz betreibe. Danke, dass du den ioBroker Adapter weiter entwickelst. 😁👍
            Weiß noch nicht wann ich zum Testen komme, aber wenn ich die Icons auf der Clock App hiermit anpassen kann (habe ich bisher nichts im Video gesehen, wo das gehen könnte), dann kann ich das bald zurückbauen. Die Notifications werde ich definitiv auf diesen Adapter umstellen. 😉

            haus-automatisierungH 1 Antwort Letzte Antwort
            1
            • siggi85S siggi85

              @haus-automatisierung Meine Lametric ist der einzige Grund, warum ich noch eine FHEM Instanz betreibe. Danke, dass du den ioBroker Adapter weiter entwickelst. 😁👍
              Weiß noch nicht wann ich zum Testen komme, aber wenn ich die Icons auf der Clock App hiermit anpassen kann (habe ich bisher nichts im Video gesehen, wo das gehen könnte), dann kann ich das bald zurückbauen. Die Notifications werde ich definitiv auf diesen Adapter umstellen. 😉

              haus-automatisierungH Online
              haus-automatisierungH Online
              haus-automatisierung
              Developer Most Active
              schrieb am zuletzt editiert von
              #50

              @siggi85 Muss mir mal angucken wie das genau geht mit den Clock faces. Ist ja glaube ich nicht offiziell dokumentiert?

              🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
              🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
              📚 Meine inoffizielle ioBroker Dokumentation

              siggi85S 1 Antwort Letzte Antwort
              0
              • haus-automatisierungH haus-automatisierung

                @siggi85 Muss mir mal angucken wie das genau geht mit den Clock faces. Ist ja glaube ich nicht offiziell dokumentiert?

                siggi85S Offline
                siggi85S Offline
                siggi85
                schrieb am zuletzt editiert von
                #51

                @haus-automatisierung sagte in LaMetric oder JSON-POST per IOBroker Javascript:

                @siggi85 Muss mir mal angucken wie das genau geht mit den Clock faces. Ist ja glaube ich nicht offiziell dokumentiert?

                Gute Frage, ich habe es damals im FHEM Forum gefunden. Die Icons werden als Base64 übergeben.

                haus-automatisierungH 2 Antworten Letzte Antwort
                1
                • siggi85S siggi85

                  @haus-automatisierung sagte in LaMetric oder JSON-POST per IOBroker Javascript:

                  @siggi85 Muss mir mal angucken wie das genau geht mit den Clock faces. Ist ja glaube ich nicht offiziell dokumentiert?

                  Gute Frage, ich habe es damals im FHEM Forum gefunden. Die Icons werden als Base64 übergeben.

                  haus-automatisierungH Online
                  haus-automatisierungH Online
                  haus-automatisierung
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #52

                  @siggi85 Ah stimmt, das hatte ich erstmal auf ToDo geschoben. Finde ich etwas schwierig zu bedienen.

                  🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                  🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                  📚 Meine inoffizielle ioBroker Dokumentation

                  1 Antwort Letzte Antwort
                  0
                  • siggi85S siggi85

                    @haus-automatisierung sagte in LaMetric oder JSON-POST per IOBroker Javascript:

                    @siggi85 Muss mir mal angucken wie das genau geht mit den Clock faces. Ist ja glaube ich nicht offiziell dokumentiert?

                    Gute Frage, ich habe es damals im FHEM Forum gefunden. Die Icons werden als Base64 übergeben.

                    haus-automatisierungH Online
                    haus-automatisierungH Online
                    haus-automatisierung
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #53

                    @siggi85 sagte in LaMetric oder JSON-POST per IOBroker Javascript:

                    Gute Frage, ich habe es damals im FHEM Forum gefunden. Die Icons werden als Base64 übergeben.

                    Nur für Dich :) Mit 1.1.2 gibt es einen neuen Datenpunkt für das Clockface.

                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                    📚 Meine inoffizielle ioBroker Dokumentation

                    siggi85S 2 Antworten Letzte Antwort
                    1
                    • haus-automatisierungH haus-automatisierung

                      @siggi85 sagte in LaMetric oder JSON-POST per IOBroker Javascript:

                      Gute Frage, ich habe es damals im FHEM Forum gefunden. Die Icons werden als Base64 übergeben.

                      Nur für Dich :) Mit 1.1.2 gibt es einen neuen Datenpunkt für das Clockface.

                      siggi85S Offline
                      siggi85S Offline
                      siggi85
                      schrieb am zuletzt editiert von
                      #54

                      @haus-automatisierung sagte in LaMetric oder JSON-POST per IOBroker Javascript:

                      @siggi85 sagte in LaMetric oder JSON-POST per IOBroker Javascript:

                      Gute Frage, ich habe es damals im FHEM Forum gefunden. Die Icons werden als Base64 übergeben.

                      Nur für Dich :) Mit 1.1.2 gibt es einen neuen Datenpunkt für das Clockface.

                      Woa, Hammer! Dann muss ich mir auf jeden Fall morgen Mal freie Zeit freischaufeln um mir das anzuschauen. Vielen Dank schon Mal dafür! 😁👍

                      1 Antwort Letzte Antwort
                      0
                      • haus-automatisierungH haus-automatisierung

                        @siggi85 sagte in LaMetric oder JSON-POST per IOBroker Javascript:

                        Gute Frage, ich habe es damals im FHEM Forum gefunden. Die Icons werden als Base64 übergeben.

                        Nur für Dich :) Mit 1.1.2 gibt es einen neuen Datenpunkt für das Clockface.

                        siggi85S Offline
                        siggi85S Offline
                        siggi85
                        schrieb am zuletzt editiert von
                        #55

                        @haus-automatisierung Funktioniert alles super! Habe heute meiner Tochter einen Film von Disney+ angemacht und in der Zeit alles (clockicons und unzählige Notifications) auf den neuen Adapter umgebaut. :joy:

                        Ausschnitt alt


                        1af563a1-66fe-463a-9f62-0693184c8c53-grafik.png

                        Ausschnitt neu


                        21cd41bb-47a1-4af1-b3d2-a7c822fffc62-grafik.png

                        Ich hoffe ich klinge nicht undankbar, aber mir ist bei der Migration noch eine Funktion aufgefallen, die ich in dem Zusammenhang nutze: Wäre es noch möglich, eine Datenpunkt zu bauen, um generische Daten an eine App zu senden? Dann kann man sowohl mit custom Apps arbeiten, als auch Apps mit Infos füttern, ohne dass du extra Entwicklungsarbeit reinstecken musst. (Natürlich freue mich mich trotzdem riesig über meine Clockface Datenpunkt ;) )

                        Als Beispiel: Ich habe damals eine eigene App gebaut, um die Lautstärke dahinzusenden. Dadurch kann ich auch mehrere schnelle Änderugen (wenn man bspw. auf der Fernbedienung Lautstärke+ drückt) gut verarbeiten. Notifications und pollbasierte DIY Apps sind hier leider keine Lösung.

                        Beispielaufruf meiner custom App DenonSound anhand der FEHM Anbindung

                        fhem.0.lametric.app | DenonSound push token=!!!!!!!!!!!!!== text=33 icon=a21067 channels=Sound
                        
                        haus-automatisierungH S F 3 Antworten Letzte Antwort
                        1
                        • siggi85S siggi85

                          @haus-automatisierung Funktioniert alles super! Habe heute meiner Tochter einen Film von Disney+ angemacht und in der Zeit alles (clockicons und unzählige Notifications) auf den neuen Adapter umgebaut. :joy:

                          Ausschnitt alt


                          1af563a1-66fe-463a-9f62-0693184c8c53-grafik.png

                          Ausschnitt neu


                          21cd41bb-47a1-4af1-b3d2-a7c822fffc62-grafik.png

                          Ich hoffe ich klinge nicht undankbar, aber mir ist bei der Migration noch eine Funktion aufgefallen, die ich in dem Zusammenhang nutze: Wäre es noch möglich, eine Datenpunkt zu bauen, um generische Daten an eine App zu senden? Dann kann man sowohl mit custom Apps arbeiten, als auch Apps mit Infos füttern, ohne dass du extra Entwicklungsarbeit reinstecken musst. (Natürlich freue mich mich trotzdem riesig über meine Clockface Datenpunkt ;) )

                          Als Beispiel: Ich habe damals eine eigene App gebaut, um die Lautstärke dahinzusenden. Dadurch kann ich auch mehrere schnelle Änderugen (wenn man bspw. auf der Fernbedienung Lautstärke+ drückt) gut verarbeiten. Notifications und pollbasierte DIY Apps sind hier leider keine Lösung.

                          Beispielaufruf meiner custom App DenonSound anhand der FEHM Anbindung

                          fhem.0.lametric.app | DenonSound push token=!!!!!!!!!!!!!== text=33 icon=a21067 channels=Sound
                          
                          haus-automatisierungH Online
                          haus-automatisierungH Online
                          haus-automatisierung
                          Developer Most Active
                          schrieb am zuletzt editiert von
                          #56

                          @siggi85 Okay muss ich mir mal anschauen wie man das möglichst generisch implementieren könnte

                          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                          📚 Meine inoffizielle ioBroker Dokumentation

                          siggi85S 1 Antwort Letzte Antwort
                          1
                          • haus-automatisierungH haus-automatisierung

                            @siggi85 Okay muss ich mir mal anschauen wie man das möglichst generisch implementieren könnte

                            siggi85S Offline
                            siggi85S Offline
                            siggi85
                            schrieb am zuletzt editiert von siggi85
                            #57

                            @haus-automatisierung Die entsprechende App wird mir unter Apps korrekt aufgelistet und ich kann auch zu dieser App mit dem Button wechseln.
                            Benötigen würde ich halt sowas wie das im FHEM Modul funktioniert unterhalb von "app" (siehe Spoiler unten), also ggf. in jedem App-Ordner ein neuen Datenpunkt, dessen Inhalt dann als Parameter durch den Adapter an die entsprechende Lametric App übergeben wird.


                            https://fhem.de/commandref.html#LaMetric2

                            app
                            
                               set <LaMetric2_device> app <app_name> <action_id> [param1=value param2=value]
                            
                               Some apps can be controlled by specific actions. Those can be controlled by pre-defined actions and might have optional or mandatory parameters as well.
                               Examples:
                                   set lametric app clock alarm enabled=true time=10:00:00 wake_with_radio=false
                                   set lametric app clock alarm enabled=false
                            
                                   set lametric app clock clockface icon='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAOklEQVQYlWNUVFBgwAeYcEncv//gP04FMEmsCmCSiooKjHAFMEF0SRQTsEnCFcAE0SUZGBgYGAl5EwA+6RhuHb9bggAAAABJRU5ErkJggg=='
                            
                                   set lametric app stopwatch start
                                   set lametric app stopwatch pause
                                   set lametric app stopwatch reset
                            
                                   set lametric app countdown configure duration=1800 start_now=true
                                   set lametric app countdown start
                                   set lametric app countdown pause
                                   set lametric app countdown reset
                            
                            
                            
                               To send data to a private/shared app, use 'push' as action_id. It will require the access token as parameter so that the device will accept data for that particular app:
                            
                               token - type: text - Private access token to be used when pushing data to an app. Can be retrieved from developer.lametric.com/applications/app/<app_number> of the corresponding app.
                            
                               Examples:
                                   set lametric app MyPrivateFHEMapp push token=ASDFGHJKL23456789 Show this message to my app.
                                   set lametric app MyPrivateFHEMapp push token=ASDFGHJKL23456789 icon=i334 Show this message to my app and use my icon.
                                   set lametric app MyPrivateFHEMapp push token=ASDFGHJKL23456789 Show this message to my app.\nThis is a second frame.
                                   set lametric app MyPrivateFHEMapp push token=ASDFGHJKL23456789 title="This is the head frame" This text goes to the 2nd frame.
                            
                            
                               If you have configured channels for your app and would like to address a specific one, you may add the parameter 'channels' accordingly:
                                   set lametric app MyPrivateFHEMapp push token=ASDFGHJKL23456789 channels=ch1,ch3 Show this message in 2 of 3 channels in my app.
                            

                            haus-automatisierungH 1 Antwort Letzte Antwort
                            0
                            • siggi85S siggi85

                              @haus-automatisierung Die entsprechende App wird mir unter Apps korrekt aufgelistet und ich kann auch zu dieser App mit dem Button wechseln.
                              Benötigen würde ich halt sowas wie das im FHEM Modul funktioniert unterhalb von "app" (siehe Spoiler unten), also ggf. in jedem App-Ordner ein neuen Datenpunkt, dessen Inhalt dann als Parameter durch den Adapter an die entsprechende Lametric App übergeben wird.


                              https://fhem.de/commandref.html#LaMetric2

                              app
                              
                                 set <LaMetric2_device> app <app_name> <action_id> [param1=value param2=value]
                              
                                 Some apps can be controlled by specific actions. Those can be controlled by pre-defined actions and might have optional or mandatory parameters as well.
                                 Examples:
                                     set lametric app clock alarm enabled=true time=10:00:00 wake_with_radio=false
                                     set lametric app clock alarm enabled=false
                              
                                     set lametric app clock clockface icon='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAOklEQVQYlWNUVFBgwAeYcEncv//gP04FMEmsCmCSiooKjHAFMEF0SRQTsEnCFcAE0SUZGBgYGAl5EwA+6RhuHb9bggAAAABJRU5ErkJggg=='
                              
                                     set lametric app stopwatch start
                                     set lametric app stopwatch pause
                                     set lametric app stopwatch reset
                              
                                     set lametric app countdown configure duration=1800 start_now=true
                                     set lametric app countdown start
                                     set lametric app countdown pause
                                     set lametric app countdown reset
                              
                              
                              
                                 To send data to a private/shared app, use 'push' as action_id. It will require the access token as parameter so that the device will accept data for that particular app:
                              
                                 token - type: text - Private access token to be used when pushing data to an app. Can be retrieved from developer.lametric.com/applications/app/<app_number> of the corresponding app.
                              
                                 Examples:
                                     set lametric app MyPrivateFHEMapp push token=ASDFGHJKL23456789 Show this message to my app.
                                     set lametric app MyPrivateFHEMapp push token=ASDFGHJKL23456789 icon=i334 Show this message to my app and use my icon.
                                     set lametric app MyPrivateFHEMapp push token=ASDFGHJKL23456789 Show this message to my app.\nThis is a second frame.
                                     set lametric app MyPrivateFHEMapp push token=ASDFGHJKL23456789 title="This is the head frame" This text goes to the 2nd frame.
                              
                              
                                 If you have configured channels for your app and would like to address a specific one, you may add the parameter 'channels' accordingly:
                                     set lametric app MyPrivateFHEMapp push token=ASDFGHJKL23456789 channels=ch1,ch3 Show this message in 2 of 3 channels in my app.
                              

                              haus-automatisierungH Online
                              haus-automatisierungH Online
                              haus-automatisierung
                              Developer Most Active
                              schrieb am zuletzt editiert von
                              #58

                              @siggi85 Schon klar, aber da gibt es ja zig verschiedene App Typen. Und dann gibt es noch Verschiedene Channels usw. Ist nicht so easy das generisch zu bauen.

                              🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                              🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                              📚 Meine inoffizielle ioBroker Dokumentation

                              siggi85S 1 Antwort Letzte Antwort
                              1
                              • siggi85S siggi85

                                @haus-automatisierung Funktioniert alles super! Habe heute meiner Tochter einen Film von Disney+ angemacht und in der Zeit alles (clockicons und unzählige Notifications) auf den neuen Adapter umgebaut. :joy:

                                Ausschnitt alt


                                1af563a1-66fe-463a-9f62-0693184c8c53-grafik.png

                                Ausschnitt neu


                                21cd41bb-47a1-4af1-b3d2-a7c822fffc62-grafik.png

                                Ich hoffe ich klinge nicht undankbar, aber mir ist bei der Migration noch eine Funktion aufgefallen, die ich in dem Zusammenhang nutze: Wäre es noch möglich, eine Datenpunkt zu bauen, um generische Daten an eine App zu senden? Dann kann man sowohl mit custom Apps arbeiten, als auch Apps mit Infos füttern, ohne dass du extra Entwicklungsarbeit reinstecken musst. (Natürlich freue mich mich trotzdem riesig über meine Clockface Datenpunkt ;) )

                                Als Beispiel: Ich habe damals eine eigene App gebaut, um die Lautstärke dahinzusenden. Dadurch kann ich auch mehrere schnelle Änderugen (wenn man bspw. auf der Fernbedienung Lautstärke+ drückt) gut verarbeiten. Notifications und pollbasierte DIY Apps sind hier leider keine Lösung.

                                Beispielaufruf meiner custom App DenonSound anhand der FEHM Anbindung

                                fhem.0.lametric.app | DenonSound push token=!!!!!!!!!!!!!== text=33 icon=a21067 channels=Sound
                                
                                S Offline
                                S Offline
                                Samsotin
                                schrieb am zuletzt editiert von
                                #59

                                @siggi85 Hi mal eine Frage wie genau stellst du es an die Icons oder Gif's als Base64 im Clockface zu verwenden? Also wo genau nimmst du die Icons her und wandelst sie in Base64 um? Beziehst du die Icons von der LaMetric Developer Website?
                                Bei meinen Tests bekomme ich nichts oder einen grünen Haken...

                                1 Antwort Letzte Antwort
                                0
                                • siggi85S siggi85

                                  @haus-automatisierung Funktioniert alles super! Habe heute meiner Tochter einen Film von Disney+ angemacht und in der Zeit alles (clockicons und unzählige Notifications) auf den neuen Adapter umgebaut. :joy:

                                  Ausschnitt alt


                                  1af563a1-66fe-463a-9f62-0693184c8c53-grafik.png

                                  Ausschnitt neu


                                  21cd41bb-47a1-4af1-b3d2-a7c822fffc62-grafik.png

                                  Ich hoffe ich klinge nicht undankbar, aber mir ist bei der Migration noch eine Funktion aufgefallen, die ich in dem Zusammenhang nutze: Wäre es noch möglich, eine Datenpunkt zu bauen, um generische Daten an eine App zu senden? Dann kann man sowohl mit custom Apps arbeiten, als auch Apps mit Infos füttern, ohne dass du extra Entwicklungsarbeit reinstecken musst. (Natürlich freue mich mich trotzdem riesig über meine Clockface Datenpunkt ;) )

                                  Als Beispiel: Ich habe damals eine eigene App gebaut, um die Lautstärke dahinzusenden. Dadurch kann ich auch mehrere schnelle Änderugen (wenn man bspw. auf der Fernbedienung Lautstärke+ drückt) gut verarbeiten. Notifications und pollbasierte DIY Apps sind hier leider keine Lösung.

                                  Beispielaufruf meiner custom App DenonSound anhand der FEHM Anbindung

                                  fhem.0.lametric.app | DenonSound push token=!!!!!!!!!!!!!== text=33 icon=a21067 channels=Sound
                                  
                                  F Offline
                                  F Offline
                                  Fix
                                  schrieb am zuletzt editiert von
                                  #60

                                  @siggi85 Jetzt habe ich vorhin grad einen eigenen Post eröffnet und sehe erst jetzt, dass da ja der alte Post hochgehoben wurde. Genau auch meine Frage wie die von @Samsotin. Bei mir bleibt das Display schwarz. Die ausprobierten Icons habe ich von der LaMetric Dev. Webseite geladen.

                                  Danke & LG

                                  Fix

                                  1 Antwort Letzte Antwort
                                  0
                                  • haus-automatisierungH haus-automatisierung

                                    @siggi85 Schon klar, aber da gibt es ja zig verschiedene App Typen. Und dann gibt es noch Verschiedene Channels usw. Ist nicht so easy das generisch zu bauen.

                                    siggi85S Offline
                                    siggi85S Offline
                                    siggi85
                                    schrieb am zuletzt editiert von siggi85
                                    #61

                                    @haus-automatisierung sagte in LaMetric oder JSON-POST per IOBroker Javascript:

                                    @siggi85 Schon klar, aber da gibt es ja zig verschiedene App Typen. Und dann gibt es noch Verschiedene Channels usw. Ist nicht so easy das generisch zu bauen.

                                    Habe das letztens so gelöst für mich:
                                    Habe einen Datenpunkt angelegt, an den ich JSON Content schicken kann, und dieser wird dann direkt an die lametric gesendet (die IP hole ich mir aber aus deinem Adapter :) ).

                                    function volume(value) {
                                      if (value == true) {
                                        setState("0_userdata.0.helper.lametric_soundapp"/*lametric_soundapp*/, (['{ "frames": [ { "text": "Mute", "icon": ','43852',', "index": 0 } ] }'].join('')));
                                      } else if (!value) {
                                        setState("0_userdata.0.helper.lametric_soundapp"/*lametric_soundapp*/, (['{ "frames": [ { "text": "Mute", "icon": ','21067',', "index": 0 } ] }'].join('')));
                                      } else {
                                        setState("0_userdata.0.helper.lametric_soundapp"/*lametric_soundapp*/, (['{"frames": [ { "icon": "','21067','", "goalData": { "start": 0, "current": ',getState("denon.0.zoneMain.volume").val,', "end": 50 }, "index": 0 } ] }'].join('')));
                                      }
                                    }
                                    


                                    on({id: '0_userdata.0.helper.lametric_soundapp', change: "any"}, function (obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;
                                    exec((['curl -k -X POST -H "Accept: application/json" -H',' "X-Access-Token: XXXXXXXXXXXXXXXXXXXXXXX"',' -H "Cache-Control: no-cache" -d \'',(obj.state ? obj.state.val : ""),'\' https://',getState('lametric.0.meta.wifi.ip').val,':4343/api/v1/dev/widget/update/com.lametric.XXXXXXXXXXXXXXXXXXXXXXXXXX'].join('')));
                                    });
                                    

                                    Ein Feld in das man JSON einträgt und diesen dann mit den entsprechenden Access Token der App versendet, wäre bspw. eine generische Möglichkeit. Aber für mich reicht das erst mal so. :)

                                    @Samsotin @Fix
                                    Ich hole mir die Icons von der Lametric Seite: https://developer.lametric.com/icons
                                    Danach schaue ich nach der ID und hole mir dann den direkten Link des Icons (GIF oder PNG, je nach Image oder Animation):
                                    Bspw.:
                                    https://developer.lametric.com/content/apps/icon_thumbs/34.png
                                    https://developer.lametric.com/content/apps/icon_thumbs/87.gif
                                    Und den Link dann umrechnen lassen, bspw. hier: https://www.base64-image.de/

                                    Hier mal ein Beispielaufruf für eine dynamische Animation und ein statisches Icon (als Blockly Export):


                                    <block xmlns="https://developers.google.com/blockly/xml" type="control" id="=CV+c45iy2|c)LG|0@" x="29.61627960205078" y="-167">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                    <field name="OID">lametric.0.apps.XXXXXXX.clock.clockface</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                    <block type="text" id="[6+H/R;8+Km?VSoGRWHV">
                                    <field name="TEXT">data:image/gif;base64,R0lGODlhCAAIAKIAACQiJIyKjMzOzPQCFLS2tPTGzPxabAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAACAAIAAADEwi6PPbNFBNlpSoEwUUOREgwZAIAIfkECQoAAAAsAAAAAAgACACCJCIkjIqMzM7M/FpstLa09MbMAAAAAAAAAxMIujw+rbg2JJ0qBMFFDkRIMGQCACH5BAkKAAAALAAAAAAIAAgAAAMUCLpsPqy8JuFyxoIQhBcKR4wEYyYAIfkECQoAAAAsAAAAAAgACAAAAxQIumw2o724ypRwhSC6UBshEkyZAAAh+QQJCgAAACwAAAAACAAIAIIkIiSMioz0AhS0trT8WmzMzswAAAAAAAADFAi6TCKkvbgclFeFUHrRwSAOTJkAACH5BAkKAAAALAAAAAAIAAgAAAMTCLo8Y6a9ImGNKgTBRQ5ESDBkAgA7</field>
                                    </block>
                                    </value>
                                    </block>


                                    <block xmlns="https://developers.google.com/blockly/xml" type="control" id="@Lw3WsbMavgGfy8AV`,2" x="29.61627960205078" y="1415">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                    <field name="OID">lametric.0.apps.XXXXXXXX.clock.clockface</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                    <block type="text" id="%OQCe6N]QDoehGmPf0Lw">
                                    <field name="TEXT">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAUElEQVQYlWNUVFBgQAdXHnz/z8DAwKCjwMnIhCGLBlhgjHv37/+HsZUUFRlhprDAJDs6OhiQFX9jlGBgYGBgIGgFTgU6CpyMRJnAiM2byAAAfR4WsqJz+mUAAAAASUVORK5CYII=</field>
                                    </block>
                                    </value>
                                    </block>

                                    haus-automatisierungH F S 3 Antworten Letzte Antwort
                                    1
                                    • siggi85S siggi85

                                      @haus-automatisierung sagte in LaMetric oder JSON-POST per IOBroker Javascript:

                                      @siggi85 Schon klar, aber da gibt es ja zig verschiedene App Typen. Und dann gibt es noch Verschiedene Channels usw. Ist nicht so easy das generisch zu bauen.

                                      Habe das letztens so gelöst für mich:
                                      Habe einen Datenpunkt angelegt, an den ich JSON Content schicken kann, und dieser wird dann direkt an die lametric gesendet (die IP hole ich mir aber aus deinem Adapter :) ).

                                      function volume(value) {
                                        if (value == true) {
                                          setState("0_userdata.0.helper.lametric_soundapp"/*lametric_soundapp*/, (['{ "frames": [ { "text": "Mute", "icon": ','43852',', "index": 0 } ] }'].join('')));
                                        } else if (!value) {
                                          setState("0_userdata.0.helper.lametric_soundapp"/*lametric_soundapp*/, (['{ "frames": [ { "text": "Mute", "icon": ','21067',', "index": 0 } ] }'].join('')));
                                        } else {
                                          setState("0_userdata.0.helper.lametric_soundapp"/*lametric_soundapp*/, (['{"frames": [ { "icon": "','21067','", "goalData": { "start": 0, "current": ',getState("denon.0.zoneMain.volume").val,', "end": 50 }, "index": 0 } ] }'].join('')));
                                        }
                                      }
                                      


                                      on({id: '0_userdata.0.helper.lametric_soundapp', change: "any"}, function (obj) {
                                      var value = obj.state.val;
                                      var oldValue = obj.oldState.val;
                                      exec((['curl -k -X POST -H "Accept: application/json" -H',' "X-Access-Token: XXXXXXXXXXXXXXXXXXXXXXX"',' -H "Cache-Control: no-cache" -d \'',(obj.state ? obj.state.val : ""),'\' https://',getState('lametric.0.meta.wifi.ip').val,':4343/api/v1/dev/widget/update/com.lametric.XXXXXXXXXXXXXXXXXXXXXXXXXX'].join('')));
                                      });
                                      

                                      Ein Feld in das man JSON einträgt und diesen dann mit den entsprechenden Access Token der App versendet, wäre bspw. eine generische Möglichkeit. Aber für mich reicht das erst mal so. :)

                                      @Samsotin @Fix
                                      Ich hole mir die Icons von der Lametric Seite: https://developer.lametric.com/icons
                                      Danach schaue ich nach der ID und hole mir dann den direkten Link des Icons (GIF oder PNG, je nach Image oder Animation):
                                      Bspw.:
                                      https://developer.lametric.com/content/apps/icon_thumbs/34.png
                                      https://developer.lametric.com/content/apps/icon_thumbs/87.gif
                                      Und den Link dann umrechnen lassen, bspw. hier: https://www.base64-image.de/

                                      Hier mal ein Beispielaufruf für eine dynamische Animation und ein statisches Icon (als Blockly Export):


                                      <block xmlns="https://developers.google.com/blockly/xml" type="control" id="=CV+c45iy2|c)LG|0@" x="29.61627960205078" y="-167">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                      <field name="OID">lametric.0.apps.XXXXXXX.clock.clockface</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                      <block type="text" id="[6+H/R;8+Km?VSoGRWHV">
                                      <field name="TEXT">data:image/gif;base64,R0lGODlhCAAIAKIAACQiJIyKjMzOzPQCFLS2tPTGzPxabAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAACAAIAAADEwi6PPbNFBNlpSoEwUUOREgwZAIAIfkECQoAAAAsAAAAAAgACACCJCIkjIqMzM7M/FpstLa09MbMAAAAAAAAAxMIujw+rbg2JJ0qBMFFDkRIMGQCACH5BAkKAAAALAAAAAAIAAgAAAMUCLpsPqy8JuFyxoIQhBcKR4wEYyYAIfkECQoAAAAsAAAAAAgACAAAAxQIumw2o724ypRwhSC6UBshEkyZAAAh+QQJCgAAACwAAAAACAAIAIIkIiSMioz0AhS0trT8WmzMzswAAAAAAAADFAi6TCKkvbgclFeFUHrRwSAOTJkAACH5BAkKAAAALAAAAAAIAAgAAAMTCLo8Y6a9ImGNKgTBRQ5ESDBkAgA7</field>
                                      </block>
                                      </value>
                                      </block>


                                      <block xmlns="https://developers.google.com/blockly/xml" type="control" id="@Lw3WsbMavgGfy8AV`,2" x="29.61627960205078" y="1415">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                      <field name="OID">lametric.0.apps.XXXXXXXX.clock.clockface</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                      <block type="text" id="%OQCe6N]QDoehGmPf0Lw">
                                      <field name="TEXT">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAUElEQVQYlWNUVFBgQAdXHnz/z8DAwKCjwMnIhCGLBlhgjHv37/+HsZUUFRlhprDAJDs6OhiQFX9jlGBgYGBgIGgFTgU6CpyMRJnAiM2byAAAfR4WsqJz+mUAAAAASUVORK5CYII=</field>
                                      </block>
                                      </value>
                                      </block>

                                      haus-automatisierungH Online
                                      haus-automatisierungH Online
                                      haus-automatisierung
                                      Developer Most Active
                                      schrieb am zuletzt editiert von
                                      #62

                                      @siggi85 sagte in LaMetric oder JSON-POST per IOBroker Javascript:

                                      Ein Feld in das man JSON einträgt und diesen dann mit den entsprechenden Access Token der App versendet

                                      Klar, ich könnte natürlich in der Konfiguration eine Liste mit AppIDs pflegen, welche "mehr können" und dann kann der Nutzer da JSON hinsenden. Aber mein Problem damit ist: Das ist doch sehr komplex und da entstehen sicher viele Fragen was eigentlich geht usw. Deswegen würde ich das gerne irgendwie abstrahieren und vereinfachen.

                                      Nur leider trifft da maximale Flexibilität auf einfache Bedienung. Mit dem MyData DIY habe ich dafür ja auch einen Umweg gemacht, nur damit der Nutzer nix mit JSON usw. zu tun hat.

                                      Theoretisch könnte es ja auch x eigene Apps auf der LaMetric geben, welche alle eigene Daten annehmen können.

                                      PS: Deine Funktion ist etwas tricky. Da musst Du aufpassen :) !value ist z.B. auch die Zahl 0. Oder ein leerer String. Und gegen true würde ich mit === prüfen, anstatt mit ==. Ansonsten könnte es sein, dass dein else-Teil nie greift.

                                      !0 === true
                                      !0.0 === true
                                      !"" === true
                                      

                                      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                      📚 Meine inoffizielle ioBroker Dokumentation

                                      siggi85S 1 Antwort Letzte Antwort
                                      1
                                      • siggi85S siggi85

                                        @haus-automatisierung sagte in LaMetric oder JSON-POST per IOBroker Javascript:

                                        @siggi85 Schon klar, aber da gibt es ja zig verschiedene App Typen. Und dann gibt es noch Verschiedene Channels usw. Ist nicht so easy das generisch zu bauen.

                                        Habe das letztens so gelöst für mich:
                                        Habe einen Datenpunkt angelegt, an den ich JSON Content schicken kann, und dieser wird dann direkt an die lametric gesendet (die IP hole ich mir aber aus deinem Adapter :) ).

                                        function volume(value) {
                                          if (value == true) {
                                            setState("0_userdata.0.helper.lametric_soundapp"/*lametric_soundapp*/, (['{ "frames": [ { "text": "Mute", "icon": ','43852',', "index": 0 } ] }'].join('')));
                                          } else if (!value) {
                                            setState("0_userdata.0.helper.lametric_soundapp"/*lametric_soundapp*/, (['{ "frames": [ { "text": "Mute", "icon": ','21067',', "index": 0 } ] }'].join('')));
                                          } else {
                                            setState("0_userdata.0.helper.lametric_soundapp"/*lametric_soundapp*/, (['{"frames": [ { "icon": "','21067','", "goalData": { "start": 0, "current": ',getState("denon.0.zoneMain.volume").val,', "end": 50 }, "index": 0 } ] }'].join('')));
                                          }
                                        }
                                        


                                        on({id: '0_userdata.0.helper.lametric_soundapp', change: "any"}, function (obj) {
                                        var value = obj.state.val;
                                        var oldValue = obj.oldState.val;
                                        exec((['curl -k -X POST -H "Accept: application/json" -H',' "X-Access-Token: XXXXXXXXXXXXXXXXXXXXXXX"',' -H "Cache-Control: no-cache" -d \'',(obj.state ? obj.state.val : ""),'\' https://',getState('lametric.0.meta.wifi.ip').val,':4343/api/v1/dev/widget/update/com.lametric.XXXXXXXXXXXXXXXXXXXXXXXXXX'].join('')));
                                        });
                                        

                                        Ein Feld in das man JSON einträgt und diesen dann mit den entsprechenden Access Token der App versendet, wäre bspw. eine generische Möglichkeit. Aber für mich reicht das erst mal so. :)

                                        @Samsotin @Fix
                                        Ich hole mir die Icons von der Lametric Seite: https://developer.lametric.com/icons
                                        Danach schaue ich nach der ID und hole mir dann den direkten Link des Icons (GIF oder PNG, je nach Image oder Animation):
                                        Bspw.:
                                        https://developer.lametric.com/content/apps/icon_thumbs/34.png
                                        https://developer.lametric.com/content/apps/icon_thumbs/87.gif
                                        Und den Link dann umrechnen lassen, bspw. hier: https://www.base64-image.de/

                                        Hier mal ein Beispielaufruf für eine dynamische Animation und ein statisches Icon (als Blockly Export):


                                        <block xmlns="https://developers.google.com/blockly/xml" type="control" id="=CV+c45iy2|c)LG|0@" x="29.61627960205078" y="-167">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">lametric.0.apps.XXXXXXX.clock.clockface</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                        <block type="text" id="[6+H/R;8+Km?VSoGRWHV">
                                        <field name="TEXT">data:image/gif;base64,R0lGODlhCAAIAKIAACQiJIyKjMzOzPQCFLS2tPTGzPxabAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAACAAIAAADEwi6PPbNFBNlpSoEwUUOREgwZAIAIfkECQoAAAAsAAAAAAgACACCJCIkjIqMzM7M/FpstLa09MbMAAAAAAAAAxMIujw+rbg2JJ0qBMFFDkRIMGQCACH5BAkKAAAALAAAAAAIAAgAAAMUCLpsPqy8JuFyxoIQhBcKR4wEYyYAIfkECQoAAAAsAAAAAAgACAAAAxQIumw2o724ypRwhSC6UBshEkyZAAAh+QQJCgAAACwAAAAACAAIAIIkIiSMioz0AhS0trT8WmzMzswAAAAAAAADFAi6TCKkvbgclFeFUHrRwSAOTJkAACH5BAkKAAAALAAAAAAIAAgAAAMTCLo8Y6a9ImGNKgTBRQ5ESDBkAgA7</field>
                                        </block>
                                        </value>
                                        </block>


                                        <block xmlns="https://developers.google.com/blockly/xml" type="control" id="@Lw3WsbMavgGfy8AV`,2" x="29.61627960205078" y="1415">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">lametric.0.apps.XXXXXXXX.clock.clockface</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                        <block type="text" id="%OQCe6N]QDoehGmPf0Lw">
                                        <field name="TEXT">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAUElEQVQYlWNUVFBgQAdXHnz/z8DAwKCjwMnIhCGLBlhgjHv37/+HsZUUFRlhprDAJDs6OhiQFX9jlGBgYGBgIGgFTgU6CpyMRJnAiM2byAAAfR4WsqJz+mUAAAAASUVORK5CYII=</field>
                                        </block>
                                        </value>
                                        </block>

                                        F Offline
                                        F Offline
                                        Fix
                                        schrieb am zuletzt editiert von
                                        #63

                                        @siggi85 sagte in LaMetric oder JSON-POST per IOBroker Javascript:

                                        https://www.base64-image.de/

                                        Hoi Siggi

                                        Herzlichen Dank für die Präzisierung. So klappts. Ich habe den Fehler gemacht, dass ich die grossen Icons von der Lametric Webseite heruntergeladen und umgewandelt habe. Das ist super so. Genau das suche ich seit Monaten, juhui!

                                        Lieben Gruss

                                        Fix

                                        1 Antwort Letzte Antwort
                                        0
                                        • siggi85S siggi85

                                          @haus-automatisierung sagte in LaMetric oder JSON-POST per IOBroker Javascript:

                                          @siggi85 Schon klar, aber da gibt es ja zig verschiedene App Typen. Und dann gibt es noch Verschiedene Channels usw. Ist nicht so easy das generisch zu bauen.

                                          Habe das letztens so gelöst für mich:
                                          Habe einen Datenpunkt angelegt, an den ich JSON Content schicken kann, und dieser wird dann direkt an die lametric gesendet (die IP hole ich mir aber aus deinem Adapter :) ).

                                          function volume(value) {
                                            if (value == true) {
                                              setState("0_userdata.0.helper.lametric_soundapp"/*lametric_soundapp*/, (['{ "frames": [ { "text": "Mute", "icon": ','43852',', "index": 0 } ] }'].join('')));
                                            } else if (!value) {
                                              setState("0_userdata.0.helper.lametric_soundapp"/*lametric_soundapp*/, (['{ "frames": [ { "text": "Mute", "icon": ','21067',', "index": 0 } ] }'].join('')));
                                            } else {
                                              setState("0_userdata.0.helper.lametric_soundapp"/*lametric_soundapp*/, (['{"frames": [ { "icon": "','21067','", "goalData": { "start": 0, "current": ',getState("denon.0.zoneMain.volume").val,', "end": 50 }, "index": 0 } ] }'].join('')));
                                            }
                                          }
                                          


                                          on({id: '0_userdata.0.helper.lametric_soundapp', change: "any"}, function (obj) {
                                          var value = obj.state.val;
                                          var oldValue = obj.oldState.val;
                                          exec((['curl -k -X POST -H "Accept: application/json" -H',' "X-Access-Token: XXXXXXXXXXXXXXXXXXXXXXX"',' -H "Cache-Control: no-cache" -d \'',(obj.state ? obj.state.val : ""),'\' https://',getState('lametric.0.meta.wifi.ip').val,':4343/api/v1/dev/widget/update/com.lametric.XXXXXXXXXXXXXXXXXXXXXXXXXX'].join('')));
                                          });
                                          

                                          Ein Feld in das man JSON einträgt und diesen dann mit den entsprechenden Access Token der App versendet, wäre bspw. eine generische Möglichkeit. Aber für mich reicht das erst mal so. :)

                                          @Samsotin @Fix
                                          Ich hole mir die Icons von der Lametric Seite: https://developer.lametric.com/icons
                                          Danach schaue ich nach der ID und hole mir dann den direkten Link des Icons (GIF oder PNG, je nach Image oder Animation):
                                          Bspw.:
                                          https://developer.lametric.com/content/apps/icon_thumbs/34.png
                                          https://developer.lametric.com/content/apps/icon_thumbs/87.gif
                                          Und den Link dann umrechnen lassen, bspw. hier: https://www.base64-image.de/

                                          Hier mal ein Beispielaufruf für eine dynamische Animation und ein statisches Icon (als Blockly Export):


                                          <block xmlns="https://developers.google.com/blockly/xml" type="control" id="=CV+c45iy2|c)LG|0@" x="29.61627960205078" y="-167">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                          <field name="OID">lametric.0.apps.XXXXXXX.clock.clockface</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                          <block type="text" id="[6+H/R;8+Km?VSoGRWHV">
                                          <field name="TEXT">data:image/gif;base64,R0lGODlhCAAIAKIAACQiJIyKjMzOzPQCFLS2tPTGzPxabAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAACAAIAAADEwi6PPbNFBNlpSoEwUUOREgwZAIAIfkECQoAAAAsAAAAAAgACACCJCIkjIqMzM7M/FpstLa09MbMAAAAAAAAAxMIujw+rbg2JJ0qBMFFDkRIMGQCACH5BAkKAAAALAAAAAAIAAgAAAMUCLpsPqy8JuFyxoIQhBcKR4wEYyYAIfkECQoAAAAsAAAAAAgACAAAAxQIumw2o724ypRwhSC6UBshEkyZAAAh+QQJCgAAACwAAAAACAAIAIIkIiSMioz0AhS0trT8WmzMzswAAAAAAAADFAi6TCKkvbgclFeFUHrRwSAOTJkAACH5BAkKAAAALAAAAAAIAAgAAAMTCLo8Y6a9ImGNKgTBRQ5ESDBkAgA7</field>
                                          </block>
                                          </value>
                                          </block>


                                          <block xmlns="https://developers.google.com/blockly/xml" type="control" id="@Lw3WsbMavgGfy8AV`,2" x="29.61627960205078" y="1415">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                          <field name="OID">lametric.0.apps.XXXXXXXX.clock.clockface</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                          <block type="text" id="%OQCe6N]QDoehGmPf0Lw">
                                          <field name="TEXT">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAUElEQVQYlWNUVFBgQAdXHnz/z8DAwKCjwMnIhCGLBlhgjHv37/+HsZUUFRlhprDAJDs6OhiQFX9jlGBgYGBgIGgFTgU6CpyMRJnAiM2byAAAfR4WsqJz+mUAAAAASUVORK5CYII=</field>
                                          </block>
                                          </value>
                                          </block>

                                          S Offline
                                          S Offline
                                          Samsotin
                                          schrieb am zuletzt editiert von
                                          #64

                                          @siggi85 auch von mir ein großes Dankeschön für die detaillierte Beschreibung. Jetzt klappt es.

                                          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

                                          735

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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