Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Wie aus einem HTML-Widget ein neues Widget machen?

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Wie aus einem HTML-Widget ein neues Widget machen?

Geplant Angeheftet Gesperrt Verschoben Visualisierung
79 Beiträge 5 Kommentatoren 17.5k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • BluefoxB Offline
    BluefoxB Offline
    Bluefox
    schrieb am zuletzt editiert von
    #37

    @Communicate:

    Hallo,

    das sieht gut aus - danke!

    Jetzt muss ich nur noch den Code verstehen :-)

    Wie hast Du denn die Betitelung (z.B. Extrasteuerung) hinbekommen?

    Gruß

    Dominic `
    Das ist schon in basic.html übersetzt: https://github.com/ioBroker/ioBroker.vi … .html#L160

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #38

      Und hast du verstanden? :) Geht es weiter?

      1 Antwort Letzte Antwort
      0
      • C Offline
        C Offline
        Communicate
        schrieb am zuletzt editiert von
        #39

        > Ich denke, dass steuern von Größen ist über ziehen besser als per Einstellung. Findest du nicht?

        Kannst Du mir kurz erklären, wie Du das gemacht hast? Ich hab das bei einem neuen Widget probiert, nachzustellen, aber es klappt nicht.

        Ich habe in styles.css als width und height jeweils 100% angegeben.

        Muss ich in der communicate.html dann noch was ändern?

        1 Antwort Letzte Antwort
        0
        • C Offline
          C Offline
          Communicate
          schrieb am zuletzt editiert von
          #40

          So sieht es aktuell coding mäßig aus:

          html

          css

          ! ````
          @font-face {
          font-family: 'IC';
          src: url('icomoon.ttf');
          ! }
          ! .communicate-var_nav {
          background: #e2e1f4;
          width: 100%;
          height: 100%;
          display: inline-flex;
          }
          ! .communicate-link_bg {
          background:#7A56A0;
          color:white;
          z-index:2;
          }
          ! .communicate-link_title {
          position: relative;
          z-index:3;

          height:100%;
          

          }

          ! .communicate-link_title:hover {
          left: 0;
          width:10px;
          font-weight: bold;
          background: #E01B6A;
          -webkit-transition: all 0.3s ease-in-out;
          -moz-transition: all 0.3s ease-in-out;
          -o-transition: all 0.3s ease-in-out;
          -ms-transition: all 0.3s ease-in-out;
          transition: all 0.3s ease-in-out;
          }
          ! .communicate-link_bg, .communicate-img {
          -webkit-transition:all .5s ease-in-out;
          -moz-transition:all .5s ease-in-out;
          -o-transition:all .5s ease-in-out;
          -ms-transition:all .5s ease-in-out;
          transition:all .5s ease-in-out;
          height: 100%;
          }
          .communicate-link_bg:hover, .communicate-img:hover{
          -webkit-transition: all 0.3s ease-in-out;
          -moz-transition: all 0.3s ease-in-out;
          -o-transition: all 0.3s ease-in-out;
          -ms-transition: all 0.3s ease-in-out;
          transition: all 0.3s ease-in-out;
          }
          ! .communicate-link_bg:hover {
          width:100%;
          background: #E01B6A;
          background: blue;
          }
          ! .communicate-img:hover{
          -webkit-transform:rotate(360deg);
          -moz-transform:rotate(360deg);
          -o-transform:rotate(360deg);
          -ms-transform:rotate(360deg);
          transform:rotate(360deg);
          }
          .communicate-p {

          position: absolute;
          left: 0.7em;
          

          }

          ! .communicate-p1 {
          font-size: 13px;
          margin: 0;
          padding: 0;
          line-height: 40px;
          color: #fff;
          text-shadow: 0 -1px 0 rgba(0,0,0,1);
          border-bottom: 1px solid rgba(0,0,0,0.3);
          box-shadow: 0 1px 1px rgba(255,255,255,0.2);
          letter-spacing: 1px;
          }
          ! .communicate-notification_box {
          width: 100%;
          height: 100%;
          margin: 0 auto;
          border-radius: 5px;
          background: rgba(0,0,0,0.55);
          border: 1px solid rgba(0,0,0,0.2);
          text-align: center;
          box-shadow: 0 0 5px rgba(0,0,0,0.5), 0 2px 2px rgba(0,0,0,0.1);}
          ! .communicate-p2 {
          font-size: 13px;
          margin: 0;
          padding: 0;
          line-height: 20px;
          color: #fff;
          text-shadow: 0 -1px 0 rgba(0,0,0,1);
          letter-spacing: 1px;
          }

          1 Antwort Letzte Antwort
          0
          • C Offline
            C Offline
            Communicate
            schrieb am zuletzt editiert von
            #41

            … und dann hab ich da noch eine ganz andere Frage:

            ich würde gerne bei dem button nummer 3 (siehe code oben) ein Dialogfeld mit slider einbauen (im gleichen design wie der button).

            Gibt es irgendwo eine Beschreibung wie ich vorgehen sollte?

            1 Antwort Letzte Antwort
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              schrieb am zuletzt editiert von
              #42

              Irgendwie so:

              ! ````
              @font-face {
              font-family: 'IC';
              src: url('icomoon.ttf');
              ! }
              ! .communicate-var_nav {
              background: #e2e1f4;
              width: 100%;
              height: 100%;
              display: inline-flex;
              }
              ! .communicate-link_bg {
              background:#7A56A0;
              color:white;
              z-index:2;
              }
              ! .communicate-link_title {
              position: relative;
              z-index:3;
              ! height:100%;
              }
              ! .communicate-link_title:hover {
              left: 0;
              width:10px;
              font-weight: bold;
              background: #E01B6A;
              -webkit-transition: all 0.3s ease-in-out;
              -moz-transition: all 0.3s ease-in-out;
              -o-transition: all 0.3s ease-in-out;
              -ms-transition: all 0.3s ease-in-out;
              transition: all 0.3s ease-in-out;
              }
              ! .communicate-link_bg, .communicate-img {
              -webkit-transition:all .5s ease-in-out;
              -moz-transition:all .5s ease-in-out;
              -o-transition:all .5s ease-in-out;
              -ms-transition:all .5s ease-in-out;
              transition:all .5s ease-in-out;
              height: 100%;
              }
              .communicate-link_bg:hover, .communicate-img:hover{
              -webkit-transition: all 0.3s ease-in-out;
              -moz-transition: all 0.3s ease-in-out;
              -o-transition: all 0.3s ease-in-out;
              -ms-transition: all 0.3s ease-in-out;
              transition: all 0.3s ease-in-out;
              }
              ! .communicate-link_bg:hover {
              width:100%;
              background: #E01B6A;
              background: blue;
              }
              ! .communicate-img:hover{
              -webkit-transform:rotate(360deg);
              -moz-transform:rotate(360deg);
              -o-transform:rotate(360deg);
              -ms-transform:rotate(360deg);
              transform:rotate(360deg);
              }
              .communicate-p {
              ! position: absolute;
              left: 0.7em;
              }
              ! .communicate-p1 {
              font-size: 13px;
              margin: 0;
              padding: 0;
              line-height: 40px;
              color: #fff;
              text-shadow: 0 -1px 0 rgba(0,0,0,1);
              border-bottom: 1px solid rgba(0,0,0,0.3);
              box-shadow: 0 1px 1px rgba(255,255,255,0.2);
              letter-spacing: 1px;
              }
              ! .communicate-notification_box {
              width: calc(100% - 4px);
              height: calc(100% - 4px);
              margin: 0 auto;
              border-radius: 5px;
              background: rgba(0,0,0,0.55);
              border: 1px solid rgba(0,0,0,0.2);
              text-align: center;
              box-shadow: 0 0 5px rgba(0,0,0,0.5), 0 2px 2px rgba(0,0,0,0.1);
              }
              ! .communicate-p2 {
              font-size: 13px;
              margin: 0;
              padding: 0;
              line-height: 20px;
              color: #fff;
              text-shadow: 0 -1px 0 rgba(0,0,0,1);
              letter-spacing: 1px;
              }
              ! .communicate-dialog {
              width: 100px;
              height: 50px;
              position: absolute;
              z-index: 999;
              border-radius: 5px;
              background: rgba(0,0,0,0.55);
              border: 1px solid rgba(0,0,0,0.2);
              text-align: center;
              box-shadow: 0 0 5px rgba(0,0,0,0.5), 0 2px 2px rgba(0,0,0,0.1);
              }

              [48_img_001.png](/assets/uploads/files/48_img_001.png)
              1 Antwort Letzte Antwort
              0
              • C Offline
                C Offline
                Communicate
                schrieb am zuletzt editiert von
                #43

                Hallo bluefox,

                das sieht schon sehr sehr gut aus - vielen dank mal wieder!

                Zwei Fragen bleiben aber einmal wieder:

                1. Ich bekomme es einfach nicht hin, die größe und die position des dialogs

                zu verändern. Hier mein Versuch:

                (Es geht um NotificationD2).

                2. Kann ich das aussehen des Sliders irgendwie verändern?

                Ich freue mich auf eine Rückmeldung von Dir.

                P.S.: Meinst Du ich soll das ganze Widget set dann zur Verfügung stellen oder ist das zu speziell auf mich zugeschnitten?

                1 Antwort Letzte Antwort
                0
                • C Offline
                  C Offline
                  Communicate
                  schrieb am zuletzt editiert von
                  #44

                  so, die grundsätzliche breite kann ich jetzt verändern:

                  $(el).click(function () {

                  $dialog.css({top: $(el).position().top, left: $(el).position().left, width:1000});

                  $dialog.show();

                  $value.html($input.val());

                  $input.bind('onmouseup', function () {

                  $value.html($input.val());

                  });

                  jetzt stellt sich nur noch die Frage, wie kann ich denn den absoluten Wert (hier 1000) mit einer Variablen

                  (also mit einer WIdget-Eigenschaft) ersetzen, so dass ich das auch steuern kann?

                  Irgendwann verstehe ich das ganze hoffentlich auch :roll: :)

                  1 Antwort Letzte Antwort
                  0
                  • C Offline
                    C Offline
                    Communicate
                    schrieb am zuletzt editiert von
                    #45

                    So, einen großen Schritt weiter bin ich schonmal :)

                    Folgendes ermöglicht mir, die Breite des Dialogfeldes anzugeben.

                    Was ich nicht hinbekomme ist die Verkünpfung zu den Widget eigenschaften.

                    Folgendes geht nämlich nicht:

                    ! ioBroker.vis communicate Widget-Set
                    ! version: "0.0.1"
                    ! Copyright 10.2015-2016 Communicatenick@communicate-online.de
                    ! -->

                    Fehler laut Chrome console:

                    Error: Error: can't render tplCommunicateNotificationD2 w00023 (SyntaxError: Unexpected token <)

                    Was mache ich falsch?
                    5278_unbenannt.png

                    1 Antwort Letzte Antwort
                    0
                    • C Offline
                      C Offline
                      Communicate
                      schrieb am zuletzt editiert von
                      #46

                      so, da war wohl meon Denkfehler :lol:

                      so funktionierts:

                      nur die widgetaktualisierung funktioniert nicht

                      Und dAnn hab ich noch das Problem, dass ich den Dialog gerne unterhalb des Widgets positionieren möchte. Dafür müsste ich aber die Höhe des Widgets kennen, diese steht aber in .Data nicht drin. Gibt es dafür auch noch eine Idee?

                      1 Antwort Letzte Antwort
                      0
                      • C Offline
                        C Offline
                        Communicate
                        schrieb am zuletzt editiert von
                        #47

                        Hallo Bluefox,

                        im Moment scheitere ich "nur" noch daran, die höhe des Widgets zu ermitteln, da diese anscheinend

                        nicht im data-objekt enthalten ist.

                        Hast Du hier noch einen Trick für mich?

                        Wenn das erledigt ist, würde ich den Thread erstmal beenden und das ganze verfeinern und dann als komplettes Widget-Set

                        veröffentlichen.

                        Weitere Detailfragen würde ich dann in separaten Einzel-Threads stellen, was meinst Du?

                        Gruß

                        Dominic

                        1 Antwort Letzte Antwort
                        0
                        • BluefoxB Offline
                          BluefoxB Offline
                          Bluefox
                          schrieb am zuletzt editiert von
                          #48

                          Es gibt zwei Möglichkeiten, wie man das ermitteln konnte:

                          • dynamisch: $(el).position().left + $(el).width() und $(el).position().top + $(el).height()

                          • statisch: Dialog-Funktion erweiten

                          –----------------------------

                          dialog: function (el, data, view) {

                          console.log(JSON.stringify(vis.views[view].widgets[data.wid].style, null, 2));

                          ….

                          }


                          debugger;vis.binds.communicate.dialog(el, this.data, this.view) %>>

                          –----------------------------

                          1 Antwort Letzte Antwort
                          0
                          • C Offline
                            C Offline
                            Communicate
                            schrieb am zuletzt editiert von
                            #49

                            Hallo Bluefox,

                            ich dachte ja, ich wäre durch :-)

                            Könntest Du mir verraten, wie ich im Dialog auch HTML Anweisungen (also z.B. Buttons oder auch einfach nur z.B. eine

                            Anweisung)

                            einbauen kann?

                            So hab ich es versucht, aber das geht nicht:

                            ! dialog: function (el, data) {
                            ! if (!$(el).find('.heating-dialog').length) {
                            ! setTimeout(function () {
                            ! var weite = data.weite;
                            ! weite += "px";
                            ! console.log('weite:'+weite);
                            ! debugger;
                            ! var $dialog = $('

                            <snap class="communicate-range-val"></snap>');

                            var $value = $dialog.find('.communicate-range-val');

                            var $input = $dialog.find('input');

                            $dialog.click(function () {

                            console.log(JSON.stringify($dialog, null, 2));

                            ****Test

                            $dialog.write(

                            Test2

                            )****

                            $input.unbind('onmouseup');

                            $(this).hide();

                            });

                            $input.change(function () {

                            alert($(this).val());

                            });

                            $(el).parent().append($dialog);

                            $(el).click(function () {

                            console.log('weite1:'+weite);

                            console.log('weite2:'+weite);

                            $dialog.css({top: $(el).position().top+ $(el).height(), left: $(el).position().left, width: $(el).width()-2 });

                            $dialog.show();

                            $value.html($input.val());

                            $input.bind('onmouseup', function () {

                            $value.html($input.val());

                            });

                            });

                            });

                            }

                            }

                            };

                            Irgendwann krieg ichs dann auch fertig … (hoffentlich :) )

                            1 Antwort Letzte Antwort
                            0
                            • C Offline
                              C Offline
                              Communicate
                              schrieb am zuletzt editiert von
                              #50

                              … ich habs jetzt den ganzen Tag probiert, komme aber nicht weiter...

                              Sehe ich es richtig, dass das "$" für JQuery steht?

                              Die Welt von Javascript ist doch einfach noch zu neu für mich...

                              Ich krieg es einfach nicht hin, im Dialog auch HTML Anweisungen (also z.B. Buttons oder auch einfach nur z.B. eine

                              Anweisung)

                              einzubauen.

                              Auch sonstige jquery anweisungen (z.B.

                              <code>buttons: [
                                  {
                                    text: "Ok",
                                    icons: {
                                      primary: "ui-icon-heart"
                                    },</code>
                              

                              bekomme ich einfach nicht korrekt unter :-(

                              1 Antwort Letzte Antwort
                              0
                              • BluefoxB Offline
                                BluefoxB Offline
                                Bluefox
                                schrieb am zuletzt editiert von
                                #51

                                Mach statt:

                                var $dialog = $('<snap class="communicate-range-val"></snap>');
                                
                                

                                Das:

                                var text = '' +
                                    '
                                
                                Test
                                
                                ' +
                                    '<snap class="communicate-range-val"></snap>' +
                                    '';
                                var $dialog = $(text);
                                
                                

                                > Sehe ich es richtig, dass das "$" für JQuery steht?
                                Ja.

                                > Auch sonstige jquery anweisungen (z.B.
                                Frage habe ich nicht verstanden.

                                Du bist erster Kommunity-User, der Widget-Set schreibt. Es ist normal, dass du Fragen hast. ;)

                                1 Antwort Letzte Antwort
                                0
                                • C Offline
                                  C Offline
                                  Communicate
                                  schrieb am zuletzt editiert von
                                  #52

                                  Hallo Bluefox,

                                  danke, das hat wieder einmal geholfen.

                                  Ich würde mit dem Slider ja gerne die Thermostate steuern.

                                  Mit folgendem Befehl wollte ich die aktuell eingestellte Temperatur für den Slider als Ausgangspunkt ermitteln.

                                  var act_soll_temp=vis.states[data.oid_control + '.val']
                                                  console.log("Aktuell:" + act_soll_temp)
                                  

                                  Problem ist, dass mir das console.log nur ein Aktuell:undefined zurück

                                  gibt.

                                  Wie komme ich an den wert, der hinter dem Device steckt, dass in oid_control eingetragen ist?

                                  Gruß

                                  Dominic

                                  1 Antwort Letzte Antwort
                                  0
                                  • BluefoxB Offline
                                    BluefoxB Offline
                                    Bluefox
                                    schrieb am zuletzt editiert von
                                    #53

                                    Du machst schon alles richtig.

                                    Vermutlich ist OID falsch. Mach doch

                                    var act_soll_temp = vis.states[data.oid_control + '.val'];
                                    console.log("Aktuell [" + data.oid_control + "]:" + act_soll_temp);
                                    debugger;
                                    
                                    

                                    Und schaue was nicht passt.

                                    1 Antwort Letzte Antwort
                                    0
                                    • C Offline
                                      C Offline
                                      Communicate
                                      schrieb am zuletzt editiert von
                                      #54

                                      so, das hat funktioniert, danke. Habs jetzt hinbekommen.

                                      Hast Du noch einen Tipp für mich, wie ich Buttons zusätzlich zum Schieberegler implemetnieren kann?

                                      Ich bekomme zwar die Buttons hin - aber die Werte werden nicht übernommen.

                                      Kanns Du noch mal schauen?

                                      ! ````
                                      dialog: function (el, data) {
                                      !

                                      ! if (!$(el).find('.heating-dialog').length) {
                                      setTimeout(function () {

                                      ! var weite = data.weite;
                                      weite += "px";
                                      console.log('weite:'+weite);
                                      ! var act_soll_temp = vis.states[data.oid_control + '.val'];
                                      console.log("Aktuell [" + data.oid_control + "]:" + act_soll_temp);
                                      ! var text = '' +

                                                  '
                                      

                                      ! Test
                                      ! ' +

                                      ! ' ' +
                                      !
                                      '' +
                                      ! '   '+
                                      '' + '   '+
                                      '' +

                                                              '';
                                      

                                      ! var $dialog = $(text);
                                      ! var $value = $dialog.find('.communicate-range-val');
                                      var $input = $dialog.find('input');
                                      ! $dialog.click(function () {
                                      console.log(JSON.stringify($dialog, null, 2));

                                                      console.log(JSON.stringify('Input:'+$input, null, 2));
                                                      console.log("Input_log:"+$input);
                                                      console.log(JSON.parse(JSON.stringify($input)));
                                      

                                      ! $input.unbind('onmouseup');
                                      $(this).hide();
                                      });
                                      $input.change(function () {
                                      alert($(this).val());
                                      vis.setValue(data.oid_control, $(this).val())
                                      });
                                      $(el).parent().append($dialog);
                                      $(el).click(function () {

                                                          $dialog.css({top: $(el).position().top+ $(el).height(), left: $(el).position().left, width: $(el).width()-2, height:$(el).height() });
                                      
                                                          $dialog.show();
                                                          $value.html($input.val());
                                                          $input.bind('onmouseup', function () {
                                                              $value.html($input.val());
                                                          });
                                                      });
                                                  });
                                              }
                                          }
                                      };
                                      

                                      ! ````

                                      1 Antwort Letzte Antwort
                                      0
                                      • BluefoxB Offline
                                        BluefoxB Offline
                                        Bluefox
                                        schrieb am zuletzt editiert von
                                        #55

                                        @Communicate:

                                        so, das hat funktioniert, danke. Habs jetzt hinbekommen.

                                        Hast Du noch einen Tipp für mich, wie ich Buttons zusätzlich zum Schieberegler implemetnieren kann?

                                        Ich bekomme zwar die Buttons hin - aber die Werte werden nicht übernommen.

                                        Kanns Du noch mal schauen?

                                        ! ````
                                        dialog: function (el, data) {
                                        !

                                        ! if (!$(el).find('.heating-dialog').length) {
                                        setTimeout(function () {

                                        ! var weite = data.weite;
                                        weite += "px";
                                        console.log('weite:'+weite);
                                        ! var act_soll_temp = vis.states[data.oid_control + '.val'];
                                        console.log("Aktuell [" + data.oid_control + "]:" + act_soll_temp);
                                        ! var text = '' +

                                                    '
                                        

                                        ! Test
                                        ! ' +

                                        ! ' ' +
                                        !
                                        '' +
                                        ! '   '+
                                        '' + '   '+
                                        '' +

                                                                '';
                                        

                                        ! var $dialog = $(text);
                                        ! var $value = $dialog.find('.communicate-range-val');
                                        var $input = $dialog.find('input');
                                        ! $dialog.click(function () {
                                        console.log(JSON.stringify($dialog, null, 2));

                                                        console.log(JSON.stringify('Input:'+$input, null, 2));
                                                        console.log("Input_log:"+$input);
                                                        console.log(JSON.parse(JSON.stringify($input)));
                                        

                                        ! $input.unbind('onmouseup');
                                        $(this).hide();
                                        });
                                        $input.change(function () {
                                        alert($(this).val());
                                        vis.setValue(data.oid_control, $(this).val())
                                        });
                                        $(el).parent().append($dialog);
                                        $(el).click(function () {

                                                            $dialog.css({top: $(el).position().top+ $(el).height(), left: $(el).position().left, width: $(el).width()-2, height:$(el).height() });
                                                            
                                                            $dialog.show();
                                                            $value.html($input.val());
                                                            $input.bind('onmouseup', function () {
                                                                $value.html($input.val());
                                                            });
                                                        });
                                                    });
                                                }
                                            }
                                        };
                                        

                                        ! ```` `

                                        Du solltest die buttons so ändern:

                                        '' + '   '+

                                        '' +

                                        Und dann die auch abfragen:

                                        $dialog.find('.communicate-button').click(function () {
                                              alert(parseFloat($(this).data('value')));
                                              vis.setValue(data.oid_control, parseFloat($(this).data('value')));
                                        });
                                        
                                        

                                        Einfügen nach var $dialog = $(text);.

                                        1 Antwort Letzte Antwort
                                        0
                                        • C Offline
                                          C Offline
                                          Communicate
                                          schrieb am zuletzt editiert von
                                          #56

                                          Hallo Bluefox, einen ersten Versuch das ganze zu Veröffentlichen habe ich im circle-widget thread gemacht. Ende vom Lied ist, das ein User sein System durch das js - Controller update zerschossen hat und ein anderer erst nach diversen Anläufen die Widgets zum Laufen bekommen hat. Von beiden wurde auch bemängelt, dass es keinen Log Level gibt.

                                          Daher folgende Frage : wie hast du denn z.B. die hqwidgets als separat installierbaren Adapter hinbekommen ? Welche Schritte sind dafür notwendig um aus dem Widgetset einen eigenen Adapter zu erstellen? Gruss Dominic

                                          von unterwegs gesendet

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          683

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe