Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Ulanzi T001 / AWTRIX Light Weather Script.

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Ulanzi T001 / AWTRIX Light Weather Script.

    This topic has been deleted. Only users with topic management privileges can see it.
    • Olli_M
      Olli_M @IO-SR last edited by

      @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 Reply Last reply Reply Quote 0
      • A
        Andy200877 @Olli_M last edited by

        @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_M 1 Reply Last reply Reply Quote 0
        • Olli_M
          Olli_M @Andy200877 last edited by Olli_M

          @andy200877

          Achso sorry 🙂

          A 1 Reply Last reply Reply Quote 0
          • A
            Andy200877 @Olli_M last edited by

            @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_M 1 Reply Last reply Reply Quote 0
            • Olli_M
              Olli_M @Andy200877 last edited by

              @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 Reply Last reply Reply Quote 0
              • I
                IO-SR @Andy200877 last edited by

                @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 Reply Last reply Reply Quote 0
                • A
                  Andy200877 @IO-SR last edited by 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_M I B spitze 4 Replies Last reply Reply Quote 1
                  • Olli_M
                    Olli_M @Andy200877 last edited by

                    @andy200877
                    läuft 1A 🙂

                    1 Reply Last reply Reply Quote 0
                    • I
                      IO-SR @Andy200877 last edited by

                      @andy200877

                      Klasse. Das funktionierte auf Anhieb.

                      Danke das Du Dich nochmal hingesetzt hast und noch einen zweiten Weg gefunden hast.

                      1 Reply Last reply Reply Quote 0
                      • A
                        Andy200877 last edited by

                        Habe das Skript gerade nochmal verändert, bitte aktualisieren... 😉

                        Olli_M 1 Reply Last reply Reply Quote 0
                        • Olli_M
                          Olli_M @Andy200877 last edited by

                          @andy200877

                          also bei mir hängt noch in der clock das alte script...obwohl ich das eigentlich gelöscht habe.... grad zeigt er es mir zweimal hintereinander an 😞

                          hab den Adapter auch schon neu gestartet...

                          kann ich das irgendwo clearen oder so? vielleicht ist im cache der Uhr noch irgendwo was 😕

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            Andy200877 @Olli_M last edited by Andy200877

                            @olli_m
                            Beim alten skript am besten vorher visible auf false und dann das skript beenden. Dadurch wird die app entfernt.
                            Ansonsten Uhr mal neu starten, dann sind alle "User-Apps" auch erstmal entfernt.
                            Werden aber durch den Adapter wieder zu Uhr geladen. Vorher natürlich mein altes Skript deaktivieren.

                            Olli_M 2 Replies Last reply Reply Quote 0
                            • Olli_M
                              Olli_M @Andy200877 last edited by

                              @andy200877 hat geklappt:-)

                              1 Reply Last reply Reply Quote 0
                              • Olli_M
                                Olli_M @Andy200877 last edited by

                                @andy200877

                                Klappt bei dir das visible immer ? Bei mir nicht immer wenn ich den DP direkt ändere

                                A 1 Reply Last reply Reply Quote 0
                                • A
                                  Andy200877 @Olli_M last edited by

                                  @olli_m
                                  Beim Awtrix Adapter oder bei meinem alten skript ?

                                  Wenn beim Adapter, dann bitte dort posten / anfragen.

                                  Olli_M 1 Reply Last reply Reply Quote 1
                                  • Olli_M
                                    Olli_M @Andy200877 last edited by

                                    @andy200877

                                    okay poste dort 🙂

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      Bibo*13 @Andy200877 last edited by Bibo*13

                                      @andy200877 Was muß ich denn tun um die Schriftfarbe anzupassen? Im Expertenmenue hab ich ja keine Eingabemöglichkeit. Ich möchte abhängig von der Temperatur die Farbe auf blau für minus oder rot für plus setzen.
                                      Gibt es dafür eine einfache Lösung?

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        blacksheep587 last edited by

                                        Vielen Dank für das Skript! Klappt sofort, aber ein Problem habe ich noch: Mir werden noch keine Werte angezeigt. Folgendes wird an die Ulanzi geschickt:

                                        javascript.0 (9822) script.js.Ulanzi-Wetter: exec: curl -X POST -u user:awtrix -d '{"text":"6.3undefined","textCase":2,"topText":false,"textOffset":0,"center":true,"color":"#FFFFFF","background":"#000000","rainbow":false,"icon":"11201","pushIcon":0,"duration":5,"repeat":1}' -H 'Content-Type: application/json' 'http://192.168.178.101/api/custom?name=Wetter'
                                        

                                        Habe ich was übersehen?

                                        1 Reply Last reply Reply Quote 0
                                        • haus-automatisierung
                                          haus-automatisierung Developer Most Active last edited by

                                          Weil hier manche gefragt haben, habe ich noch ein Beispiel für das Icon-Mapping von OpenWeatherMap in einer Experten-App des Awtrix-Light-Adpaters in die Doku übernommen:

                                          https://github.com/klein0r/ioBroker.awtrix-light/blob/master/docs/de/weather-app.md

                                          BTC_87 1 Reply Last reply Reply Quote 2
                                          • BTC_87
                                            BTC_87 @haus-automatisierung last edited by

                                            @haus-automatisierung

                                            Danke für den Link und auch für das Script. Funktioniert auch super. Allerdings wird mit immer der Wert "Treu" mit ausgegeben ... Auf meinem Display erscheint dann das Icon, die Temperatur, danach dann "true", dann meine anderen Sachen wieder. Kann man ausschalten, dass der Wert übermittelt wird?

                                            Screenshot 2024-04-02 195047.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            911
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            19
                                            67
                                            7629
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo