Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly in Vis Widget ansteuern - ist das möglich?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly in Vis Widget ansteuern - ist das möglich?

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @Gezi70 last edited by mickym

      @gezi70 Ich kann Dir nur Anregungen geben, wie ich sowas gemacht habe. Ich habe mich allerdings bei meiner VIS an diesem Projekt angelehnt.

      Das ist aber eigentlich egal. Ich habe zur Darstellung der States halt 2 Datenpunkte angelegt.
      Im 1. Datenpunkt wird herkömmlich der State dargestellt
      im 2. Datenpunkt der Effekt - ich habe den meist vis genannt.

      Das hat aber dann mit ccs Styles was zu tun. Da gibts hier sicher einige Spezialisten - ich habe wie gesagt mich an die von dem oben verlinkten Projekt von @Uhula verwendet.

      Die verwendeten Widgets sind hier die jqui-container Icons.

      f7673b24-d4c6-4dcd-af18-0fcdbbad40d6-image.png

      Man sieht unter Quelle wird das Bild des Icons eingetragen und mit dem Binding kann man durch ein weiteres Binding den Effekt darstellen . (wie in Deinem Fall statt grünen Rahmen roter Rahmen.

      Bei mir erscheint zum Beispiel bei dem gelben Licht ein gelber Rahmen hinter dem Icon.

      3f61dea5-e3e2-44d3-9c2d-e5748152bd43-image.png

      ffbb9eeb-c4c0-410e-8f88-e3137d3a63d5-image.png

      So sieht dass dann aus. Ich steuere meine Datenpunkte zwar mit Node Red - aber das geht natürlich mit Blockly genauso. Du musst halt nur die Punkte Deiner Bindings füllen.

      Links unten siehst Du dann das Icon im ausgeschalteten Zustand, anderes Bild und kein Hintergrundleuchten.

      G M 2 Replies Last reply Reply Quote 0
      • G
        Gezi70 @mickym last edited by

        @mickym danke erstmal, das muss ich mir mal in Ruhe zu Gemüte führen.

        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @Gezi70 last edited by mickym

          /gelöscht

          G 1 Reply Last reply Reply Quote 0
          • G
            Gezi70 @mickym last edited by

            @mickym wie schon gesagt, die Sache mit den Widgets und der Animation steht. Ich habe zwei Widgets, eines mit rotem und eines mit grünem Rahmen, welche mit dem Status wechselt. Ich habe halt noch einen Rahmen gebastelt, ihn im CSS animiert und jetzt muss ich diesen halt irgendwie zeitversetzt ansteuern können.

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @Gezi70 last edited by mickym

              @gezi70 Wenn Du einen CSS Style hast dann steht da ja ein Text drin - in Deinem Widget. Wie Du unten siehst machst Du mit den geschweiften Klammern ein Binding zu einem Datenpunkt den Du erstellt hast. Wenn Du dann in den Datenpunkt einfach den Text des CSS Styles kopierst - dann sollte sich das Aussehen sofort ändern, sobald der Text sich im Datenpunkt ändert. Der Rest ist ja dann ein Kinderspiel mit Deiner Logikmaschine diese DP zu füllen.

              Im NodeRed gibts so was wie ein trigger - da kann ich wenn Offen - eine Nachricht schicken und dann nach z Bsp 5 Minuten die nächste. Wenn Du dann damit Deinen Datenpunkt fütterst, hast Du mE genau das was Du brauchst. Das geht im Blockly sicher genauso.

              G 1 Reply Last reply Reply Quote 0
              • G
                Gezi70 @mickym last edited by

                @mickym danke erstmal. Heute ist mein Kopf zu voll. Das guck ich mir in Ruhe mal an.

                G 1 Reply Last reply Reply Quote 0
                • G
                  Gezi70 @Gezi70 last edited by Gezi70

                  Ich musste doch nochmal den Status auf ungelöst setzen, denn ich habe einen Fehler im Blockly und weiß nicht wo.
                  Ich triggere auf die Veränderung eines Kontaktes, welches den Zustand des Garagentores zeigt. Wenn Garagentor true, dann setze Datenpunkt (selbst erstellt) mit 5 Minuten Verzögerung auf true. Sonst wenn Garagentor falsch, setze Datenpunkt ohne Verzögerung auf falsch. Ich habe das schon mit "aktualisiere" und mit "steuere" versucht - aber der Datenpunkt bleibt immer wahr... Screenshot_20210315-154342_Firefox.jpg

                  K 1 Reply Last reply Reply Quote 0
                  • K
                    Kusi @Gezi70 last edited by Kusi

                    @gezi70 "Bärleins Garagentor.State" ist das korrekte Objekt? Warum brauchst du einen eigenen Datenpunkt und die Verzögerung?

                    1 Reply Last reply Reply Quote 0
                    • M
                      MCU @mickym last edited by MCU

                      @mickym Da du Dich mit Bindings in CSS-Klasse beschäftigt hast:
                      Gibt es auch eine Möglichkeit die VIEW-Hintergründe aller Views mit CSS-Klasse zu beeinflussen:

                      d538a2b6-18e6-4ed9-bede-57f701488fa3-image.png

                      6b6b9d2d-ad24-484d-a520-ec9bcc082675-image.png

                      d8d3a2dc-f558-4503-9a7f-226210c2fead-image.png

                      Andere Frage wäre:
                      in CSS:
                      8b248beb-1289-4e3b-84a1-c60aa823bb28-image.png

                      Kann ich irgendwie die background-color mit Bindings erreichen?

                      .vis-view{background-color:{binding}}??
                      
                      1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active last edited by

                        @mcu sorry da bin ich leider überfragt.

                        Vielleicht hilft ja das https://github.com/ioBroker/ioBroker.vis irgendwie weiter. So bekommt man ggf. den aktuellen view und kann dann vielleicht mit den Styles:

                        There are a number different internal bindings to provide additional information in views:

                        username - shows logged-in user
                        view - name of actual view
                        wname - widget name
                        widget - is an object with all data of widget. Can be used only in JS part, like {a:a;widget.data.name}
                        wid - name of actual widget
                        language - can be de, en or ru.
                        instance - browser instance
                        login - if login required or not (e.g. to show/hide logout button)
                        Note: to use ":" in calculations (e.g. in string formula) use "::" instead.

                        Remember, that style definitions will be interpreted as bindings, so use {{style: value}} or just

                        {
                        style: value
                        }
                        Vielleicht kann man über die Style definitions und/oder über das Binding des aktuellen Views via Script was machen. Ich habe mich dazu aber zuwenig bislang mit VIS beschäftigt.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        888
                        Online

                        32.0k
                        Users

                        80.5k
                        Topics

                        1.3m
                        Posts

                        4
                        11
                        488
                        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