Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [gelöst] X/Y Koordinaten eines Bildes in VIS abhängig einer CCU Variable

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] X/Y Koordinaten eines Bildes in VIS abhängig einer CCU Variable

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @Pistus last edited by

      @pistus sagte in [gelöst] X/Y Koordinaten eines Bildes in VIS abhängig einer CCU Variable:

      die unzähligen Warnmeldungen in der Protokolldatei.

      liegen an dem falschen Datentyp deines Datenpunktes.
      Zeig doch bitte mal die Objektdaten davon.

      P 1 Reply Last reply Reply Quote 0
      • P
        Pistus @Homoran last edited by

        @homoran o.png

        Homoran 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @Pistus last edited by

          @pistus

          • Expertenmodus an
          • dann rechts auf den dann erscheinenden Bleistift
          • Reiter Objektdaten
          • den Inhalt hier in code-tags posten.
          P 1 Reply Last reply Reply Quote 0
          • P
            Pistus @Homoran last edited by

            @homoran

            {
              "common": {
                "unit": "°",
                "name": "Sonnenstand.Azimut",
                "role": "state",
                "type": "mixed"
              },
              "native": {
                "unit": "°",
                "name": "Sonnenstand.Azimut",
                "role": "state",
                "type": "mixed"
              },
              "type": "state",
              "from": "system.adapter.javascript.0",
              "user": "system.user.admin",
              "ts": 1713353051011,
              "_id": "javascript.0.Sonnenstand.Azimut",
              "acl": {
                "object": 1636,
                "state": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator"
              }
            }
            
            {
              "common": {
                "type": "number",
                "unit": "°",
                "name": "Sonnenstand.Elevation",
                "role": "state"
              },
              "native": {
                "type": "number",
                "unit": "°",
                "name": "Sonnenstand.Elevation",
                "role": "state"
              },
              "type": "state",
              "from": "system.adapter.javascript.0",
              "user": "system.user.admin",
              "ts": 1711981079388,
              "_id": "javascript.0.Sonnenstand.Elevation",
              "acl": {
                "object": 1636,
                "state": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator"
              }
            }
            
            {
              "common": {
                "name": "Sonnenstand.HTML",
                "role": "state",
                "type": "mixed"
              },
              "native": {},
              "type": "state",
              "from": "system.adapter.javascript.0",
              "user": "system.user.admin",
              "ts": 1713353051014,
              "_id": "javascript.0.Sonnenstand.HTML",
              "acl": {
                "object": 1636,
                "state": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator"
              }
            }
            
            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Pistus last edited by Homoran

              @pistus Danke!
              Azimut ist mixed, Elevation ist Number.
              Und genau dort kommt doch die Meldung

              @pistus sagte in [gelöst] X/Y Koordinaten eines Bildes in VIS abhängig einer CCU Variable:

              2024-04-17 16:11:00.043 - info: javascript.0 (19119) State value to set for "javascript.0.Sonnenstand.Elevation" has to be type "number" but received type "string

              Das Script scheint da einen String hineinzuschreiben

              @chka sagte in [gelöst] X/Y Koordinaten eines Bildes in VIS abhängig einer CCU Variable:

              setState("javascript.0.Sonnenstand.Elevation",h.toFixed(1));

              ich kann kein Javascript, aber das dürfte einen String ergeben

              C 1 Reply Last reply Reply Quote 0
              • C
                chka @Homoran last edited by

                einfach alles auf mixed und gut so wird es normalerweise auch angelegt

                P 1 Reply Last reply Reply Quote 0
                • P
                  Pistus @chka last edited by

                  @chka Was muss ich im Skript ändern?

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @Pistus last edited by

                    @pistus sagte in [gelöst] X/Y Koordinaten eines Bildes in VIS abhängig einer CCU Variable:

                    @chka Was muss ich im Skript ändern?

                    ich kann kein Javascript, aber eine Wandlung in Zahl, sollte helfen.

                    Oder am anderen Ende angreifen und

                    @chka sagte in [gelöst] X/Y Koordinaten eines Bildes in VIS abhängig einer CCU Variable:

                    einfach alles auf mixed und gut

                    (wobei ich gar nicht weiss ob es mixed offiziell überhaupt noch gibt)

                    P 1 Reply Last reply Reply Quote 0
                    • P
                      Pistus @Homoran last edited by

                      @homoran Schau bitte mal hier
                      link text

                      C Homoran 2 Replies Last reply Reply Quote 0
                      • C
                        chka @Pistus last edited by

                        @pistus änder doch bitte einfach das objet in den type mixed oder number
                        Bildschirmfoto 2024-04-20 um 17.15.20.png

                        M 1 Reply Last reply Reply Quote 1
                        • Homoran
                          Homoran Global Moderator Administrators @Pistus last edited by

                          @pistus sagte in [gelöst] X/Y Koordinaten eines Bildes in VIS abhängig einer CCU Variable:

                          @homoran Schau bitte mal hier
                          link text

                          sag ich doch

                          1 Reply Last reply Reply Quote 0
                          • M
                            MartyBr @chka last edited by

                            @chka
                            Ich habe das Script komplett auf Zahlen (numbers) umgestellt. Vor dem Start bitte die alten Datenpunkte löschen, da sie nun neu als Typ Number angelegt werden.

                            //    setState("javascript.0.Sonnenstand.HTML",'<img src="/vis.0/icons/Images/sun.png" height="50" width="50" style="float: left; margin: '+ y.toFixed() +'px 0px 0px '+x.toFixed()+'px;" >');
                            //
                            /* System Sonnenstand
                            {1}
                            Sonne Azimut und Elevation in Variablen schreiben
                            {1}
                            erstellt: 06.07.2015 nach ioBroker Forum http://forum.iobroker.net/viewtopic.php?f=21&amp;t=975&amp;sid=6f0ba055de5f82eed6809424f49ca93b#p7635
                            */
                            var suncalc = require('suncalc'),
                                result = getObject("system.adapter.javascript.0"),
                                lat = result.native.latitude,
                                long = result.native.longitude;
                             
                            createState('Sonnenstand.Elevation', 0, {type: 'number', unit: '°'});
                            createState('Sonnenstand.Azimut', 0, {type: 'number', unit: '°'});
                            createState('Sonnenstand.X', 0, {type: 'number', unit: 'px'});
                            createState('Sonnenstand.Y', 0, {type: 'number', unit: 'px'});
                            createState('Sonnenstand.HTML');
                             
                            //Hier die Koordinaten einstellen
                            var Xm = 500; //500
                            var Ym = 250; // 250
                            var rot = 90; // Winkel in dem Grundriss gegenüber Nord verdreht ist
                            var r  = 250;
                             
                             
                            function Sonnenstand_berechnen () {
                                var now = new Date();
                                    
                                //log("-----------------------------------------------");
                               // log("latitude : " + result.native.latitude,'info');
                               // log("longitude: " + result.native.longitude,'info');
                             
                                var sunpos = suncalc.getPosition(now, lat, long);
                               // log("sunpos: " + sunpos,'info');
                             
                                var h = sunpos.altitude * 180 / Math.PI,
                                    a = sunpos.azimuth * 180 / Math.PI + 180;
                                /**
                                Formel: https://www-user.tu-chemnitz.de/~heha/viewchm.php/hs/SelfDXD.chm/directxgraphics/theorie/dg_ber.html
                                radWinkel:= 40 / 180 * Pi;            // radWinkel = 0.698131...
                                x_koordinate:= cos( radWinkel ) * 5;  // x_koordinate = 3,830222...
                                y_koordinate:= sin( radWinkel ) * 5;  // y_koordinate = 3,213938...
                                **/
                              
                                var azimuth = a.toFixed();  //sunpos.azimuth;
                                var radWinkel =( azimuth -90 - rot )/ 180 * Math.PI; 
                                
                                var x = (Math.cos(radWinkel)* r)+Xm;
                                
                                var y = (Math.sin(radWinkel) * r)+Ym;
                                
                                 
                                 
                                setState("javascript.0.Sonnenstand.Elevation",parseFloat(h.toFixed(1)),true);
                                setState("javascript.0.Sonnenstand.Azimut",parseFloat(a.toFixed()),true);
                             
                                setState("javascript.0.Sonnenstand.X",parseFloat(x.toFixed()),true);
                                setState("javascript.0.Sonnenstand.Y",parseFloat(y.toFixed()),true);
                                
                              // setState("javascript.0.Sonnenstand.HTML",'<img src="/vis/img/10_sun.png" height="50" width="50" style="float: left; margin: '+ y.toFixed() +'px 0px 0px '+x.toFixed()+'px;" >');
                              
                               setState("javascript.0.Sonnenstand.HTML",'<img src="/vis/img/Weather-Sun-icon.png" height="50" width="50" vspace="'+ y.toFixed() +'" hspace="'+x.toFixed()+'">');
                            }
                             
                            schedule("* * * * *", Sonnenstand_berechnen);
                            Sonnenstand_berechnen(); // bei Scriptstart
                            
                            
                            C Homoran 2 Replies Last reply Reply Quote 2
                            • C
                              chka @MartyBr last edited by

                              @martybr jup type anpassen

                              type type: 'number',
                              

                              bringt das gleiche ergebniss nur wie du geschrieben hast muss die datenpunkte gelöscht werden davor..

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MartyBr @chka last edited by

                                @chka Ich bekomme nur beim ersten Start des Skriptes Fehlermeldungen. Danach läuft es ohne Fehler durch und erzeugt fleißig die Datenpunkte.

                                C 1 Reply Last reply Reply Quote 0
                                • C
                                  chka @MartyBr last edited by

                                  @martybr einmal ist keinmal ...

                                  1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @MartyBr last edited by Homoran

                                    @martybr sagte in [gelöst] X/Y Koordinaten eines Bildes in VIS abhängig einer CCU Variable:

                                    setState("javascript.0.Sonnenstand.Elevation",parseFloat(h.toFixed(1)),true);

                                    jepp!
                                    wandeln in Zahl

                                    👍

                                    P 1 Reply Last reply Reply Quote 0
                                    • P
                                      Pistus @Homoran last edited by Pistus

                                      @homoran @MartyBr
                                      komplett auf Zahlen (numbers) umgestellt, hatte ich auch schon.

                                      Die Warnungen bleiben aber
                                      Z.B ist diese Codezeile vermutlich auch nicht korrekt.

                                      setState("javascript.0.Sonnenstand.Elevation",h.toFixed(1));
                                      
                                      Homoran M 2 Replies Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @Pistus last edited by

                                        @pistus sagte in [gelöst] X/Y Koordinaten eines Bildes in VIS abhängig einer CCU Variable:

                                        B ist diese Codezeile vermutlich auch nicht korrekt.

                                        natürlich nicht!
                                        hast du nicht das komplette Skript von @MartyBr übernommen?

                                        @pistus sagte in [gelöst] X/Y Koordinaten eines Bildes in VIS abhängig einer CCU Variable:

                                        Die Warnungen bleiben aber

                                        dann steht da auch drin um welchen State es geht

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          MartyBr @Pistus last edited by

                                          @pistus
                                          Es geht um diese Zeilen aus dem Script (ist weiter oben komplett eingestellt):

                                              setState("javascript.0.Sonnenstand.Elevation",parseFloat(h.toFixed(1)),true);
                                              setState("javascript.0.Sonnenstand.Azimut",parseFloat(a.toFixed()),true);
                                           
                                              setState("javascript.0.Sonnenstand.X",parseFloat(x.toFixed()),true);
                                              setState("javascript.0.Sonnenstand.Y",parseFloat(y.toFixed()),true);
                                          

                                          Hier wird String nach Zahlen umgewandelt. Damit läuft das Script mit den Datenpunkten Typ number.

                                          P 1 Reply Last reply Reply Quote 0
                                          • P
                                            Pistus @MartyBr last edited by Pistus

                                            @martybr Elevation- und Azimuth-Daten sind verglichen mit Sonnenverlauf.de fast genau.
                                            Die Sonne bewegt sich aber nicht.
                                            Es gibt keine Warnungen und Fehlermeldungen.

                                            <img src="/vis-2.0/main/10_sun.png" height="100" width="100" style="float: left; margin: 6px 0px 0px 556px;">
                                            

                                            obj.png

                                            Passen die Bilddaten zu den Objektdaten?

                                            Homoran 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            938
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            13
                                            91
                                            9675
                                            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