Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. IOBroker mit Smartvisu

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    IOBroker mit Smartvisu

    This topic has been deleted. Only users with topic management privileges can see it.
    • MiGoller
      MiGoller Developer @apollon77 last edited by

      @apollon77 Ok, sehe ich auch so. Dachte schon, da müsste ich noch etwas tun. Mit dem von mir verlinkten Treiber läuft meine Installation seit Mitte des Jahres.

      apollon77 1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 @MiGoller last edited by

        @migoller Was ist denn an dem anders als an dem Includeten treiber?

        MiGoller 1 Reply Last reply Reply Quote 0
        • MiGoller
          MiGoller Developer @apollon77 last edited by

          @apollon77 Hey, ich habe lediglich die write-Methode mit einem "Best-Guess" für die Typenkonvertierung von Zahlen und Boolean-Werten modifiziert (vgl. Zeilen 71-78) in https://github.com/MiGoller/smartvisu_iobroker_driver/blob/main/io_iobroker2.js .

          apollon77 1 Reply Last reply Reply Quote 0
          • apollon77
            apollon77 @MiGoller last edited by

            @migoller Ja hatte ich auch gesehen. Dann kleine Idee warum bei @Patzii das mit ack=true ankommt

            P 1 Reply Last reply Reply Quote 0
            • P
              Patzii @apollon77 last edited by

              @apollon77 @MiGoller

              So jetzt habe ich es probiert jetzt verhält es sich so mit deinem Adapter:
              1 mal betätigen schaltet sich das Licht Ein Status in Visu geht sofort wieder Off
              2mal betätigen Licht bleibt Ein Status ist danach auch auf ON
              3 mal Betätigen Licht und Status ist Off

              hoffe ihr habt eine Idee für mich

              Danke Patrick

              MiGoller 1 Reply Last reply Reply Quote 0
              • MiGoller
                MiGoller Developer @Patzii last edited by

                @patzii Vor ein paar Minuten hat es ein neues smartVISU Release gegeben, das verbesserte Treiber enthält. Dabei ist auch ein neuer ioBroker Treiber, der die Typenkonvertierung enthält. 😉

                https://github.com/Martin-Gleiss/smartvisu/releases

                Ich muss das nachher mal ausprobieren.

                MiGoller 1 Reply Last reply Reply Quote 1
                • apollon77
                  apollon77 last edited by

                  Mal die Runde gefragt: ich hatte mal angefangen mit einem smartvisu Adapter der quasi ein php installiert und nen Webserver in nodejs der dann das ausführt und eine smartvisu Version mitbringt. Dann würde das generell direkt in iobroker laufen.

                  Wäre das was was interessant wäre oder ist’s einfacher das so „getrennt“ laufen zu haben wir ihr jetzt? Sagt mal was dazu bitte.

                  MiGoller 1 Reply Last reply Reply Quote 1
                  • MiGoller
                    MiGoller Developer @MiGoller last edited by

                    @migoller So, habe die smarftVISU v3.3.0 in meinem Docker-Image... und rennt mit dem inkludierten Standardtreiber, ohne dass ich Fehler im ioBroker Protokoll finden kann, dass Typen nicht passen würden.

                    Ich habe auch einen KNX-Bus und hatte in den Versionen bis v3.2.x das Problem, das @Patzii beschrieben hatte. Jetzt nicht mehr. Da kann ich wohl meinen Workaround, den alternativen Treiber ioBroker_v2 wieder einstampfen.

                    @Patzii: Ich baue nachher noch ein nginx-Image für Dich, dass Du auch aktualisieren kannst.

                    MiGoller 1 Reply Last reply Reply Quote 0
                    • MiGoller
                      MiGoller Developer @apollon77 last edited by

                      @apollon77 Hey, ich glaube, für die meisten wäre es einfacher, das als alternative VIS praktisch "im" ioBroker laufen zu lassen.

                      Mein Docker-basiertes Setup mit einem Docker-Compose-Stack, ein nginx Container und ein smartVISU FPM Container, hat @Patzii nicht so trivial unter UNRAID ans Laufen bekommen. Da habe ich ein Image gebaut, dass einen PHP-Webserver auf Basis von nginx samt smartVISU mitbringt.

                      Persönlich splitte ich diese Dinge gern auf, damit ich nach Möglichkeit immer offizielle Images für Container nutzen kann. Wenn jemand aber eh den ioBroker auf Docker fährt, dann sollte es kein Problem sein, einen weiteren Container für die smartVISU oder einen Stack zu zünden.

                      @apollon77 , ich würde aber auch bei einem smartVISU Adapter unterstützen. Schaue mir parallel des Repo https://github.com/Apollon77/ioBroker.smartvisu an.

                      MiGoller 1 Reply Last reply Reply Quote 0
                      • MiGoller
                        MiGoller Developer @MiGoller last edited by

                        @apollon77 Ich hätte das prinzipiell in diesem Stil getan, allerdings war die Performance in der Vergangenheit nicht so dolle, aber das müsste ich noch einmal ausprobieren.

                        var express = require('express');
                        var php = require("node-php"); 
                        var path = require("path"); 
                        
                        var app = express();
                        
                        app.use("/", php.cgi("public")); 
                        
                        app.listen(80);
                        
                        console.log("Server listening!");
                        

                        Der PHP-Content wäre dann im Verzeichnis ./public, in unserem Kontext also der smartVISU Code.

                        Statt node-php nutzt Du sphp, aber das sollte praktisch egal sein. Sind beides CGI-Implementierungen, und dabei ist sphp die jüngere von beiden. Ist das wirklich schon 9 Jahre her, dass ich das mit node-php ausprobiert habe??? Ich werde alt.

                        apollon77 1 Reply Last reply Reply Quote 0
                        • MiGoller
                          MiGoller Developer @MiGoller last edited by

                          @Patzii , das nginx-Image habe ich soeben aktualisiert. Du solltest es in UNRAID jetzt aktualisieren können.

                          1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 @MiGoller last edited by

                            @migoller Ja schau gern rein, am Ende war das mal ein Versuch der glaube auch schon 2 Jahre her ist 🙂 aber sphp tut .. wie performant ist die Frage. Eine alternative wäre einen phpfpm service zu starten und die php executions darüber laufen zu lassen ... das müsste man aber mal testen

                            P 1 Reply Last reply Reply Quote 0
                            • P
                              Patzii @apollon77 last edited by

                              @apollon77

                              mit der neuen Version ist leider noch das selbe Problem das ich nur einschalten kann und nicht Aus

                              der False wert wird gesetzt aber nicht bestätigt!

                              Habs noch eine Idee für mich?

                              apollon77 1 Reply Last reply Reply Quote 0
                              • apollon77
                                apollon77 @Patzii last edited by

                                @patzii sagte in IOBroker mit Smartvisu:

                                der False wert wird gesetzt aber nicht bestätigt!

                                in weldhe Nomenklatur bist Du jetzt? bestätigt aka "ack flag" oder was genau? Mehr details

                                P 1 Reply Last reply Reply Quote 0
                                • P
                                  Patzii @apollon77 last edited by Patzii

                                  @apollon77

                                  Hab jetzt die 3.3.0 mit den originalen IOBroker treiber

                                  Wo sehe ich deine frage wie kann ich das nachsehen ?

                                  Was mir noch auffällt der status wird nicht ausgelesen vom IOBroker!

                                  das hier von der smartvisu
                                  45c8a6ef-6700-402f-8a97-911bded8ffb0-image.png

                                  das hier ist das log vom IOBroker
                                  e5321c71-effd-43bd-adf1-aaa49bd1e2ac-image.png

                                  apollon77 MiGoller 3 Replies Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 @Patzii last edited by

                                    @patzii Naja wie oben gesagt wenn der Falsche typ reinkommt dann ist eine zeichenkette mit Inhalt "false" ist ein wahrer Wert, der ist nicht false ... also es muss das richtige gesendet werden ... also es klingt schon richtig was da im neuen treiber gemacht wurde (nicht performant aber ggf ok).

                                    1 Reply Last reply Reply Quote 0
                                    • MiGoller
                                      MiGoller Developer @Patzii last edited by

                                      @patzii Hey, ich schaue heute Abend in meiner smartVISU Konfiguration nach bzw. baue das mit einem basic.flip nach. Ich nutze den "alten" KNX-Adapter, vielleicht ist der toleranter, auch wenn das Protokoll etwas anderes sagt. 😉 Laut Debug-Skript kommen bei mir aber auch echte Boolean-Werte an und keine Strings.

                                      Versuche mal bitte, statt 'true', 'false' keine Zeichenfolgen mit ' anzugeben, sondern direkt die Boolean-Werte in der Definition des Flips: true, false, also ohne ' .

                                      U 1 Reply Last reply Reply Quote 1
                                      • U
                                        uweabc @MiGoller last edited by uweabc

                                        Bei basic.flip true,false einfach weglassen.
                                        Ob man nun true, false oder 1,0 oder 'true','false' in den Widgets (z.B. basic.checkbox) verwendet sollte kein Unterschied machen, da die Typenkonvertierung in smartVISU 3.3.0 dies wieder korrigiert. Also wenn ioBroker ein boolean liefert so schreibt smartVISU 3.3.0 auch ein boolean wieder zurück.

                                        Ich habe dazu eine Objekt definiert:

                                        {
                                          "common": {
                                            "name": "boolean Test",
                                            "type": "boolean",
                                            "def": false,
                                            "role": "state"
                                          },
                                          "native": {},
                                          "type": "state",
                                          "_id": "0_userdata.0.boolean_value",
                                          "acl": {
                                            "object": 1636,
                                            "state": 1636,
                                            "owner": "system.user.admin",
                                            "ownerGroup": "system.group.administrator"
                                          },
                                          "from": "system.adapter.admin.0",
                                          "user": "system.user.admin",
                                          "ts": 1671443159460
                                        }
                                        

                                        In einer smartVISU Testseite die zu testenden Widgets definiert:

                                          <div class="block">
                                            <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
                                              <div data-role="collapsible" data-collapsed="false">
                                                <h3>boolean value test</h3>
                                                  basic.checkbox {{ basic.checkbox('', '0_userdata.0.boolean_value', 'boolean', true, false) }}<br>
                                        	  basic.stateswitch {{ basic.stateswitch('', '0_userdata.0.boolean_value', 'icon', [true,false], ['jquery_plus.svg', 'jquery_minus.svg']) }}<br>
                                        	  basic.flip {{ basic.flip('flip', '0_userdata.0.boolean_value') }}<br>
                                        	  {{ basic.print('', '0_userdata.0.boolean_value', '%s' , 'VAR==1?"true":"false"') }}<br>
                                              </div>
                                            </div>
                                          </div>
                                        

                                        Und dies getestet:
                                        ioBroker_smartVisu_boolean.gif

                                        Dies sieht man in Log (ioBroker):

                                        socketio.0 2022-12-21 19:19:49.419	silly	States user redis pmessage 0_userdata.0.boolean_value/0_userdata.0.boolean_value:{"val":true,"ack":false,"ts":1671646789416,"q":0,"from":"system.adapter.socketio.0","user":"system.user.admin","lc":1671646789416}
                                        socketio.0 2022-12-21 19:19:47.064	silly	States user redis pmessage 0_userdata.0.boolean_value/0_userdata.0.boolean_value:{"val":false,"ack":false,"ts":1671646787061,"q":0,"from":"system.adapter.socketio.0","user":"system.user.admin","lc":1671646787061}
                                        socketio.0 2022-12-21 19:19:44.001	silly	States user redis pmessage 0_userdata.0.boolean_value/0_userdata.0.boolean_value:{"val":true,"ack":false,"ts":1671646783998,"q":0,"from":"system.adapter.socketio.0","user":"system.user.admin","lc":1671646783998}
                                        socketio.0 2022-12-21 19:19:41.201	silly	States user redis pmessage 0_userdata.0.boolean_value/0_userdata.0.boolean_value:{"val":false,"ack":false,"ts":1671646781198,"q":0,"from":"system.adapter.socketio.0","user":"system.user.admin","lc":1671646781198}```
                                        MiGoller 1 Reply Last reply Reply Quote 3
                                        • MiGoller
                                          MiGoller Developer @uweabc last edited by

                                          @uweabc Sehr schön gemacht und dargestellt. Lässt sich gut reproduzieren. Vielen Dank. Im Ergebnis sieht es bei mir gleich aus.

                                          1 Reply Last reply Reply Quote 0
                                          • MiGoller
                                            MiGoller Developer @Patzii last edited by

                                            @patzii Hey, kannst Du das bitte mal mit einem benutzerdefinierten Datenpunkt wie z.B. 0_userdata.0.boolean_value im Post https://forum.iobroker.net/topic/60969/iobroker-mit-smartvisu/31 von @uweabc testen? Ich möchte ausschließen, dass es am OpenKNX Adapter liegt, oder dass auf den von Dir genannten Datenpunkt noch ein Skript aktiv ist, etc.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            909
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            34
                                            1458
                                            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