Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Ulanzi T001 / AWTRIX Light Weather Script.

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Ulanzi T001 / AWTRIX Light Weather Script.

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
67 Beiträge 19 Kommentatoren 12.8k Aufrufe 18 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A Andy200877

    @olli_m
    Dort musst du deine objekte, für das wetter icon und für die temperatur angeben.
    Ganz oben natürlich die ip adresse der ulanzi uhr.
    Für openweather braucht man einen api key. Den kann man sich aber kostenlos erstellen. Dazu einfach mal in den adapter schauen.
    Alternstiv kann natürlich auch ein anderer wetter adapter verwendet werden. Ich habe aber keinen gefunden, wo für das aktuelle wetter ein symbol angegeben wird.
    Ich werde nachher aber mein skript nochmal anpassen, wenn ein Benutzername / Kennwort auf der Uhr eingerichtet ist.

    Olli_MO Offline
    Olli_MO Offline
    Olli_M
    schrieb am zuletzt editiert von Olli_M
    #26

    @andy200877
    klappt super , hast du echt toll gemacht 🙂

    hab sogar Passwort eingerichtet auf der ulanzi, aber scheint ihn nicht zu kümmern, dass man eines braucht.. lol

    A 1 Antwort Letzte Antwort
    0
    • Olli_MO Olli_M

      @andy200877
      klappt super , hast du echt toll gemacht 🙂

      hab sogar Passwort eingerichtet auf der ulanzi, aber scheint ihn nicht zu kümmern, dass man eines braucht.. lol

      A Offline
      A Offline
      Andy200877
      schrieb am zuletzt editiert von
      #27

      Ich habe mein Skript nun nochmal überarbeitet. Im 1. Post gibt es nun immer das aktuellste Skript.

      Folgendes sollte nun Funktionieren :

      • Benutzername / Kennwort
      • Skript steuerbar über Objekte
      • Dokumentation erweitert

      https://github.com/Andy200877/intex_poollampe

      Olli_MO 1 Antwort Letzte Antwort
      2
      • A Andy200877

        Ich habe mein Skript nun nochmal überarbeitet. Im 1. Post gibt es nun immer das aktuellste Skript.

        Folgendes sollte nun Funktionieren :

        • Benutzername / Kennwort
        • Skript steuerbar über Objekte
        • Dokumentation erweitert
        Olli_MO Offline
        Olli_MO Offline
        Olli_M
        schrieb am zuletzt editiert von
        #28

        @andy200877

        der temperatur DP aktualisiert sich ja dauernd wie ist das mit dem Wetter Icon?

        A 1 Antwort Letzte Antwort
        0
        • Olli_MO Olli_M

          @andy200877

          der temperatur DP aktualisiert sich ja dauernd wie ist das mit dem Wetter Icon?

          A Offline
          A Offline
          Andy200877
          schrieb am zuletzt editiert von
          #29

          @olli_m wenn sich das openweathericon ändert, wird es auch an der Uhr geändert.

          https://github.com/Andy200877/intex_poollampe

          G 1 Antwort Letzte Antwort
          1
          • A Andy200877

            @olli_m wenn sich das openweathericon ändert, wird es auch an der Uhr geändert.

            G Offline
            G Offline
            Gartenrosenzuechter
            schrieb am zuletzt editiert von
            #30

            @andy200877 Besten Dank - funktioniert nun perfekt !!!!

            1 Antwort Letzte Antwort
            0
            • A Andy200877

              Ich habe seit gestern auch eine Ulanzi T001 Pixeluhr.

              Das Skript erzeugt nach dem Start eine neue App auf der Uhr.
              Sollten sich nun die Datenpunkte für das Wettersymbol oder der Temperaturwert ändern, werden die geänderten Daten erneut zur Uhr gesendet.

              Im Skript lässt sich der Pfad zu den Skripteigenen Objekten anpassen.

              var bezeichnung_uhr = "Ulanzi_#1"; 
              var appname = "Wetter"; 
              var objektpfad = "0_userdata.0.Visualisierung.Ulanzi"; 
              

              Es werden in diesem Fall ein paar Objekte unter : "objektpfad.bezeichnung_uhr.appname " erstellt.
              In diesem Beispiel werden also unter : "0_userdata.0.Visualisierung.Ulanzi.Ulanzi_#1.Wetter."
              folgende Objekte erstellt :

              • Text_center
              • backgroundcolor
              • fontcolor
              • rainbow
              • visible

              Über das Objekt visible lässt sich meine Wetter App auf der Uhr ein.-/ausschalten.
              Der Rest ist denke ich mal selbsterklärend.

              Als Wetterdienst habe ich mich für "openweathermap" entschieden, weil es dort auch unterschiedliche Symbole für Tag und Nacht gibt und das aktuelle Wetter als Symbol vorliegt.
              Für Openweathermap wird jedoch ein API-Key benötigt. Dieser ist aber kostenlos und schnell erstellt. Am besten dazu mal in den Openweathermap-Adapter schauen.
              Falls jemand einen anderen guten Wetterdienst kennt, immer raus mit der Sprache, dann passe ich mein Skript dafür an....

              Anpassen / Einrichtung des Skripts
              Eigentlich müsst Ihr nur die Zeilen 6-16 nach Euren Bedürfnissen anpassen.
              Ihr müsst natürlich die IP-Adresse und Eure Zugangsdaten, falls Ihr welche auf der Uhr habt im Skript anpassen.
              In Zeile 15 muss der "Link" zum Openweathermap Icon angegeben werden. Evtl. muss bei Euch die Instanz Nummer geändert werden.
              In Zeile 16 wird der Link zum Temperaturwert eingetragen, bei mir ist dort z.B. meine Wetterstation eingetragen. Somit bekomme ich Livewerte. (Die Temperaturwerte werden auf 1 Nachkommastelle gerundet)

              Zum Schluss müssen natürlich noch die Wettersymbole auf Eure Uhr geladen werden. Die entsprechenden ID's sind Zeile 22-39 im Skript angegeben. (var wettericon1-18)

              Einige Symbole finde ich nicht besonders schön und sie "springen" bei der Anzeige, aber das liegt wohl an den Icons. Wenn jemand andere schönere / fehlerfreie Icons hat, immer her damit.... 😉

              Und zum Schluss nochmal vielen Dank, für die User welche mich unterstützt und Verbesserungen zum Skript haben. Ich bin nur ein "Hobbyprogrammierer".

              Hier mein Code / JavaScript :

              //  **********************
              //  AB HIER BITTE ANPASSEN 
              //  **********************
              
              // IP-Adresse der Uhr
              var ipadresse = "192.168.14.220";                       // IP-Adrersse der Uhr
              var username = "user";                                  // Benutzername, falls unter AwTrix unter Auth eins eingerichtet ist.
              var password = "awtrix";                                // Passwort, falls unter Awtrix unter Auth eins eingerichtet ist.
              var bezeichnung_uhr = "Ulanzi_#1";                      // Bezeichnung der Uhr, falls man mehrere besitzt.
              var appname = "Wetter";                                 // Bezeichnung der App auf der Uhr
              var objektpfad = "0_userdata.0.Visualisierung.Ulanzi";  // Dort werden die Objekte zum steuern erstellt. z.B. 0_userdata.0.Visualisierung.Ulanzi.Ulanzi_#1.Wetter
              var debug = false;                                       // (true/false) Debug Modus mehr Logausgaben beim Betrieb
              
              // Openweathermap
              var obj_wetter_url = 'openweathermap.0.forecast.current.icon';      // Quelle für Wettersymbol
              var obj_temperatur = 'wiffi-wz.0.root.192_168_14_117.w_temperatur'; // Quelle für Temperaturwert
              
              
              
              // Wettersymbole-ID Nummern von https://developer.lametric.com/icons
              // Jedes Symbol muss auch auf die Uhr hochgeladen werden !
              var wettericon01 = '11201';     // klarer Himmel Tag
              var wettericon02 = '52163';     // klarer Himmel Nacht
              var wettericon03 = '22315';     // ein paar Wolken Tag (11-25% Wolken)
              var wettericon04 = '26088';     // ein paar Wolken Nacht (11-25% Wolken)
              var wettericon05 = '22378';     // aufgelockerte Bewölkung Tag (25-50% Wolken)
              var wettericon06 = '21907';     // aufgelockerte Bewölkung Nacht (25-50% Wolken)
              var wettericon07 = '13852';     // bewölkt Tag (51-100%)
              var wettericon08 = '52159';     // bewölkt Nacht (51-100%)
              var wettericon09 = '43706';     // Regenschauer Tag
              var wettericon10 = '43739';     // Regenschauer Nacht
              var wettericon11 = '22257';     // Regen Tag
              var wettericon12 = '72';        // Regen Nacht
              var wettericon13 = '43733';     // Gewitter Tag
              var wettericon14 = '43748';     // Gewitter Nacht
              var wettericon15 = '43732';     // Schnee Tag
              var wettericon16 = '26090';     // Schnee Nacht
              var wettericon17 = '43708';     // Nebel Tag
              var wettericon18 = '43741';     // Nebel Nacht
              
              // *****************************************
              // AB HIER MUSS NICHTS MEHR ANGEPASST WERDEN
              // *****************************************
              
              
              console.log('Ulanzi Wetterscript start für Uhr ' + bezeichnung_uhr + "(" + ipadresse + ")");
              
              var objekte = objektpfad + '.' + bezeichnung_uhr + '.' + appname
              createState(objekte + '.visible', true, {read: true, write: true,  type: "boolean", name: "App visible"});
              createState(objekte + '.fontcolor', '#FFFFFF', {read: true, write: true,  type: "string", name: "Fontcolor"});
              createState(objekte + '.backgroundcolor', '#000000', {read: true, write: true,  type: "string", name: "Backgroundcolor"});
              createState(objekte + '.rainbow', false, {read: true, write: true,  type: "boolean", name: "Rainbow Font"});
              createState(objekte + '.Text_center', true, {read: true, write: true,  type: "boolean", name: "Center text"});
              
              
              
              await wait(2000);
              
              
              
              var wetter_url = getState(obj_wetter_url).val;
              var temperatur = getState(obj_temperatur).val;
              var schriftfarbe = getState(objekte + '.fontcolor').val;
              var hintergrundfarbe = getState(objekte + '.backgroundcolor').val;
              var regenbogen = getState(objekte + '.rainbow').val;
              var zentriert = getState(objekte + '.Text_center').val;
              var temperatureinheit = (await getObjectAsync(obj_temperatur)).common.unit;
              
              
              if (getState(objekte + '.visible').val == true) {
                  await update_wetter();
              }
              
              
              on({ id: [].concat([obj_wetter_url]).concat([obj_temperatur]), change: 'ne' }, async (obj) => {
                  wetter_url = getState(obj_wetter_url).val;
                  temperatur = getState(obj_temperatur).val;
                  temperatureinheit = (await getObjectAsync(obj_temperatur)).common.unit;
                  if (getState(objekte + '.visible').val == true) {
                      await update_wetter();
                  }
              });
              
              
              on({ id: [].concat([objekte + '.visible']), change: 'ne' }, async (obj) => {
                  setState(obj.id, obj.state.val, true);
                if ((obj.state ? obj.state.val : "") == true) {
                  await update_wetter();
                } else {
                  await delete_wetter();
                }
              });
              
              on({ id: [].concat([objekte + '.fontcolor']), change: 'ne' }, async (obj) => {
                  setState(obj.id, obj.state.val, true);
                  schriftfarbe = (obj.state ? obj.state.val : "");
                  await update_wetter();
              });
              
              on({ id: [].concat([objekte + '.backgroundcolor']), change: 'ne' }, async (obj) => {
                  setState(obj.id, obj.state.val, true);
                  hintergrundfarbe = (obj.state ? obj.state.val : "");
                  await update_wetter();
              });
              
              on({ id: [].concat([objekte + '.rainbow']), change: 'ne' }, async (obj) => {
                  setState(obj.id, obj.state.val, true);
                  regenbogen = (obj.state ? obj.state.val : "");
                  await update_wetter();
              });
              
              on({ id: [].concat([objekte + '.Text_center']), change: 'ne' }, async (obj) => {
                  setState(obj.id, obj.state.val, true);
                  zentriert = (obj.state ? obj.state.val : "");
                  await update_wetter();
              });
              
              
              async function update_wetter() {
                  var ulanzi_weather_icon = "";
                  var result ="";
              // https://blueforcer.github.io/awtrix-light/#/api
                  switch (wetter_url) {
                      case 'https://openweathermap.org/img/w/01d.png':
                          ulanzi_weather_icon = wettericon01;
                          break;
                      case 'https://openweathermap.org/img/w/01n.png':
                          ulanzi_weather_icon = wettericon02;
                          break;
                      case 'https://openweathermap.org/img/w/02d.png':
                          ulanzi_weather_icon = wettericon03;
                          break;
                      case 'https://openweathermap.org/img/w/02n.png':
                          ulanzi_weather_icon = wettericon04;
                          break;
                      case 'https://openweathermap.org/img/w/03d.png':
                          ulanzi_weather_icon = wettericon05;
                          break;
                      case 'https://openweathermap.org/img/w/03n.png':
                          ulanzi_weather_icon = wettericon06;
                          break;
                      case 'https://openweathermap.org/img/w/04d.png':
                          ulanzi_weather_icon = wettericon07;
                          break;
                      case 'https://openweathermap.org/img/w/04n.png':
                          ulanzi_weather_icon = wettericon08;
                          break;
                      case 'https://openweathermap.org/img/w/09d.png':
                          ulanzi_weather_icon = wettericon09;
                          break;
                      case 'https://openweathermap.org/img/w/09n.png':
                          ulanzi_weather_icon = wettericon10;
                          break;
                      case 'https://openweathermap.org/img/w/10d.png':
                          ulanzi_weather_icon = wettericon11;
                          break;
                      case 'https://openweathermap.org/img/w/10n.png':
                          ulanzi_weather_icon = wettericon12;
                          break;
                      case 'https://openweathermap.org/img/w/11d.png':
                          ulanzi_weather_icon = wettericon13;
                          break;
                      case 'https://openweathermap.org/img/w/11n.png':
                          ulanzi_weather_icon = wettericon14;
                          break;
                      case 'https://openweathermap.org/img/w/13d.png':
                          ulanzi_weather_icon = wettericon15;
                          break;
                      case 'https://openweathermap.org/img/w/13n.png':
                          ulanzi_weather_icon = wettericon16;
                          break;
                      case 'https://openweathermap.org/img/w/50d.png':
                          ulanzi_weather_icon = wettericon17;
                          break;
                      case 'https://openweathermap.org/img/w/50n.png':
                          ulanzi_weather_icon = wettericon18;
                  }
                
                temperatur = Math.round(temperatur * 10) / 10;
                let ipadress = ipadresse;
                let dataObj = {};
                dataObj.text = '' + temperatur + temperatureinheit;
                dataObj.textCase = 2; // 2 so wie gesendet, 1= Uppercase, 0 = global settings
                dataObj.topText = false; // boolean	Draw the text on top.
                dataObj.textOffset = 0;
                dataObj.center = zentriert;
                dataObj.color = schriftfarbe;
                dataObj.background = hintergrundfarbe;
                dataObj.rainbow = regenbogen;
                dataObj.icon = ulanzi_weather_icon;
                dataObj.pushIcon = 0;
                dataObj.duration = 5;
                dataObj.repeat = 1;
                var post = "curl -X POST -u " + username + ":" + password + " -d  '" + JSON.stringify(dataObj)+"\' -H \'Content-Type: application/json\' \'http://"+ipadress+"/api/custom?name=" + appname + "'";
                exec(post, async (error, result, stderr) => {
                    if (debug) {
                        console.log(post);
                        console.log(result);
                    }
                  });
              
              }
              
              async function delete_wetter() {
                  let ipadress = ipadresse;
                  var post = "curl -X POST -u " + username + ":" + password + " -d  '' -H \'Content-Type: application/json\' \'http://"+ipadress+"/api/custom?name=" + appname + "'";
                  exec(post, async (error, result, stderr) => {
                    if (debug) {
                        console.log("Deaktiviere " + appname);
                        console.log(post);
                        console.log(result);
                    }
                  });
              }
              
              

              Changelog
              11.11.2023 : Benutzername / Kennwort eingefügt, bessere Debug Informationen, mehr Kommentare im Skript.

              I Offline
              I Offline
              IO-SR
              schrieb am zuletzt editiert von
              #31

              @andy200877

              Danke für Deine Arbeit und das bereitstellen.

              Ich bin erst kurz dabei und habe wohl etwas vergessen umzusetzen. Das Script läuft, die Objekte wurden auch angelegt, die App auf meiner Uhr aber nicht erstellt.

              Direkt nach dem Starten sieht es so aus:

              javascript.0 2023-11-12 09:51:11.682 info script.js.common.Wetter: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
              javascript.0 2023-11-12 09:51:11.681 info script.js.common.Wetter: Ulanzi Wetterscript start für Uhr awtrix-light(192.168.178.101)
              javascript.0 2023-11-12 09:51:11.673 info Start javascript script.js.common.Wetter

              Muß ich manuell noch etwas vorbereiten?

              A 1 Antwort Letzte Antwort
              0
              • I IO-SR

                @andy200877

                Danke für Deine Arbeit und das bereitstellen.

                Ich bin erst kurz dabei und habe wohl etwas vergessen umzusetzen. Das Script läuft, die Objekte wurden auch angelegt, die App auf meiner Uhr aber nicht erstellt.

                Direkt nach dem Starten sieht es so aus:

                javascript.0 2023-11-12 09:51:11.682 info script.js.common.Wetter: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                javascript.0 2023-11-12 09:51:11.681 info script.js.common.Wetter: Ulanzi Wetterscript start für Uhr awtrix-light(192.168.178.101)
                javascript.0 2023-11-12 09:51:11.673 info Start javascript script.js.common.Wetter

                Muß ich manuell noch etwas vorbereiten?

                A Offline
                A Offline
                Andy200877
                schrieb am zuletzt editiert von
                #32

                @io-sr
                Hast Du, auf der Uhr unter "Auth" einen Benutzernamen / Passwort vergeben ?
                Dann bitte diese auch im Skript eintragen.
                Die Datenpunkte im Skript für Temperaturwert und Wettersymbol entsprechend angepasst ?
                Wettersymbole auf der Uhr heruntergeladen ?

                Falls alles richtig ist, bitte mal debug im skrkpt auf true setzen und die ausgabe hier posten.

                https://github.com/Andy200877/intex_poollampe

                I 1 Antwort Letzte Antwort
                0
                • A Andy200877

                  @io-sr
                  Hast Du, auf der Uhr unter "Auth" einen Benutzernamen / Passwort vergeben ?
                  Dann bitte diese auch im Skript eintragen.
                  Die Datenpunkte im Skript für Temperaturwert und Wettersymbol entsprechend angepasst ?
                  Wettersymbole auf der Uhr heruntergeladen ?

                  Falls alles richtig ist, bitte mal debug im skrkpt auf true setzen und die ausgabe hier posten.

                  I Offline
                  I Offline
                  IO-SR
                  schrieb am zuletzt editiert von
                  #33

                  @andy200877

                  Ja die von Dir genannten Punkte wurden alle umgesetzt. Nach dem Setzen des Debug auf True wird folgendes im Logger interlegt:

                  javascript.0 2023-11-12 10:12:37.570 info script.js.common.Wetter:
                  javascript.0 2023-11-12 10:12:37.570 info script.js.common.Wetter: curl -X POST -u user:awtrix -d '{"text":"2.8°C","textCase":2,"topText":false,"textOffset":0,"center":true,"color":"#FFFFFF","background":"#000000","rainbow":false,"icon":"13852","pushIcon":0,"duration":5,"repeat":1}' -H 'Content-Type: application/json' 'http://192.168.178.101/api/custom?name=Wetter'
                  admin.1 2023-11-12 10:12:36.441 info <== Disconnect system.user.admin from ::ffff:192.168.178.38 javascript
                  javascript.0 2023-11-12 10:12:32.807 info script.js.common.Wetter: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                  javascript.0 2023-11-12 10:12:32.807 info script.js.common.Wetter: Ulanzi Wetterscript start für Uhr awtrix-light(192.168.178.101)
                  javascript.0 2023-11-12 10:12:32.804 info Start javascript script.js.common.Wetter

                  Leider habe ich bis jetzt nichts mit Java zu tun gehabt. Ich habe bis jetzt die Apps nur über die Instanz selbst angelegt und dann über kleine Skripte (Blockly) gesteuert.

                  A 1 Antwort Letzte Antwort
                  0
                  • I IO-SR

                    @andy200877

                    Ja die von Dir genannten Punkte wurden alle umgesetzt. Nach dem Setzen des Debug auf True wird folgendes im Logger interlegt:

                    javascript.0 2023-11-12 10:12:37.570 info script.js.common.Wetter:
                    javascript.0 2023-11-12 10:12:37.570 info script.js.common.Wetter: curl -X POST -u user:awtrix -d '{"text":"2.8°C","textCase":2,"topText":false,"textOffset":0,"center":true,"color":"#FFFFFF","background":"#000000","rainbow":false,"icon":"13852","pushIcon":0,"duration":5,"repeat":1}' -H 'Content-Type: application/json' 'http://192.168.178.101/api/custom?name=Wetter'
                    admin.1 2023-11-12 10:12:36.441 info <== Disconnect system.user.admin from ::ffff:192.168.178.38 javascript
                    javascript.0 2023-11-12 10:12:32.807 info script.js.common.Wetter: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                    javascript.0 2023-11-12 10:12:32.807 info script.js.common.Wetter: Ulanzi Wetterscript start für Uhr awtrix-light(192.168.178.101)
                    javascript.0 2023-11-12 10:12:32.804 info Start javascript script.js.common.Wetter

                    Leider habe ich bis jetzt nichts mit Java zu tun gehabt. Ich habe bis jetzt die Apps nur über die Instanz selbst angelegt und dann über kleine Skripte (Blockly) gesteuert.

                    A Offline
                    A Offline
                    Andy200877
                    schrieb am zuletzt editiert von
                    #34

                    @io-sr
                    Ist bei Dir in den Einstellungen der javascript Instanz der Punkt : "Kommando "exec" erlauben" aktiviert ?

                    https://github.com/Andy200877/intex_poollampe

                    I 1 Antwort Letzte Antwort
                    0
                    • A Andy200877

                      @io-sr
                      Ist bei Dir in den Einstellungen der javascript Instanz der Punkt : "Kommando "exec" erlauben" aktiviert ?

                      I Offline
                      I Offline
                      IO-SR
                      schrieb am zuletzt editiert von
                      #35

                      @andy200877

                      Ja, exec und SetObject sind gesetzt.

                      Kann es vielleicht noch etwas mit den Einstellungen im MQTT zu tun haben? Dort ist nicht ein Häckchen gesetzt.

                      1 Antwort Letzte Antwort
                      0
                      • A Offline
                        A Offline
                        Andy200877
                        schrieb am zuletzt editiert von
                        #36

                        @io-sr
                        Nein.. mit mqtt wird es nichts zu tun haben. Wird auch nicht für das skript benötigt.

                        Deine Uhr antwortet nicht...
                        IP Adresse : 192.168.178.38 ist richtig ?

                        Benutzername : user und Passwort : awtrix auf der Uhr unter Auth eingetragen ? Oder steht unter Auth etwas anderes ?

                        https://github.com/Andy200877/intex_poollampe

                        I 2 Antworten Letzte Antwort
                        0
                        • A Andy200877

                          @io-sr
                          Nein.. mit mqtt wird es nichts zu tun haben. Wird auch nicht für das skript benötigt.

                          Deine Uhr antwortet nicht...
                          IP Adresse : 192.168.178.38 ist richtig ?

                          Benutzername : user und Passwort : awtrix auf der Uhr unter Auth eingetragen ? Oder steht unter Auth etwas anderes ?

                          I Offline
                          I Offline
                          IO-SR
                          schrieb am zuletzt editiert von
                          #37

                          @andy200877

                          Die Uhr hat die 192.168.178.101. Die 38 hat der PC.
                          Benutzer und PW sind auch in der Uhr eingetragen.

                          Es wird wahrscheinlich irgend eine Kleinigkeit sein die bei mir nicht gesetzt ist. Gibt es vielleicht noch etwas was gemacht werden muß was eigentlich zum Basiswissen gehört und von mir nicht beachtet wurde? Wie gesagt, ein paar kleine Skripte habe ich am laufen mit denen dann die über die Instanz die Apps gefüttert werden.

                          javascript.0 2023-11-12 16:41:53.961 info script.js.common.Wetter:
                          javascript.0 2023-11-12 16:41:53.961 info script.js.common.Wetter: curl -X POST -u user:awtrix -d '{"text":"7.1°C","textCase":2,"topText":false,"textOffset":0,"center":true,"color":"#FFFFFF","background":"#000000","rainbow":false,"icon":"13852","pushIcon":0,"duration":5,"repeat":1}' -H 'Content-Type: application/json' 'http://192.168.178.101/api/custom?name=Wetter'
                          javascript.0 2023-11-12 16:41:49.221 info script.js.common.Wetter: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                          javascript.0 2023-11-12 16:41:49.220 info script.js.common.Wetter: Ulanzi Wetterscript start für Uhr awtrix-light(192.168.178.101)
                          javascript.0 2023-11-12 16:41:49.211 info Start javascript script.js.common.Wetter

                          Olli_MO 1 Antwort Letzte Antwort
                          0
                          • I IO-SR

                            @andy200877

                            Die Uhr hat die 192.168.178.101. Die 38 hat der PC.
                            Benutzer und PW sind auch in der Uhr eingetragen.

                            Es wird wahrscheinlich irgend eine Kleinigkeit sein die bei mir nicht gesetzt ist. Gibt es vielleicht noch etwas was gemacht werden muß was eigentlich zum Basiswissen gehört und von mir nicht beachtet wurde? Wie gesagt, ein paar kleine Skripte habe ich am laufen mit denen dann die über die Instanz die Apps gefüttert werden.

                            javascript.0 2023-11-12 16:41:53.961 info script.js.common.Wetter:
                            javascript.0 2023-11-12 16:41:53.961 info script.js.common.Wetter: curl -X POST -u user:awtrix -d '{"text":"7.1°C","textCase":2,"topText":false,"textOffset":0,"center":true,"color":"#FFFFFF","background":"#000000","rainbow":false,"icon":"13852","pushIcon":0,"duration":5,"repeat":1}' -H 'Content-Type: application/json' 'http://192.168.178.101/api/custom?name=Wetter'
                            javascript.0 2023-11-12 16:41:49.221 info script.js.common.Wetter: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                            javascript.0 2023-11-12 16:41:49.220 info script.js.common.Wetter: Ulanzi Wetterscript start für Uhr awtrix-light(192.168.178.101)
                            javascript.0 2023-11-12 16:41:49.211 info Start javascript script.js.common.Wetter

                            Olli_MO Offline
                            Olli_MO Offline
                            Olli_M
                            schrieb am zuletzt editiert von
                            #38

                            @Andy200877

                            Hast du dir das auch mal angeschaut mit den Experten Apps? dann wäre es auch als App im Adapter mit drin...

                            https://github.com/klein0r/ioBroker.awtrix-light/blob/master/docs/de/README.md#experten-apps

                            A 1 Antwort Letzte Antwort
                            0
                            • Olli_MO Olli_M

                              @Andy200877

                              Hast du dir das auch mal angeschaut mit den Experten Apps? dann wäre es auch als App im Adapter mit drin...

                              https://github.com/klein0r/ioBroker.awtrix-light/blob/master/docs/de/README.md#experten-apps

                              A Offline
                              A Offline
                              Andy200877
                              schrieb am zuletzt editiert von
                              #39

                              @olli_m

                              Ja... Das kenne ich... Mein Skript ist entstanden, als man über die ExpertenOptionen noch kein kein Icon angeben konnte, bzw. der Adapter nicht auf ein ändern des Icons reagiert hat.
                              😉

                              https://github.com/Andy200877/intex_poollampe

                              Olli_MO 1 Antwort Letzte Antwort
                              0
                              • A Andy200877

                                @olli_m

                                Ja... Das kenne ich... Mein Skript ist entstanden, als man über die ExpertenOptionen noch kein kein Icon angeben konnte, bzw. der Adapter nicht auf ein ändern des Icons reagiert hat.
                                😉

                                Olli_MO Offline
                                Olli_MO Offline
                                Olli_M
                                schrieb am zuletzt editiert von Olli_M
                                #40

                                @andy200877

                                Achso sorry 🙂

                                A 1 Antwort Letzte Antwort
                                0
                                • Olli_MO Olli_M

                                  @andy200877

                                  Achso sorry 🙂

                                  A Offline
                                  A Offline
                                  Andy200877
                                  schrieb am zuletzt editiert von
                                  #41

                                  @olli_m
                                  Du hast aber Recht. Eigentlich benötigt man mein Skript nicht mehr wirklich, wenn man keine Schriftfarben / Hintergrundfarben,... ändern möchte.
                                  Man müsste nur über ein Blockly / mein Skript die entsprechenden Datenpunkte des Adapters ändern.

                                  https://github.com/Andy200877/intex_poollampe

                                  Olli_MO 1 Antwort Letzte Antwort
                                  0
                                  • A Andy200877

                                    @olli_m
                                    Du hast aber Recht. Eigentlich benötigt man mein Skript nicht mehr wirklich, wenn man keine Schriftfarben / Hintergrundfarben,... ändern möchte.
                                    Man müsste nur über ein Blockly / mein Skript die entsprechenden Datenpunkte des Adapters ändern.

                                    Olli_MO Offline
                                    Olli_MO Offline
                                    Olli_M
                                    schrieb am zuletzt editiert von
                                    #42

                                    @andy200877

                                    Hab das falsch verstanden:-) finde dein Script super das war bestimmt viel Arbeit und ich nutze es gerne 🙂

                                    Mit den Experten Apps hab ich mich eh noch ned beschäftigt;-)

                                    1 Antwort Letzte Antwort
                                    0
                                    • A Andy200877

                                      @io-sr
                                      Nein.. mit mqtt wird es nichts zu tun haben. Wird auch nicht für das skript benötigt.

                                      Deine Uhr antwortet nicht...
                                      IP Adresse : 192.168.178.38 ist richtig ?

                                      Benutzername : user und Passwort : awtrix auf der Uhr unter Auth eingetragen ? Oder steht unter Auth etwas anderes ?

                                      I Offline
                                      I Offline
                                      IO-SR
                                      schrieb am zuletzt editiert von
                                      #43

                                      @andy200877

                                      Noch eine Frage. Bei mir wird im Code der Befehl await in Zeile 57, 67 und 71 rot unterstrichen angezeigt. Kann das Problem vielleicht etwas damit zu tun haben?

                                      A 1 Antwort Letzte Antwort
                                      0
                                      • I IO-SR

                                        @andy200877

                                        Noch eine Frage. Bei mir wird im Code der Befehl await in Zeile 57, 67 und 71 rot unterstrichen angezeigt. Kann das Problem vielleicht etwas damit zu tun haben?

                                        A Offline
                                        A Offline
                                        Andy200877
                                        schrieb am zuletzt editiert von Andy200877
                                        #44

                                        Ich habe mein Skript nun überarbeitet.
                                        Einfach im Awtrix.light Adapter unter ExpertenOptionen eine App "wetter" anlegen.

                                        Mein Skript füttert die entsprechenden Objekte des Adapters.

                                        Wie immer ´...

                                        • Icons auf die Uhr laden
                                        • Objektpfade anpassen von (Openweathermap und awtrix)
                                        //  **********************
                                        //  AB HIER BITTE ANPASSEN 
                                        //  **********************
                                        
                                        var obj_ulanzi_icon = "awtrix-light.0.apps.wetter.icon";
                                        var obj_ulanzi_text = "awtrix-light.0.apps.wetter.text";
                                        
                                        // Openweathermap
                                        var obj_wetter_url = "openweathermap.0.forecast.current.icon";      // Quelle für Wettersymbol
                                        var obj_temperatur = "openweathermap.0.forecast.current.temperature"; // Quelle für Temperaturwert
                                        
                                        
                                        
                                        // Wettersymbole-ID Nummern von https://developer.lametric.com/icons
                                        // Jedes Symbol muss auch auf die Uhr hochgeladen werden !
                                        var wettericon01 = '11201';     // klarer Himmel Tag
                                        var wettericon02 = '52163';     // klarer Himmel Nacht
                                        var wettericon03 = '22315';     // ein paar Wolken Tag (11-25% Wolken)
                                        var wettericon04 = '26088';     // ein paar Wolken Nacht (11-25% Wolken)
                                        var wettericon05 = '22378';     // aufgelockerte Bewölkung Tag (25-50% Wolken)
                                        var wettericon06 = '21907';     // aufgelockerte Bewölkung Nacht (25-50% Wolken)
                                        var wettericon07 = '13852';     // bewölkt Tag (51-100%)
                                        var wettericon08 = '52159';     // bewölkt Nacht (51-100%)
                                        var wettericon09 = '43706';     // Regenschauer Tag
                                        var wettericon10 = '43739';     // Regenschauer Nacht
                                        var wettericon11 = '22257';     // Regen Tag
                                        var wettericon12 = '72';        // Regen Nacht
                                        var wettericon13 = '43733';     // Gewitter Tag
                                        var wettericon14 = '43748';     // Gewitter Nacht
                                        var wettericon15 = '43732';     // Schnee Tag
                                        var wettericon16 = '26090';     // Schnee Nacht
                                        var wettericon17 = '43708';     // Nebel Tag
                                        var wettericon18 = '43741';     // Nebel Nacht
                                        
                                        // *****************************************
                                        // AB HIER MUSS NICHTS MEHR ANGEPASST WERDEN
                                        // *****************************************
                                        
                                        
                                        console.log('Ulanzi Wetterscript start für Uhr ');
                                        
                                        var temperatureinheit = (await getObjectAsync(obj_temperatur)).common.unit;
                                        var wetter_url = getState(obj_wetter_url).val;
                                        var temperatur = getState(obj_temperatur).val;
                                        
                                        await update_wetter_icon(wetter_url);
                                        await update_wetter_temp(temperatur);
                                        
                                        
                                        on({ id: [].concat([obj_temperatur]), change: 'ne' }, async (obj) => {
                                          let value = obj.state.val;
                                          update_wetter_temp(value);
                                        });
                                        
                                        
                                        on({ id: [].concat([obj_wetter_url]), change: 'ne' }, async (obj) => {
                                            let value = obj.state.val;
                                            update_wetter_icon(value);
                                        });
                                        
                                        async function update_wetter_temp(wert) {
                                            wert = Math.round(wert * 10) / 10;
                                            setState(obj_ulanzi_text, wert+temperatureinheit);
                                        }
                                        
                                        
                                        async function update_wetter_icon(wetter_url) {
                                            var ulanzi_weather_icon = "";
                                        
                                            switch (wetter_url) {
                                                case 'https://openweathermap.org/img/w/01d.png':
                                                    ulanzi_weather_icon = wettericon01;
                                                    break;
                                                case 'https://openweathermap.org/img/w/01n.png':
                                                    ulanzi_weather_icon = wettericon02;
                                                    break;
                                                case 'https://openweathermap.org/img/w/02d.png':
                                                    ulanzi_weather_icon = wettericon03;
                                                    break;
                                                case 'https://openweathermap.org/img/w/02n.png':
                                                    ulanzi_weather_icon = wettericon04;
                                                    break;
                                                case 'https://openweathermap.org/img/w/03d.png':
                                                    ulanzi_weather_icon = wettericon05;
                                                    break;
                                                case 'https://openweathermap.org/img/w/03n.png':
                                                    ulanzi_weather_icon = wettericon06;
                                                    break;
                                                case 'https://openweathermap.org/img/w/04d.png':
                                                    ulanzi_weather_icon = wettericon07;
                                                    break;
                                                case 'https://openweathermap.org/img/w/04n.png':
                                                    ulanzi_weather_icon = wettericon08;
                                                    break;
                                                case 'https://openweathermap.org/img/w/09d.png':
                                                    ulanzi_weather_icon = wettericon09;
                                                    break;
                                                case 'https://openweathermap.org/img/w/09n.png':
                                                    ulanzi_weather_icon = wettericon10;
                                                    break;
                                                case 'https://openweathermap.org/img/w/10d.png':
                                                    ulanzi_weather_icon = wettericon11;
                                                    break;
                                                case 'https://openweathermap.org/img/w/10n.png':
                                                    ulanzi_weather_icon = wettericon12;
                                                    break;
                                                case 'https://openweathermap.org/img/w/11d.png':
                                                    ulanzi_weather_icon = wettericon13;
                                                    break;
                                                case 'https://openweathermap.org/img/w/11n.png':
                                                    ulanzi_weather_icon = wettericon14;
                                                    break;
                                                case 'https://openweathermap.org/img/w/13d.png':
                                                    ulanzi_weather_icon = wettericon15;
                                                    break;
                                                case 'https://openweathermap.org/img/w/13n.png':
                                                    ulanzi_weather_icon = wettericon16;
                                                    break;
                                                case 'https://openweathermap.org/img/w/50d.png':
                                                    ulanzi_weather_icon = wettericon17;
                                                    break;
                                                case 'https://openweathermap.org/img/w/50n.png':
                                                    ulanzi_weather_icon = wettericon18;
                                            }
                                            setState(obj_ulanzi_icon, ulanzi_weather_icon);
                                        }
                                        
                                        

                                        https://github.com/Andy200877/intex_poollampe

                                        Olli_MO I B spitzeS 4 Antworten Letzte Antwort
                                        1
                                        • A Andy200877

                                          Ich habe mein Skript nun überarbeitet.
                                          Einfach im Awtrix.light Adapter unter ExpertenOptionen eine App "wetter" anlegen.

                                          Mein Skript füttert die entsprechenden Objekte des Adapters.

                                          Wie immer ´...

                                          • Icons auf die Uhr laden
                                          • Objektpfade anpassen von (Openweathermap und awtrix)
                                          //  **********************
                                          //  AB HIER BITTE ANPASSEN 
                                          //  **********************
                                          
                                          var obj_ulanzi_icon = "awtrix-light.0.apps.wetter.icon";
                                          var obj_ulanzi_text = "awtrix-light.0.apps.wetter.text";
                                          
                                          // Openweathermap
                                          var obj_wetter_url = "openweathermap.0.forecast.current.icon";      // Quelle für Wettersymbol
                                          var obj_temperatur = "openweathermap.0.forecast.current.temperature"; // Quelle für Temperaturwert
                                          
                                          
                                          
                                          // Wettersymbole-ID Nummern von https://developer.lametric.com/icons
                                          // Jedes Symbol muss auch auf die Uhr hochgeladen werden !
                                          var wettericon01 = '11201';     // klarer Himmel Tag
                                          var wettericon02 = '52163';     // klarer Himmel Nacht
                                          var wettericon03 = '22315';     // ein paar Wolken Tag (11-25% Wolken)
                                          var wettericon04 = '26088';     // ein paar Wolken Nacht (11-25% Wolken)
                                          var wettericon05 = '22378';     // aufgelockerte Bewölkung Tag (25-50% Wolken)
                                          var wettericon06 = '21907';     // aufgelockerte Bewölkung Nacht (25-50% Wolken)
                                          var wettericon07 = '13852';     // bewölkt Tag (51-100%)
                                          var wettericon08 = '52159';     // bewölkt Nacht (51-100%)
                                          var wettericon09 = '43706';     // Regenschauer Tag
                                          var wettericon10 = '43739';     // Regenschauer Nacht
                                          var wettericon11 = '22257';     // Regen Tag
                                          var wettericon12 = '72';        // Regen Nacht
                                          var wettericon13 = '43733';     // Gewitter Tag
                                          var wettericon14 = '43748';     // Gewitter Nacht
                                          var wettericon15 = '43732';     // Schnee Tag
                                          var wettericon16 = '26090';     // Schnee Nacht
                                          var wettericon17 = '43708';     // Nebel Tag
                                          var wettericon18 = '43741';     // Nebel Nacht
                                          
                                          // *****************************************
                                          // AB HIER MUSS NICHTS MEHR ANGEPASST WERDEN
                                          // *****************************************
                                          
                                          
                                          console.log('Ulanzi Wetterscript start für Uhr ');
                                          
                                          var temperatureinheit = (await getObjectAsync(obj_temperatur)).common.unit;
                                          var wetter_url = getState(obj_wetter_url).val;
                                          var temperatur = getState(obj_temperatur).val;
                                          
                                          await update_wetter_icon(wetter_url);
                                          await update_wetter_temp(temperatur);
                                          
                                          
                                          on({ id: [].concat([obj_temperatur]), change: 'ne' }, async (obj) => {
                                            let value = obj.state.val;
                                            update_wetter_temp(value);
                                          });
                                          
                                          
                                          on({ id: [].concat([obj_wetter_url]), change: 'ne' }, async (obj) => {
                                              let value = obj.state.val;
                                              update_wetter_icon(value);
                                          });
                                          
                                          async function update_wetter_temp(wert) {
                                              wert = Math.round(wert * 10) / 10;
                                              setState(obj_ulanzi_text, wert+temperatureinheit);
                                          }
                                          
                                          
                                          async function update_wetter_icon(wetter_url) {
                                              var ulanzi_weather_icon = "";
                                          
                                              switch (wetter_url) {
                                                  case 'https://openweathermap.org/img/w/01d.png':
                                                      ulanzi_weather_icon = wettericon01;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/01n.png':
                                                      ulanzi_weather_icon = wettericon02;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/02d.png':
                                                      ulanzi_weather_icon = wettericon03;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/02n.png':
                                                      ulanzi_weather_icon = wettericon04;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/03d.png':
                                                      ulanzi_weather_icon = wettericon05;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/03n.png':
                                                      ulanzi_weather_icon = wettericon06;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/04d.png':
                                                      ulanzi_weather_icon = wettericon07;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/04n.png':
                                                      ulanzi_weather_icon = wettericon08;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/09d.png':
                                                      ulanzi_weather_icon = wettericon09;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/09n.png':
                                                      ulanzi_weather_icon = wettericon10;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/10d.png':
                                                      ulanzi_weather_icon = wettericon11;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/10n.png':
                                                      ulanzi_weather_icon = wettericon12;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/11d.png':
                                                      ulanzi_weather_icon = wettericon13;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/11n.png':
                                                      ulanzi_weather_icon = wettericon14;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/13d.png':
                                                      ulanzi_weather_icon = wettericon15;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/13n.png':
                                                      ulanzi_weather_icon = wettericon16;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/50d.png':
                                                      ulanzi_weather_icon = wettericon17;
                                                      break;
                                                  case 'https://openweathermap.org/img/w/50n.png':
                                                      ulanzi_weather_icon = wettericon18;
                                              }
                                              setState(obj_ulanzi_icon, ulanzi_weather_icon);
                                          }
                                          
                                          
                                          Olli_MO Offline
                                          Olli_MO Offline
                                          Olli_M
                                          schrieb am zuletzt editiert von
                                          #45

                                          @andy200877
                                          läuft 1A 🙂

                                          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

                                          350

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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