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.
    • S
      syber last edited by

      @chka Hallo, ist zwar schon ein paar Tage her aber ich bekomme die Sonne einfach nicht in das Widget 😞
      Der Hintergrund ist da....
      Muss ich den Pfad im Javascript (setState("javascript.0.Sonnenstand.HTML",'');) hier einfügen?
      Wie muss der link aussehen, stehe voll auf dem Schlauch 😞
      Das Bild liegt bei mir im Verzeichniss (C:\Program Files\iobroker\SmartHome\iobroker-data\files\vis.0\Circle\Sonnenstand3)

      Wäre die sehr Dankbar für nen Tip

      mfg steffen

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

        @syber einmal der view mit widget
        {
        "settings": {
        "style": {
        "background_class": ""
        },
        "theme": "redmond",
        "sizex": "1024",
        "sizey": "748",
        "gridSize": "",
        "snapType": null,
        "useBackground": false
        },
        "widgets": {
        "e00001": {
        "tpl": "tplValueStringRaw",
        "data": {
        "hm_id": "80101",
        "digits": "",
        "factor": 1,
        "min": 0,
        "max": 1,
        "step": 0.01,
        "visibility-cond": "==",
        "visibility-val": 1,
        "oid": "javascript.0.Sonnenstand.HTML",
        "gestures-offsetX": 0,
        "gestures-offsetY": 0,
        "signals-cond-0": "==",
        "signals-val-0": true,
        "signals-icon-0": "/vis/signals/lowbattery.png",
        "signals-icon-size-0": 0,
        "signals-blink-0": false,
        "signals-horz-0": 0,
        "signals-vert-0": 0,
        "signals-hide-edit-0": false,
        "signals-cond-1": "==",
        "signals-val-1": true,
        "signals-icon-1": "/vis/signals/lowbattery.png",
        "signals-icon-size-1": 0,
        "signals-blink-1": false,
        "signals-horz-1": 0,
        "signals-vert-1": 0,
        "signals-hide-edit-1": false,
        "signals-cond-2": "==",
        "signals-val-2": true,
        "signals-icon-2": "/vis/signals/lowbattery.png",
        "signals-icon-size-2": 0,
        "signals-blink-2": false,
        "signals-horz-2": 0,
        "signals-vert-2": 0,
        "signals-hide-edit-2": false,
        "visibility-groups-action": "hide",
        "lc-type": "last-change",
        "lc-is-interval": true,
        "lc-is-moment": false,
        "lc-format": "",
        "lc-position-vert": "top",
        "lc-position-horz": "right",
        "lc-offset-vert": 0,
        "lc-offset-horz": 0,
        "lc-font-size": "12px",
        "lc-font-family": "",
        "lc-font-style": "",
        "lc-bkg-color": "",
        "lc-color": "",
        "lc-border-width": "0",
        "lc-border-style": "",
        "lc-border-color": "",
        "lc-border-radius": 10,
        "lc-zindex": 0
        },
        "style": {
        "left": "1px",
        "top": "0px",
        "width": "1024px",
        "height": "748px",
        "border": "2px solid rgb(255, 255, 255)",
        "border-radius": "5px",
        "z-index": "99"
        },
        "widgetSet": "basic"
        }
        },
        "name": "Test",
        "rerender": false,
        "filterList": []
        }

        und das java script dazu:

        /* System Sonnenstand
        
        Sonne Azimut und Elevation in Variablen schreiben
        
        erstellt: 06.07.2015 nach ioBroker Forum http://forum.iobroker.net/viewtopic.php?f=21&t=975&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, {unit: '°'});
        createState('Sonnenstand.Azimut', 0, {unit: '°'});
        createState('Sonnenstand.X', 0, {unit: 'px'});
        createState('Sonnenstand.Y', 0, {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",h.toFixed(1));
            setState("javascript.0.Sonnenstand.Azimut",a.toFixed());
        
            setState("javascript.0.Sonnenstand.X",x.toFixed());
            setState("javascript.0.Sonnenstand.Y",y.toFixed());
            
          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("*/1 * * * *", Sonnenstand_berechnen);
        Sonnenstand_berechnen(); // bei Scriptstart
        
        S Homoran 2 Replies Last reply Reply Quote 0
        • S
          syber @chka last edited by

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

          Leider immer noch keine Sonnekeine_sonne.PNG

          Glasfaser 1 Reply Last reply Reply Quote 0
          • Glasfaser
            Glasfaser @syber last edited by

            @syber

            Laut Log ist die Sonne nicht im Pfad :

            /vis/img/10_sun.png
            

            Lade das PNG mit dem VIS Editor / Dateimanager in dein Projekt

            Beispiel dann

            /vis.0/Mein Projekt/10_sun.png
            

            und ändere dann die Pfandangabe im Script.

            S 1 Reply Last reply Reply Quote 0
            • S
              syber @Glasfaser last edited by

              @glasfaser
              Super,das war die Lösung.
              Hatte das Bild zwar darein kopiert aber irgendwie bekommt das die Visu nicht mit.
              Nach dem Hochladen mit dem Dateimanager funktioniert es 🙂

              Glasfaser 1 Reply Last reply Reply Quote 0
              • Glasfaser
                Glasfaser @syber last edited by Glasfaser

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

                Nach dem Hochladen mit dem Dateimanager funktioniert es

                Die Bilder müssen über den Dateimanager hochgeladen werden , so werden Sie auch registriert .

                S 1 Reply Last reply Reply Quote 0
                • S
                  syber @Glasfaser last edited by

                  @glasfaser
                  wieder was gelernt 🙂

                  danke dir

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

                    Was macht dieser Befehl?

                    schedule("*/1 * * * *", Sonnenstand_berechnen);
                    

                    Ich meine, bei mir hat sich die Sonne vier mal bewegt und danach nicht mehr.
                    Ich kämpfe als älterer Neuling mit diesem VIS- Projekt.

                    Mein Solardach hat OST-WEST Ausrichtung. Ich möchte zwischen 8 und 20 Uhr stündlich den Sonnenstand angezeigt wecheln und dazu die erzeugte Witkleistung anzeigen, die per Modbus zur Verfügung steht. Könnte mir Jemand bei diesem Anliegen helfen? Zur Zeit sehe ich das Sonnensymbol immer an der gleichen Stelle.
                    Das Widget habe ich importiert und die Bildpfade angepasst
                    VIS 2.0 RaspberryPi 4 ioBroker

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

                      @pistus Ich sehe, im widget steht eine hm_id.
                      Funktioniert die Sonnenstandsanzeige nur inVerbindung mit Homematic?

                      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:

                        Was macht dieser Befehl?

                        der startet jede Minute die Sonnenstandsberechnung.
                        Wobei dafür das /1 überflüssig ist

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

                          @chka

                          Das Skript mit der Visualisierung in VIS-2 funktioniert bei mir nicht.
                          Die Protokolldatei meldet folgende Fehler.

                          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"
                          2024-04-17 16:12:00.022 - warn: javascript.0 (19119) You are assigning a string to the state "javascript.0.Sonnenstand.Elevation" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
                          2024-04-17 16:12:00.025 - warn: javascript.0 (19119) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1819:20)
                          2024-04-17 16:12:00.026 - warn: javascript.0 (19119) at Object.Sonnenstand_berechnen (script.js.Sonnenstand.Snnenstand:73:5)
                          2024-04-17 16:12:00.026 - warn: javascript.0 (19119) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1620:34)
                          2024-04-17 16:12:00.026 - warn: javascript.0 (19119) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/Job.js:171:15)
                          2024-04-17 16:12:00.027 - warn: javascript.0 (19119) at /opt/iobroker/node_modules/node-schedule/lib/Invocation.js:268:28
                          2024-04-17 16:12:00.027 - warn: javascript.0 (19119) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/Invocation.js:228:7)
                          2024-04-17 16:12:00.027 - warn: javascript.0 (19119) at listOnTimeout (node:internal/timers:569:17)
                          2024-04-17 16:12:00.027 - warn: javascript.0 (19119) at processTimers (node:internal/timers:512:7)
                          

                          Ich bitte um Hilfe. Das Sonnensymbol ist zu sehen, bewegt sich aber nicht. In der Objektdatei wird nur der Azimuthwert in schwarz angezeigt. Alle anderen Werte sind gelb.

                          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:

                            Die Protokolldatei meldet folgende Fehler.

                            ich seh nur Warnungen und die Lösung steht da auch

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

                            State value to set for "javascript.0.Sonnenstand.Elevation" has to be type "number

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

                              @homoran
                              Leider habe ich Anfänger keine Lösung erkannt. Der Wust an Warnungen wird in den Protokollen minütlich angezeigt.

                              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:

                                keine Lösung

                                hab ich dir doch zitiert:

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

                                State value to set for "javascript.0.Sonnenstand.Elevation" has to be type "number"

                                irgendein Script bei dir schreibt in den genannten Datenpunkt mit einem String

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

                                fix your code to use a number

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

                                  @homoran Es gibt nur ein Skript.
                                  Es ist das Skript von @chka siehe oben vom 05.05.21, dass bei anderen Usern funktioniert.

                                  Für Elevation habe ich das Skript von @chka mal geändert

                                  createState('Sonnenstand.Elevation', 0, {type: 'number', unit: '°'});
                                  //createState('Sonnenstand.Elevation', 0, {unit: '°'});
                                  

                                  Jetzt ist die von dir genannte Warnung weg.

                                  In den Objekten hat sich nichts geändert

                                  objekt.png

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

                                    @pistus
                                    ich kann zwar kein Javascript, aber das hier müsste der Verursacher sein.

                                    @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));

                                    Der Datenpunkt

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

                                    createState('Sonnenstand.Elevation', 0, {type: 'number', unit: '°'});

                                    war doch bereits Typ number, wurde laut Meldung aber mit einem String beschrieben

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

                                      createState('Sonnenstand.Elevation', 0, {type: 'number', unit: '°'});
                                      

                                      habe ich eingefügt, geändert
                                      Im Skript stand

                                      createState('Sonnenstand.Elevation', 0, {unit: '°'});
                                      
                                      P 1 Reply Last reply Reply Quote 0
                                      • P
                                        Pistus @Pistus last edited by

                                        @Homoran Ich denke, dass Skript muss im VIS-2 Editor in Skripte geladen werden.
                                        Warum kann ich das Widget von @chka aus dem Beitrag 5.May 2021 nicht importieren?

                                        Das Widget vom 8.Apr.2017 funktioniert nur in Verbindung mit Homematic?

                                        Ich blicke einfach nicht durch!

                                        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:

                                          Ich denke, dass Skript muss im VIS-2 Editor in Skripte geladen werden.

                                          ich denke nicht, dass es im Jahr 2017 bereits vis2 gab

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

                                            @homoran ganz genau ...

                                            @pistus Ich habe aktuell auch kein vis2 im Einsatz

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            841
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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