Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Unterschiedliche Darstellung in Vis.app und Browser

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Unterschiedliche Darstellung in Vis.app und Browser

    This topic has been deleted. Only users with topic management privileges can see it.
    • Peoples
      Peoples last edited by

      Hi,

      ich habe mal wieder ein Problem und hoffe auf eure Hilfe!

      Folgendes Szenario: Ich möchte mir den Batteriestand meiner einzelnen HM-Geräte in Vis als Bild darstellen, diese Bilder wähle ich dynamisch in einem Script aus, speichere die Pfade in einer Variable zwischen und füge sie als Binding in der Bildquelle ein. Im Browser am PC und Tablet wird alles richtig angezeigt, in der App jedoch nicht.

      Hier die Details:

      Script:

      createState('Batterie_Status.Status_Thermostat_GaesteWC',  {
          def: '/vis.0/Wandtablet/img/images/battery/default.png',
          type: 'string',
          name: 'Batterie GästeWC',
          desc: 'Batterielevel Thermostat GästeWC'
      });
      
      var idimg = "javascript.0.Batterie_Status.Status_Thermostat_GaesteWC"; 
      on("hm-rpc.0.MEQXXXXXXX.4.BATTERY_STATE"/*Thermostat.Gaeste.WC.MEQXXXXXX:4.BATTERY_STATE*/, function (data) {
          var level = data.state.val;
          var image = '';
           if (level <= 1) image = '/vis.0/Wandtablet/img/images/battery/state_09.png';
           if (level > 1 && level <= 1.7) image = '/vis.0/Wandtablet/img/images/battery/state_1.png';
           if (level > 1.7 && level <= 2.5) image = '/vis.0/Wandtablet/img/images/battery/state_17.png';
           if (level > 2.5) image = '/vis.0/Wandtablet/img/images/battery/state_25.png';
      
      //    log(dynbreite);
          setState(idimg, image);
      });
      

      Die Bilder:
      2417_dateimanager.jpg

      Und die Einbindung mache ich so:
      2417_einbindung.jpg

      Mit verschiedenen Darstellungen in Browser bzw. Vis.app.

      Hier die Darstellung im Browser:
      2417_browser.jpg

      Und hier die in der App:
      2417_visapp.jpg

      Es scheint als würde er den Bildpfad nicht finden. Vielleicht kann mir ja jemand auf die Sprünge helfen ob es am Script, Bild oder evtl. an der Art der Einbindung liegt.

      Vielen Dank schonmal

      Peoples

      1 Reply Last reply Reply Quote 0
      • R
        RappiRN Most Active last edited by

        Ich habe dazu schon mal was gelesen:

        @nobody:

        Hallo pit1980,

        Bei der Android-App liegen die Dateien lokal. Da du die Bilder nur mit javascript aufrufst wurden sie auch beim synchronisieren nicht auf das Gerät geladen bzw. die Links nicht angepasst.

        Damit der aktuelle javascript Code so läuft müsstest du den Server in der url mit angeben. `

        Das hab ich von hier: http://forum.iobroker.net/viewtopic.php … app#p60325

        Vielleicht hilft dir das weiter! 🙂

        Enrico

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

          Hallo zusammen,

          es gab früher mal Vorgaben in welches Verzeichnis eigene Bilder hochgeladen werden müssen, damit sie in der vis-app dargestellt werden.

          Bluefox hatte da noch etwas geändert und IMHO durften die Bilder überall liegen.

          Habe es jetzt mal erneut getestet.

          Bilder, die unter````
          /vis.0/main/img/

          
          Ich habe die Bilder z.B. unter
          

          /vis.0/Testordner/img/Tanken/Logo_Freie_Tanken.png

          also ein Pfad ähnlich deinem.
          
          Diese werden nicht dargestellt.
          
          ich fürchte es liegt an der Ordnerstruktur, nach````
          /vis.0/
          ````kommt hier der Projektname.
          
          Bei mir ist das Projekt trotzdem "main"
          
          Ist bei dir das Projekt "Wandtablet" ausgewählt?
          
          Gruß
          
          Rainer
          1 Reply Last reply Reply Quote 0
          • Peoples
            Peoples last edited by

            @Enrico

            Danke für den Tipp, ich habe gerade die Bilder als IMG mit auf die Seite gepackt um sicher zu gehen dass diese mit geladen werden.

            Die statische Anzeige funktioniert, jedoch die dynamische trotzdem nicht.

            Werde mal versuchen den kompletten Pfad zu hinterlegen.

            @ Rainer

            Ja das ausgewählte Projekt ist Wandtablet.

            Ich überlege jetzt die ganzen Bilder in den Standardordner zu packen, das ist jedoch ne mortz Arbeit und nimmt irgendwie die Strucktur.

            Zudem werden eigentlich alle Bilder bis auf den Batteriestatus richtig angezeigt (zumindest bis gerade eben jetzt fehlen noch mehr).

            Werde mal testen wenn ich die dynamischen wieder raus nehme ob die statischen dann wieder da sind.

            1 Reply Last reply Reply Quote 0
            • Peoples
              Peoples last edited by

              So, habe einen Workaround benutzt der wie folgt aussieht:

              Das geänderte Script:

              
              /*
              createState('Batterie_Status.Status_Thermostat_GaesteWC',  {
                  def: 0,
                  type: 'number',
                  name: 'Batterie GästeWC',
                  desc: 'Batterielevel Thermostat GästeWC'
              
              });
              */
              
              var idimg = "javascript.0.Batterie_Status.Status_Thermostat_GaesteWC"; 
              on("hm-rpc.0.MEQ1550820.4.BATTERY_STATE"/*Thermostat.Gaeste.WC.MEQ1550820:4.BATTERY_STATE*/, function (data) {
                  var level = data.state.val;
                  var image = '';
                   if (level <= 1) image = 1;
                   if (level > 1 && level <= 1.7) image = 2;
                   if (level > 1.7 && level <= 2.5) image = 3;
                   if (level > 2.5) image = 4;
              
              //    log(dynbreite);
                  setState(idimg, image);
              });
              
              

              Für die Darstellung benutze ich ein "image 8" welches seinen Status aus der JavaScript Variablen bezieht.

              Dann funktionierts 😄

              Gruß

              Peoples

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

                Wenn das Projekt Wandtablet heisst und auch so in der Konfiguration eingetragen ist, muss ich das mal versuchen nachzustellen.

                Bisher arbeite ich nur mit main.

                Es hat hier im Forum bereits einen Beitrag gegeben, dass sich anscheinend die Zusammensetzung der Adresse beim Aufruf von Views bei Projekten von der Ordnerstruktur unterscheidet.

                Dann muss @Bluefox da mal nachsehen.

                Gruß

                Rainer

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

                Support us

                ioBroker
                Community Adapters
                Donate

                496
                Online

                32.0k
                Users

                80.5k
                Topics

                1.3m
                Posts

                3
                6
                1861
                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