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 goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Ulanzi T001 / AWTRIX Light Weather Script.

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

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

        @andy200877

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

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

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

          G 1 Reply Last reply Reply Quote 1
          • G
            Gartenrosenzuechter @Andy200877 last edited by

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

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

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

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

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

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

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

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

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

                          @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_M 1 Reply Last reply Reply Quote 0
                          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            316
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            19
                                            67
                                            7234
                                            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