Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Визуализация
  5. ioBroker.vis Драйвер
  6. Написание своего виджета

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    13
    1
    623

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    2.0k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    885

Написание своего виджета

Geplant Angeheftet Gesperrt Verschoben ioBroker.vis Драйвер
15 Beiträge 2 Kommentatoren 3.2k Aufrufe
  • Ä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.
  • I Offline
    I Offline
    instalator
    schrieb am zuletzt editiert von
    #3

    @Bluefox:

    По моему браузер пытается на каждом этапе отрисовать canvas.

    Я обошёл эту проблему так:

    <%== this.data.attr("html_prepend") %><%
    var canvas = '
    
    <canvas id="' + this.data.attr('oid') +'" width="' + this.data.attr('dialog_width') +'" height="100%"></canvas>
    
    ';
    <%== canvas %>
    <%== (parseFloat(vis.binds.basic.formatFloat(this.data)) == 1 ? this.data.attr("html_append_singular") : this.data.attr("html_append_plural")) %>
    
    

    То есть сначала полностью собрать canvas тег, а потом его за раз отрисовать. `
    <%== canvas %> Должен вывести переменную? у меня ничего не выводится

    Высокий уровень Децибел вреден для здоровья!

    http://blog.instalator.ru/

    1 Antwort Letzte Antwort
    0
    • I Offline
      I Offline
      instalator
      schrieb am zuletzt editiert von
      #4

      Вообщем все печально, я вообще въехать не могу как добавить виджет, запутался в коде.

      Еще и index.html и edit.html не пересоздаются каждый раз.

      Приходится редактировать виджет в файлах index.html и edit.html.

      Хотел добавить вот такой виджет http://www.3quarks.com/en/SegmentDisplay/

      Может кто возьмется или объяснит на пальцах, что и как устроено в коде vis

      Все что удалось это тупо вывести значение переменной…
      6305_flot_arbeit.png
      6305_flot_bad_gross.png
      6305_flot_bad_klein.png
      6305_flot_zimmer3.png
      6305_flot_zimmer2.png
      6305_flot_zimmer1.png
      6305_flot_eg.png
      6305_flot_lueftung.png
      6305_flot_aussen.png

      Высокий уровень Децибел вреден для здоровья!

      http://blog.instalator.ru/

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

        @instalator:

        @Bluefox:

        По моему браузер пытается на каждом этапе отрисовать canvas.

        Я обошёл эту проблему так:

        <%== this.data.attr("html_prepend") %><%
        var canvas = '
        
        <canvas id="' + this.data.attr('oid') +'" width="' + this.data.attr('dialog_width') +'" height="100%"></canvas>
        
        ';
        <%== canvas %>
        <%== (parseFloat(vis.binds.basic.formatFloat(this.data)) == 1 ? this.data.attr("html_append_singular") : this.data.attr("html_append_plural")) %>
        
        

        То есть сначала полностью собрать canvas тег, а потом его за раз отрисовать. <%== canvas %> Должен вывести переменную? у меня ничего не выводится
        Я забыл указать закрывающую скобку

        <%== this.data.attr("html_prepend") %><%
        var canvas = '
        
        <canvas id="' + this.data.attr('oid') +'" width="' + this.data.attr('dialog_width') +'" height="100%"></canvas>
        
        ';
        %>
        <%== canvas %>
        <%== (parseFloat(vis.binds.basic.formatFloat(this.data)) == 1 ? this.data.attr("html_append_singular") : this.data.attr("html_append_plural")) %>
        
        

        или так

        <%== this.data.attr("html_prepend") %><%
        <%== '
        
        <canvas id="' + this.data.attr('oid') +'" width="' + this.data.attr('dialog_width') +'" height="100%"></canvas>
        
        ' %>
        <%== (parseFloat(vis.binds.basic.formatFloat(this.data)) == 1 ? this.data.attr("html_append_singular") : this.data.attr("html_append_plural")) %>
        
        
        1 Antwort Letzte Antwort
        0
        • I Offline
          I Offline
          instalator
          schrieb am zuletzt editiert von
          #6

          @Bluefox:

          Я забыл указать закрывающую скобку

          <%== this.data.attr("html_prepend") %><%
          var canvas = '
          
          <canvas id="' + this.data.attr('oid') +'" width="' + this.data.attr('dialog_width') +'" height="100%"></canvas>
          
          ';
          %>
          <%== canvas %>
          <%== (parseFloat(vis.binds.basic.formatFloat(this.data)) == 1 ? this.data.attr("html_append_singular") : this.data.attr("html_append_plural")) %>
          
          

          или так

          <%== this.data.attr("html_prepend") %><%
          <%== '
          
          <canvas id="' + this.data.attr('oid') +'" width="' + this.data.attr('dialog_width') +'" height="100%"></canvas>
          
          ' %>
          <%== (parseFloat(vis.binds.basic.formatFloat(this.data)) == 1 ? this.data.attr("html_append_singular") : this.data.attr("html_append_plural")) %>
          
          ```` `  
          

          Хорошо, а как в script засунуть параметры виджета? и чтобы потом в '

          <canvas id="…" отобразить/с/определенными/параметрами?/Вообще/как/из/виджета/можно/выполнить/код/js?</r=""></canvas>

          Высокий уровень Децибел вреден для здоровья!

          http://blog.instalator.ru/

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

            Например````
            vis.binds.basic.formatFloat

            и есть код JS.
            [6305_flot_lueftung.png](/assets/uploads/files/6305_flot_lueftung.png)
            1 Antwort Letzte Antwort
            0
            • I Offline
              I Offline
              instalator
              schrieb am zuletzt editiert von
              #8

              @Bluefox:

              Например````
              vis.binds.basic.formatFloat

              и есть код JS. `  
              

              т.е. это мы вызываем функуию formatFloat а это типо ветки с функциями vis.binds.basic.?

              Что означают эти скобки <%== ? <% или <%= и <%== в чем разница?

              Высокий уровень Децибел вреден для здоровья!

              http://blog.instalator.ru/

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

                @instalator:

                @Bluefox:

                Например````
                vis.binds.basic.formatFloat

                и есть код JS. `  
                

                т.е. это мы вызываем функуию formatFloat а это типо ветки с функциями vis.binds.basic.? `
                Всё верно.
                @instalator:

                Что означают эти скобки <%== ? <% или <%= и <%== в чем разница? `
                Это синтаксис CanJS-EJS (Описание http://canjs.com/guides/EJS.html)

                <%== - вывод HTML текста без изменнений в это место

                <%= - вывод текста (все теги будут преобразованы - escaped)

                <% выполняет написанный JS код

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

                  Можешь вот здесь посмотреть, как можно было встраивать:

                  https://github.com/ioBroker/ioBroker.vi … ather.html

                  Ищи tplSegmentClock: function (el, data)
                  48_clock.gif

                  1 Antwort Letzte Antwort
                  0
                  • I Offline
                    I Offline
                    instalator
                    schrieb am zuletzt editiert von
                    #11

                    @Bluefox:

                    Это синтаксис CanJS-EJS (Описание http://canjs.com/guides/EJS.html)

                    <%== - вывод HTML текста без изменнений в это место

                    <%= - вывод текста (все теги будут преобразованы - escaped)

                    <% выполняет написанный JS код `
                    Да это просто магия) Буду дальше вникать… Спасибо.

                    @Bluefox:

                    Можешь вот здесь посмотреть, как можно было встраивать:

                    https://github.com/ioBroker/ioBroker.vi … ather.html

                    Ищи tplSegmentClock: function (el, data) `
                    :o час и готово?) я два вечера разобраться не мог.

                    Высокий уровень Децибел вреден для здоровья!

                    http://blog.instalator.ru/

                    1 Antwort Letzte Antwort
                    0
                    • I Offline
                      I Offline
                      instalator
                      schrieb am zuletzt editiert von
                      #12

                      Добавил себе, часы почему то не работают, да они и не нужны были, переменную отображает, теперь окно управления нагревателем выглядит как оригинальная панель управления)

                      Высокий уровень Децибел вреден для здоровья!

                      http://blog.instalator.ru/

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

                        Часы поправил.

                        Вот только недавно хотел написать в форум вопрос о хороших цифровых часах. А тут ты со ссылкой.

                        Поэтому я так быстро встроил.

                        Если ещё какие-нибудь виджеты найдёшь, говори. ;)

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

                          Тоже неплохо выглядит http://www.3quarks.com/en/SVGClock/index.html

                          1 Antwort Letzte Antwort
                          0
                          • I Offline
                            I Offline
                            instalator
                            schrieb am zuletzt editiert von
                            #15

                            @Bluefox:

                            Если ещё какие-нибудь виджеты найдёшь, говори. ;) `
                            Не совсем готовые виджеты, интересная библиотечка, выбор дат и т.п. можно организовать

                            http://demo.mobiscroll.com/select/basic/

                            Высокий уровень Децибел вреден для здоровья!

                            http://blog.instalator.ru/

                            1 Antwort Letzte Antwort
                            0

                            Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                            Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                            Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                            Registrieren Anmelden
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            404

                            Online

                            32.9k

                            Benutzer

                            83.0k

                            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