Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. [Frage] Erstes eigenes Widget - Bitte um Feedback

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Frage] Erstes eigenes Widget - Bitte um Feedback

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

      Hallo zusammen,

      tja, wie fange ich an...
      ioBroker nutze ich jetzt schon längere Zeit und bin super zufrieden damit. Mit der Zeit ist alles gewachsen und mittlerweile ist vieles im Haus automatisiert und die verschiedensten Systeme arbeiten über den ioBroker super zusammen. Bei allem Automatismus bleibt es allerdings nicht aus auch eine Oberfläche zu haben, mit der man

      • kontrollieren kann was die Automatik macht
      • manuell eingreifen kann
      • Randbedingungen setzen kann (Partymodus usw)

      Vor kurzem Stand ich dann vor dem Problem dass ich gerne die Heizung, Klimaanlage und Luftreiniger mit ein und demselben "Control" steuern können wollte. Bei der Recherche bin ich auf die Gruppen in VIS und den "groupAttr" (zu meiner Schande kannte ich die vorher noch gar nicht) gestoßen. Damit ist zwar schon viel machbar aber wenn ich diese Gruppe dann 10x einsetze und eine Änderung mache, muss ich die Gruppe wieder 10x kopieren und alle Einstellungen ändern. Mühsam.

      Was also liegt näher als selbst ein Widget zu schreiben, dass genau das macht und es dann keine Rolle mehr spielt wie oft man dieses einsetzt 🙂

      Also bin ich auf die Suche gegangen. Adapter Template usw. alles gefunden. Hmmm, ok. Unter Proxmox schnell eine Ubuntu VM hochgezogen, VS Code, Git, Github AddOn installiert, ein Github Projekt angelegt und... da waren sie die Fragezeichen. Wie beginnen? Entweder habe ich falsch gesucht oder es gibt tatsächlich für die Widget Programmierung relativ wenig an Doku. Also ein einfaches Widget gesucht und dieses zerlegt. Langsam stellten sich erste Erfolge ein und umso mehr ich gemacht hatte, umso schneller ging es dann auch. Das Widget ist fertig, funktioniert und deckt erst einmal alles ab was ich benötige.

      Das zur Vorgeschichte und um die Hintergründe zu verstehen. Jetzt aber kommt ihr ins Spiel. Bevor ich jetzt noch weiter mache bzw. das Widget zum Test bereit stelle, würde ich euch bitten mal drüber zu schauen. Kann ja sein dass ich noch einen groben Fehler drin habe den ich noch beheben kann. Auch ist mir noch nicht klar wie ich am besten mit den CSS Styles / - Klassen arbeiten soll, damit andere User das Design einfach an ihre Bedürfnisse anpassen können.

      Deswegen wäre ich euch sehr dankbar wenn ihr mal ein Auge auf mein Widget werfen könntet und mir Fehler zeigen, Tipps oder einfach nur ein Feedback geben könntet 🙂

      Zu finden ist es unter https://github.com/gerbuchner/ioBroker.vis-owl (der Name könnte sich noch ändern). Die Readme usw. ist noch nicht angepasst, da ich erst einmal die Funktionalität haben wollte um sicher zu gehen dass ich überhaupt mit der Programmierung zurecht komme.

      Besten Dank im Voraus
      Gerhard

      1 Reply Last reply Reply Quote 0
      • S
        StefanP 1 last edited by

        Hi Gerhard,

        ich bin ebenfalls gerade an der Entwicklung eines Widgets. Bei der Recherche wegen eines Fehlers bin ich auf dein Widget aufmerksam geworden. Darin sind auch einige Infos enthalten die ich bei mir gut weiter verwenden kann.

        CSS Klassen:
        Du kannst deinen <div> Containern Klassen zuweisen, was du auch schon gemacht hast:

                text += '<!-- istWert -->';
                text += '<div class="vis-widget" style="top: 8px; left: 110px; width: 50px; height: 14px; color: rgb(255, 255, 255); z-index: 3; text-align: right; font-size: small; color: rgb(255, 255, 255);">';
                text += '    <div class="vis-widget-body">';
                text += '        <div class="istWert" style="color: rgb(255, 255, 255);">';
                text += '             ' + vis.states[data.oidValIst + '.val'] + ' ' + data.valEinheitIst;
                text += '        </div>';
                text += '    </div>';
                text += '</div>';
        

        Nun könntest du zum Beispiel der Klasse "vis-widget" in der CSS Datei Eigenschaften vorgeben und damit dein HTML Code kleiner machen. Dies würde dann so aussehen:

        CSS:

        .vis-widget {
        	top: 8px;
        	left: 110px; 
        	width: 50px; 
        	height: 14px; 
        	color: rgb(255, 255, 255); 
        	z-index: 3; 
        	text-align: right; 
        	font-size: small; 
        	color: rgb(255, 255, 255)
        }
        

        JS:

                text += '<!-- istWert -->';
                text += '<div class="vis-widget">';
                text += '    <div class="vis-widget-body">';
                text += '        <div class="istWert" style="color: rgb(255, 255, 255);">';
                text += '             ' + vis.states[data.oidValIst + '.val'] + ' ' + data.valEinheitIst;
                text += '        </div>';
                text += '    </div>';
                text += '</div>';
        

        Nun könntest du auch schnell CSS Dateien austauschen um verschiedene styles zu erhalten.

        Bitte rücke auch deinen Code korrekt ein. Momentan ist er sehr schwer lesbar. VS Code kann das automatisch mittels der Tastenkombination: Strg+K → Strg+D (Dokument) / Strg+K → Strg+F (Auswahl)

        Grüße

        Stefan

        B 1 Reply Last reply Reply Quote 0
        • B
          Buchi @StefanP 1 last edited by

          @stefanp-1 sagte in [Frage] Erstes eigenes Widget - Bitte um Feedback:

          CSS Klassen:
          Du kannst deinen <div> Containern Klassen zuweisen, was du auch schon gemacht hast:
          ...
          Nun könntest du auch schnell CSS Dateien austauschen um verschiedene styles zu erhalten.

          Da bin ich dabei das nach und nach umzustellen 😉

          Bitte rücke auch deinen Code korrekt ein. Momentan ist er sehr schwer lesbar. VS Code kann das automatisch mittels der Tastenkombination: Strg+K → Strg+D (Dokument) / Strg+K → Strg+F (Auswahl)

          Hast mal bitte ein Beispiel wo das falsch formatiert ist?
          Dachte eigentlich das sollte bereits passen. Die Tastenkombi bewirkt bei mir keine Textformatierung 🤔

          S 1 Reply Last reply Reply Quote 0
          • S
            StefanP 1 @Buchi last edited by

            @buchi said in [Frage] Erstes eigenes Widget - Bitte um Feedback:

            Hast mal bitte ein Beispiel wo das falsch formatiert ist?
            Dachte eigentlich das sollte bereits passen. Die Tastenkombi bewirkt bei mir keine Textformatierung

            Davor: 063370d3-72b6-43a6-bfb6-72f5e5762133-image.png

            STRG + A / Strg+K → Strg+F

            Danach: fbe6b566-f89e-43e5-9180-d5a1e81cd74f-image.png

            B 1 Reply Last reply Reply Quote 0
            • B
              Buchi @StefanP 1 last edited by

              @stefanp-1
              Du musst eine sehr alte Version haben. Magst mal bitte die aktuelle laden?

              S 1 Reply Last reply Reply Quote 0
              • S
                StefanP 1 @Buchi last edited by

                @buchi

                Ah, ich habe die Version vom Github. Anscheinend hast du den Namen geändert. Das neue Repo ist jetzt https://github.com/gerbuchner/ioBroker.vis-owl ?

                B 1 Reply Last reply Reply Quote 0
                • B
                  Buchi @StefanP 1 last edited by Buchi

                  @stefanp-1 sagte in [Frage] Erstes eigenes Widget - Bitte um Feedback:

                  @buchi

                  Ah, ich habe die Version vom Github. Anscheinend hast du den Namen geändert. Das neue Repo ist jetzt https://github.com/gerbuchner/ioBroker.vis-owl ?

                  Ja, richtig 🙂
                  Ich ändere mal den Link oben....

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  725
                  Online

                  31.7k
                  Users

                  79.8k
                  Topics

                  1.3m
                  Posts

                  2
                  7
                  439
                  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