Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Vorstellung] Meine VIS

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    [Vorstellung] Meine VIS

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

      Hallo Zusammen,

      da ich hier im Forum immer viele Hilfen und Anregungen gefunden habe dachte ich, ich gebe mal was zurück, was vielleicht der ein oder andere als Anregung gebrauchen kann.
      Ich habe meine aktuelle VIS etwas auf Vordermann gebracht und wollte sie euch einfach mal zeigen. Ziel war ein möglichst aufgeräumtes Display mit wenig Farben auf dem trotzdem die wichtigsten Dinge sofort gesteuert und angezeigt werden können.

      Main Screen mit Rollladensteuerung, Terminen (Müllabfuhr, aktuell keine im Bild da nicht fällig) und den wichtigsten Steuerelementen rechts:

      rollladen_1.jpg
      Die orangen Punkte zeigen an, welche Fensterkontakte offen sind und erscheinen einmal neben dem jeweiligen Fenster und, sobald mindestens ein Fenster offen ist, auch unten im Menü. Dann sieht man immer, auch auf anderen Screens, ob noch was offen ist. Zusätzlich kommt beim Verlassen der Wohnung eine akustische Ansage über das Tablett, wenn noch Fenster offen sind.

      Rollladensteuerung über jqui-Widget:

      rollladen_2.jpg

      Lichtsteuerung:

      licht_1.jpg

      Texte und Hintergrundkacheln sind jetzt (soweit möglich) alle pixelgenau zwischen den Views ausgerichtet. So wirkt die Oberfläche auch beim Umschalten aufgeräumt weil nicht alles hin und her springt.

      Musiksteuerung:

      musik_1.jpg

      Eingebunden sind der Denon AVR-X2000 Receiver über den entsprechenden Adapter sowie Spotify.
      Der Center Speaker vom Denon lässt sich an und abschalten, je nachdem ob man Musik hören, oder einen Film gucken will. Ist beim Denon leider normalerweise nicht per Befehl vorgesehen. Deshalb habe ich auf dem View per iFrame die entsprechende Konfigurationsseite des Denon eingeblendet. Mittlerweile hab ich aber herausgefunden wie es auch per Skript geht. Ich habe das Ewigkeiten gegoogelt und dann trotzdem nix gefunden und musste mir von einem Freund mit sehr guten IT-Kentnissen helfen lassen. Also wenn es mal jemand braucht:

      Center am Denon an (per curl Befehl z.B. über exec Block in Blockly). Hier auf "Small", "Large" würde auch gehen:

      curl -d "setPureDirectOn=OFF&setSetupLock=OFF&radioSpConfigFr=Large&radioSpConfigC=Small&radioSpConfigSw=No&radioSpConfigSrA=Small" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://die.IP.vom.Denon/SETUP/SPEAKERS/SPEAKERCONFIG/s_speakersetup.asp
      

      Center Speaker wieder abschalten ("None"):

      curl -d "setPureDirectOn=OFF&setSetupLock=OFF&radioSpConfigFr=Large&radioSpConfigC=Small&radioSpConfigSw=No&radioSpConfigSrA=Small" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://die.IP.vom.Denon/SETUP/SPEAKERS/SPEAKERCONFIG/s_speakersetup.asp
      

      Das ganze geht natürlich auch über den entsprechenden Sprachbefehl "Ich möchte einen Film gucken" mit "Snips" (leider nicht mehr weiterentwickelt).

      Staubsauger:

      staubsauger.jpg

      Xiaomi Roborock S5, per Adapter eingebunden. Auf der Karte können einzelne oder mehrere Räume markiert werden. Dann werden diese nacheinander gesaugt. Das Ganze klappt über die XY-Koordinaten die per Adapter an den Staubsauger geschickt werden. Man muss also einmal alle Räume "vermessen" ("Gehe zu" in der Handy-App und dann im Adapter gucken, welche Koordinaten er zurückmeldet. Ist ein bisschen Fummelarbeit, geht vielleicht auch einfacher).

      Wetter:

      wetter_1.jpg

      Das Diagramm rechts liegt 2 mal übereinander vor und welchselt je nach Jahreszeit automatisch. So ändert sich der angezeigte Temperaturbereich entsprechend. Die gelbe Kurve ist die Temperatur in der Sonne, die Rote die im Schatten. Daraus erzeuge ich mir die Variable "Sonne_scheint" um damit z.B. die Beschattung der Rollladen zu steuern. Unter dem Bild und Diagramm ist noch Platz für max. zwei DWD-Wetterwarnungen. Aktuell ist aber alles ruhig.


      Das sind die Haupt-Screens. Zusätzlich gibt es noch ein paar nette Features wie z.B. Diagramme, die sich über versteckte Schalter aufrufen lassen. Ein Klick auf die große Uhrzeit in der Mitte öffnet z.B. das Diagramm zur Solarthermie:

      solaranlage.jpg
      (War ein schlechter Tag)

      Warum "versteckte" Schalter? Naja, meine Frau interessieren die Diagramme nicht und so ist es optisch aufgeräumt. Ich weiß ja, wo ich drücken muss. 😉

      Verpasste Anrufe werden über den tr-064 Adapter ausgelesen und entsprechend bei Bedarf eingeblendet:

      verpasste_anrufe.jpg

      Der Wecker lässt sich über die Hauptseite erreichen und dann konfigurieren:

      wecker.jpg


      Das ganze läuft auf einem 10 Zoll Android Tablet (Lenovo Tab-10), das bei mir an der Wand hängt. Dafür wurden bei der Renovierung direkt Kabel und Unterputzdosen vorgesehen. Dort ist ein USB Netzteil verbaut und versorgt das Tablet mit Strom. Das Lenovo hat den Vorteil, dass die drei Android-Tasten nur bei Bedarf im Display eingeblendet werden und nicht immer zu sehen sind. Die brauche ich für die VIS ja nicht. Das Gerät ist immer an, Nightstand-Mode und das Display wird bei Berührung beleuchtet bzw. wenn man die Tür öffnet (dann kann man den Summer direkt drücken).

      an_wand.jpg

      Ich hoffe euch gefällt's auch! Ich hatte erst überlegt den VIS-Export hier hochzuladen, aber die VIS verwendet ziemlich viele eigene Grafiken, die dann ja fehlen. Wenn jemand weiß, wie der Export mit allen Grafiken geht, lasst es mich wissen!

      Und damit Danke nochmal an Alle, von denen ich hier im Forum gelernt habe!

      B 1 Reply Last reply Reply Quote 3
      • D
        Dirni last edited by

        Hallo

        Echt schön gemacht, mich würde interessieren wie du das mit der Einzelraum Reinigung genau umgesetzt hast

        1 Reply Last reply Reply Quote 0
        • B
          badsnoopy667 last edited by

          Was möchtest Du denn wissen?
          Wie das VIS aufgebaut ist, oder wie das Skript dahinter aussieht?
          Oder wie man an die Koordinaten für die Räume kommt?

          1 Reply Last reply Reply Quote 0
          • D
            Dirni last edited by

            Ich habe seit einem Monat einen S50 MAX denn ich aber noch nicht eingebunden habe. Ich habe shcon ein paar Visualisierungen gesehen wo man die räume er saugen soll über einen Button einschaltet oder ausschaltet. Wie hast du das bei deiner VIS mit den Räumen gemacht (als das mit abwählen und anwählen ? Wie gesagt hab ich mich mit dem Adapter noch nicht beschäftigt aber werden dort dann Datenpunkte geschaltet er er saugt dann einen raum nach dem anderen oder wie geht das vor sich?

            lg

            1 Reply Last reply Reply Quote 0
            • B
              badsnoopy667 last edited by badsnoopy667

              Ah, okay.
              Ich versuch's mal zusammenzufassen.
              Der Adapter stellt einen Datenpunkt "zoneClean" zur Verfügung:

              2020-05-25 15_04_48-objects - ioBroker.png

              Dort können die X,Y-Koordinaten der Räume (ich glaube das ist dann immer die obere Linke und untere rechte Ecke) eingetragen werden.

              Das Format sieht so aus:

              [19000,22000, 22500, 27000, 1], [22400, 25000, 29000, 27500, 1]
                x1,   y1,     x2,    y2,  1     x1,   y1,     x2,    y2,  1
              

              Das Beispiel saugt zwei Räume, der erste ist in den ersten eckigen Klammern, der zweite in der zweiten eckigen Klammer.
              Die "1" in der Klammer gibt die Anzahl der Saugdurchgänge an. Max. gehen hier 3 glaube ich.

              Ich hab mir eine Word-Datei gemacht und mir das für jeden Raum aufgeschrieben, ich fand das sonst sehr unübersichtlich:


              Badezimmer:
              Unten links: 25700, 21600
              Oben rechts: 27700, 24870

              Badezimmer Rechteck:
              [25700, 21600, 27700, 24870,1]

              Du musst also ein Skript haben, das diesen Datenpunkt mit den richtigen Koordinaten im richtigen Format füllt. Eine eckige Klammer pro Raum, dazwischen ein Komma und Leerzeichen, aber am Ende kein Komma mehr, sonst geht's nicht. Die Syntax ist also wichtig!

              Hier ist mein Blockly dafür:

              -- Oder doch nicht, der Post ist zu lang zum abschicken.. Ich häng es in den nächsten Post.

              2020-05-25 15_14_06-javascript - ioBroker.png

              2020-05-25 15_17_44-javascript - ioBroker.png

              Im Prinzip:
              Wenn in der VIS der Startknopf gedrückt wird, setze alle Variablen erstmal auf leer, damit da nix schief geht.
              Dann prüfe Raum für Raum durch, ob dieser aktuell in der VIS auf true steht. Wenn ja, dann setze die Variable des entsprechenden Raumes auf die vorher ermittelten Koordinaten und Anzahl Saugvorgänge (ist bei mir immer 1, ich habe keinen Knopf dafür in der VIS, könnte man aber auch noch machen, das Skript ist dafür schon mal vorbereitet.)
              Am Ende wird dann ein Gesamttext aus allen nicht leeren Variablen erstellt und dann zu guter letzt noch korrekt Formatiert (also das letzte Komma gelöscht).
              Das ganze wird dann in das Objekt "zoneClean" geschrieben.

              Dann fährt der Sauger los.

              In der VIS ist das einfach eine leere Karte vom Grundriss:
              Grundriss.png

              Dadrüber ist dann für jeden Raum ein Bild, nur mit der blauen Füllung:
              Badezimmer.png
              Kueche.png

              Diese sind alle gleich ausgerichtet und auch gleich groß, dann passt das in der VIS nachher gut übereinander.

              Zusätzlich sind dann über diesen ganzen Bildern noch durchsichtige Schalter (leeres Bild benutzen) in der Größe der Räume platziert. Hier auf den richtigen Z-Index achten. Die Knöpfe müssen über den Bildern liegen!
              Damit werden die Räume (Die ganzen "_bool" - Variablen) dann an und aus geschaltet. Und die blauen Bilder sind so eingestellt, dass die Sichtbarkeit nur true ist, wenn der Raum aktiviert ist. Man könnte vermutlich auch direkt die Bilder der Räume auf die Knöpfe machen, dann spart man sich die eine Ebene. Aber ich hab's halt so gemacht.

              So, ich hoffe das war jetzt einigermaßen verständlich. 😉
              Sonst frag nochmal nach!

              1 Reply Last reply Reply Quote 0
              • B
                badsnoopy667 last edited by

                Und hier noch der Export als TXT-Datei. Scheint zu lang zu sein für einen normalen Post.

                blockly_staubsauger_export.txt

                D 1 Reply Last reply Reply Quote 0
                • D
                  Dirni @badsnoopy667 last edited by

                  @badsnoopy667

                  Das hast du wirklich gut gelöst, ich werde das ganze am Abend mal ausprobieren. Wenn ich das rihtig verstehe hast du für jeden Raum einen Datenpunkt angelegt denn du auf "true" oder "false" setzt über dem Button oder ?

                  1 Reply Last reply Reply Quote 0
                  • B
                    badsnoopy667 last edited by

                    Ja, genau.
                    Ich habe mir eigene Datenpunkte angelegt, also z.B. "xiaomi_badezimmer_bool".
                    Diese werden über die unsichtbaren Knöpfe vor den Grafiken in VIS auf true oder false gesetzt.
                    Damit steuere ich 1. die Sichtbarkeit der blauen Raumfüllungen und 2. werden damit im Skript die Blöcke gestartet, die die Raumkoordinaten in die skriptinternen Text-Variablen schreiben.
                    Aus den ganzen beschriebenen Text-Variablen wird dann ein Gesamttext erstellt, die Syntax schön gemacht und dann in den Datenpunkt des Adapters geschrieben. Ändert sich dieser Datenpunkt und enthält etwas "sinnvolles", dann fährt der Sauger los.

                    D 1 Reply Last reply Reply Quote 0
                    • D
                      Dirni @badsnoopy667 last edited by

                      @badsnoopy667

                      Ok danke ich glaube ich habe verstanden, ansonsten melde ich mich nochmal.

                      lg

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

                        @badsnoopy667

                        Hier der Export zur VIS:
                        2021-06-03-main.zip

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        999
                        Online

                        31.6k
                        Users

                        79.5k
                        Topics

                        1.3m
                        Posts

                        2
                        10
                        3499
                        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