MyPowerrouter.com wird abgestellt - Raspberry PI als Ersatz

Tage im Haus: 1811

Gerade geht es heiß her im Internet wenn es um das Thema Powerrouter geht. Nedap stellt den Online-Monitoring-Service zum 01. Mai ein. So wie ich das in den Foren gesehen habe poppen jetzt aus allen Richtungen sehr kreative Ideen aus dem Boden.

Da ich ebenfalls für meinen Nedap Powerrouter eine Lösung brauche und mir viele andere Ideen etwas zu invasiv für mein restliches Netzwerk sind, habe auch ich mich an die Arbeit gemacht und etwas zurecht getüftelt. Es musste etwas sein das keinen Einfluss auf den rest meines Netzwerkes hat. Etwas, das man einfach irgendwo dazwischen stecken kann und ohne Zutun funktioniert.

Mein Setup

Also habe ich mit einen Raspberry Pi B+ von 2015 und einen USB-Netzwerkadapter geschnappt, ein aktuelles Raspberry Pi OS installiert und mal geschaut was man alles braucht und direkt los gelegt. So soll es dann hinterher angeschlossen werden:

Das ganze System ein Mal komplett installiert, angeschlossen und siehe da... nach zwei Tagen sind schon sehr informative Daten da.

Was dazu gebraucht wird

  • Raspberry PI (Version ist eigentlich egal. Selbst bei meinem B+ läuft es gut. Er sollte aber einer sein mit Netzwerkanschluss B+, 2, 3, 3+ und 4 gehen ohne Probleme). Natürlich sind die ab dem Pi 2 eine ganze Ecke schneller und eher geeignet, gerade wenn man nach einigen Monaten viele Daten hat.
    Am besten nehmt ihr ein Kit, weil da schon fast alles dabei ist, was man so braucht, wie bspw. hier:
    • Pi 3+ (*)
    • Pi 4 (*) (Der Pi 4 ist zwar viel leistungsstärker, verbraucht aber auch etwas mehr Strom und entwickelt u.U. etwas mehr Hitze)
  • MicroSD-Karte mindestens 8GB bspw. die SanDisk Ultra 32 GB (*)
  • Raspberry Pi Netzteil bspw. offizielles Pi 3 Netzteil (*) oder offizielles Pi 4 Netzteil (*)
  • Optional kann man dem Pi auch ein Gehäuse gönnen bspw. Pi 4 (*) oder für Pi B+, 2, 3 und 3+ (*) beim Pi 4 lohnt sich ggf. auch ein Gehäuse, dass den Pi gut kühlt, wie bspw. ein Passiv Pi 4 Gehäuse (*)
  • Einen USB-Netzwerkadapter. Man kann fast jeden nehmen. Ich habe einen alten von Apple mit USB 2.0, aber selbst die 2€ teile aus Fernost funktionieren fast alle ohne irgend ein zutun. Man braucht auch kein USB 3.0 oder 1Gbit, da der Netzwerkanschluss des Powerrouters nur 10Mbit hat.

Installation

  • Ladet euch hier(3,4Gb) mein Abbild des Raspberry Pi Betriebsystems herunter und legt es euch irgendwo ab, wo ihr ein wenig Platz habt.
  • Abbild-Zip-Datei entpacken
  • Ladet euch den Raspberry Pi Imager hier herunter und installiert ihn euch
  • Steckt die MicroSD-Karte mit einem SD-Kartenlesegerät in euren Computer oder falls ihr einen im Rechner/Notebook habt, tut der es natürlich auch
  • Öffnet den Raspberry Pi Imager
    • Klickt auf OS WÄHLEN
    • Klickt ganz unten auf Eigenes Image
    • Öffnet eure eben entpackte Datei
    • Klickt jetzt auf SD-KARTE
    • Wählt hier bitte mit äußerster Sorgfalt euren SD-Kartenleser aus, wo die MicroSD-Karte drin steckt
      (ACHTUNG: Auf dem ausgewähltem Gerät wird ALLES gelöscht und das Raspberry Pi Betriebsystem installiert)
    • Vergewissert euch bitte nochmal, dass ihr wirklich den SD-Kartenleser mit der zu beschreibenden MicroSD-Karte ausgewählt habt
    • Klickt auf SCHREIBEN
  • Wenn der Pi Imager fertig ist, steckt die frisch beschriebene SD-Karte in den Raspberry Pi
  • Verbindet den Raspberry Pi mittels Netzwerkkabel mit eurem Internet-Router
  • Verbindet den Powerrouter mit dem USB-Netzwerkadapter
  • Steckt den USB-Netzwerkadapter in einen USB Port des Raspberry Pi
  • Verbindet den Pi mit dem Netzteil (und schaltet ihn ein, wenn das Netzteil einen Schalter hat)

Abrufen der Daten

Zuallererst müsst ihr die IP Adresse des Raspberry Pi herausfinden. Ggf. reicht es den Pi über powerinterface.local oder powerinterface.fritz.box aufzurufen. Wenn alles funktioniert hat (bitte habt hier ein paar Minuten Geduld mit dem Pi, er muss alle Dienste hoch fahren, und das kann u.U. vier-fünf Minuten dauern) und der Pi schon die erste Anfrage des Powerrouters erhalten hat, solltet ihr eine ähnliche Seite angezeigt bekommen, wie die mypowerrouter.com Seite als "Aktuelle Werte" darstellt, nur eben in statischer Form. (Achtung. Ich habe eine vorherige Version der Software Powerinterface wiederhergestellt, damit die Daten noch an die MyPowerrouter.com Seite weitergeleitet werden, deswegen der Hinweis in der Fußzeile)

Grafana: http://[RASPBERRY_PI_IP]:3000 bzw. powerinterface.local:3000 bzw. powerinterface.fritz.box:3000
AdGuard: http://[RASPBERRY_PI_IP]:5000 bzw. powerinterface.local:5000 bzw. powerinterface.fritz.box:5000
Werte für externe Systeme, wie Loxone: http://[RASPBERRY_PI_IP]/values.json bzw. powerinterface.local/values.json bzw powerinterface.fritz.box/values.json

In Grafana kann man oben auf das Home klicken, dann kann man das Dashboard Aktuelle Werte auswählen und erhält die statistischen Informationen die der Powerrouter weitergeleitet hat.

Ich habe noch ein weiteres Dashboard angelegt mit dem Titel Powerrouterdaten. Das sind noch Informationen die ich in der Datenbank gefunden habe. Das sind überwiegend die Werte die man direkt am Powerrouter selbst ablesen kann. Die beiden Werte energyPlatformProduced und energyPlatformConsumed konnte ich keiner klaren Information zuordnen und habe daher die Umbenennung weg gelassen.

Benutzerdaten

  • Grafana
    • Benutzername: admin
    • Passwort: admin
  • AdGuard
    • Benutzername: root
    • Passwort: toor
  • SSH
    • Benutzername: pi
    • Passwort: raspberry
  • InfluxDb
    • Benutzername: grafana
    • Passwort: grafana

Für die "Will ich selber machen"

Ich habe folgendes gemacht... Vielleicht hilft es dem ein- oder anderen

  • Internen (onboard) Netzwerkport (eth0) kriegt vom Router eine IP Adresse via DHCP
  • Zusätzlicher USB-Netzwerkport (eth1) hat eine feste IP Adresse (192.168.0.1) und sich selbst als Gateway
  • DHCP Server installiert und für das zusätzliche Netzwerkinterface (eth1) ausschließlich konfiguriert
  • Mittels firewalld habe ich dem System mitgeteilt, dass es als "Router" fungieren soll. Jegliche Kommunikation vom USB-Netzwerkanschluss wird an den internen Netzwerkanschluss einfach weitergeleitet.
  • AdGuard installiert und auf Port 5000 konfiguriert
  • In AdGuard die Adresse logging1.powerrouter.com per DNS-Rewrite auf die 192.168.0.1 weitergeleitet
  • Einen InfluxDb Datenbankserver installiert
  • In der InfluxDb eine Datenbank home angelegt
  • In der InfluxDb einen Benutzer grafana mit dem Passwort grafana angelegt
  • Aktuelles NodeJS installiert
  • Das Powerinterface von ngrie kopiert
    • Die vorherige Version v0.1.10 wiederhergestellt (die leitet die Anfragen an logging1.powerrouter.com weiter, damit das mypowerrouter.com Portal weiterhin funktioniert)
    • Die falsche IP Adresse die im Code steht durch die Adresse logging1.powerrouter.com ersetzt (der PI selbst nutzt ja den DNS vom Router)
    • Die InfluxDb konfiguriert und den Eintrag für die Weiterleitung in der config.yml hinterlegt
  • Grafana auf dem Port 3000 Installiert
    • In Grafana die Influx Datenbank als Data-Source konfiguriert
    • Zwei Dashboards gebastelt, was etwas Info darüber ausgibt was dem nahe kommt, was man aktuell auf mypowerrouter.com sehen könnt.
  • Über firewalld die Ports 22, 80, 3000, 5000 und 8086 für beide Interfaces freigegeben

Grafana Dashboards

Für diejenigen die das Powerinterface bereits im Einsatz haben oder es anders nutzen wollen, hier sind die beiden Dashboards:

Danke

Hier möchte ich mich bei allen bedanken.
Danke an Niklas Grießer, der das Powerinterface entwickelt hat, worauf das hier basiert.
Danke an Tino und Frank für die Grafana Dashboard Vorlagen

Affiliate

Die mit Sternchen (*) gekennzeichneten Links sind sogenannte Affiliate-Links. Wenn du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekomme ich von dem betreffenden Online-Shop oder Anbieter eine Provision. Für dich verändert sich der Preis nicht.

Klingel, aber ohne brummen

Tage im Haus: 1111

Als wir eingezogen sind, hat uns Viebrockhaus die Klingel im klassischem Sinne gebaut. Der Schalter der Klingel schließt den Stromkreis und der Gong ertönt (Ding Dong). Simpel, und funktional.

Zu simpel

Das war mir etwas zu simpel und unflexibel, also habe ich kurzerhand die Kabel der Klingel an einen Analogen Eingang (Digitale sind derzeit alle belegt) einer Loxone Extension gehangen. Der Stromkreislauf des Gongs wird jetzt durch ein Relais der Loxone Extension geschlossen. Jetzt geht es an die Programmierung.

Klingel Programmierung

Erläuterung

Links finden wir also den Klingeltaster, dieser ist verbunden mit einem Tastschalter. Sobald der Tastschalter einen Tastendruck über Tr mitbekommt, gibt Qon einen Kurzen Impuls weiter.

Dies habe ich so gemacht, damit die Klingel auch gedrückt gehalten werden kann und es ertönt nicht dieses nervige Brummen (Ding brrrrrrrrrrr Dong). Der Tastschalter hat Standardmäßig eine Dauer des Ausgansimpuls von 0,1 Sekunden, was bei einem Ding Dong vollkommen ausreichend ist. Wenn man jetzt einen Gong mit einem Dauerton hat, dann kann man diese Impulsdauer auch auf eine Sekunde oder mehr stellen, dann würde der Ton für diesen Zeitraum zu hören sein.

Dieser Impuls geht nicht direkt weiter zu meinem Gong, denn ich möchte zum einen den hörbaren Gong über die Visualisierung ein/ausschaltbar machen und ich möchte eine Push-Benachrichtigung auf mein Handy haben. Wenn also Klingel Gong erlaubt eingeschaltet ist und die Taste an der Tür gedrückt wurde, dann erhalte ich einen hörbaren Ton. Die Push Benachrichtigung erhalte ich in jedem Falle.

Anmerkungen

Der Gong, also das Gerät im Haus, dass den Ton von sich gibt, darf nicht direkt an einen Analogen Ausgang geklemmt werden. Der Analoge Ausgang darf nur mit maximal 20 Milliampere (mA) belastet werden sonst droht ein Defekt des Miniservers/der Extension. Der Gong selbst wird sehr wahrscheinlich viel mehr als diese 20mA ziehen.

Loxone 1x1 - Schaltbare Steckdosen

Tage im Haus: 864

Da von einem Leser die Frage aufkam (danke Schille für deinen Beitrag), wie er eine Steckdose in Loxone integriert, zeige ich euch hier wie man das in Loxone realisieren kann. Für die Visualisierung verwenden wir den [startCode]Schalter[endCode] Baustein.

Lampe an der Steckdose

In der Loxone Welt sind Steckdosen und Lampen an einer Loxone Extension oder einer Loxone Relay Extension identisch zu handhaben. Will man also eine Lampe an eine Steckdose anschließen und sie bspw. über den Lichtschalter schalten, dann kann man den Digitalen Ausgang an der Loxone Extension bzw. Loxone Relay Extension genau so wie in Loxone 1x1 - Aller Anfang ist schwer - wir machen Licht einbauen.

Steckdose in der Visualisierung

Wenn die Steckdose für was anderes geplant ist als eine Lampe, wie die Kaffeemaschine, das Bügeleisen, den Fernseher oder für das Baby die Nachtmusik, kann man in Loxone den Baustein [startCode]Schalter[endCode] benutzen.

Dazu öffnen wir wieder die Bibliothek über den [startCode]Baustein einfügen[endCode] Menüpunkt

oder verwenden die Suche mittels [startCode]F5[endCode] und suchen nach [startCode]schalter[endCode]

und fügen den Baustein in unsere Seite ein.

Jetzt ziehen wir, von unserem Peripherie Baum, den digitalen Ausgang  in unsere Seite und verbinden diesen digitalen Ausgang mit dem [startCode]Q[endCode] Ausgang unseres [startCode]Schalter[endCode] Bausteins.

(GIF)

Nun sollten wir dem ganzen noch einen passenden Namen geben und es sowohl der Kategorie als auch dem Raum zuordnen.

Bezeichnung wäre bspw. [startCode]Kaffeemaschine[endCode], als Kategorie könnte man [startCode]Verbraucher[endCode] wählen und als Raum, in diesem Falle, die [startCode]Küche[endCode].

Als letztes noch den Haken bei der Visualisierung aktivieren.

Auf Berechtigungen und andere Eigenschaften gehe ich hier nicht weiter ein. Könnt ihr natürlich wählen je nach bedarf und gusto.
Denkt auch an den Remanenzeingang, durch den sich Loxone merkt wie der Status ist und ihn nach einem Miniserver-Neustart auch beibehält.

Und schon kann man die Steckdose in der Visualisierung schalten.

Zusatz - Steckdose über Taster einschalten, der schon belegt ist

Will man einen bereits belegten Schalter verwenden um zusätzlich die Steckdose zu schalten, bieten sich der [startCode]Mehrfachklick[endCode] oder der [startCode]Langzeitklick[endCode] an.

Hält man jetzt die Taste für 1,4 Sekunden gedrückt schaltet man die Steckdose ein. Nach erneutem 1,4 Sekunden langem drücken, schaltet man die Steckdose wieder aus.

Standardeinstellung sind 0,35 Sekunden als Zeitspanne bis zum nächsten Ausgang des [startCode]Langzeitklick[endCode] Bausteins (Q1, Q2, Q3, Q4).

Loxone 1x1 - Aller Anfang ist schwer - wir machen Licht

Tage im Haus: 449

Viele Leute haben mich bereits gefragt: "Wie programmiert man denn das, was du da alles in deinem Haus verbaut hast?"
Da dies nicht immer ganz so selbsterklärend ist die Headline "Aller Anfang ist schwer".

Dies soll einen Anfang darstellen für die, die sich vielleicht im Vorfeld informieren oder es mal probieren wollen.

Nun, wenn ich es erklären müsste ohne Bilder, dann würde es noch verwirrender klingen als es eigentlich ist. Um es besser zu erklären muss ich aber ein wenig ausholen. Als erstes muss man wissen wie die Komponenten aufgebaut sind.

Komponenten

Nehmen wir als Beispiel den Loxone Miniserver

(Quelle shop.loxone.com)

An der oberen Seite sieht man die "Digital Inputs" dort werden Taster angeschlossen, diese erkennen eins und null (gedrückt und nicht gedrückt).
Die "Analog Inputs" können einen Wertebereich von 0-10 Volt erkennen, bspw. Sensoren für Helligkeit, Wärme, Wasserstand, o. Ä.)
Die "Analog Outputs" können einen Wertebereich von 0-10 Volt ausgeben um bspw. einen Dimmer zu steuern (nicht zu verwechseln mit dem Dimmen einer normalen Lampe)
Die "Relay" Ausgänge sind zum Schalten von Lampen, Stellventile der Heizung, Rolladen, Steckdosen, etc..
Lan ist Netzwerk, Power die 24 Volt des Miniservers, Link ist die Verbindung zu anderen Loxone Komponenten und KNX/EIB ist die Möglichkeit auch KNX Komponenten anzuschließen. KNX ist aber für diese Erläuterung erst mal unwichtig.

Verkabellung

Wenn man nicht auf das neue Tree setzt (haben wir nicht, kam nachdem wir mit dem Haus angefangen haben und wäre uns auch zu teuer gewesen), werden die Schalter-, Lampen-, Stellventile-, Steckdosen-, Rolladenkabel und was sonst noch so Schaltbar sein, Schalten oder Messen soll, als Kabel direkt bis an die Loxone Komponente (in unserem Beispiel der Miniserver von Loxone) in den Hauswirtschaftsraum bzw. Keller gelegt. Dies nennt man auch Sternverkabellung.

Dadurch ergeben sich dann solche Kabel mengen wie ich in den Umbaumaßnahmen gezeigt habe. Ja sieht furchtbar aus, ist es aber eigentlich gar nicht. Gute Elektriker blicken da ohne weiteres durch.

Wenn die Loxone Komponenten verbaut wurden, kriegt man von Loxone zertifizierten Elektrikern einen ausführlichen Plan, an welchem Ein-Ausgang was genau dran hängt. Von anderen Elektrikern kriegt man dies nur bedingt oder gar nicht, dann heißt es suchen 😂, so wie ich das machen musste. Wie ich das gemacht habe, gibt es in einem anderen Post 😉

Programm zum Programmieren

Für die Programmierung verwendet man bei Loxone die Software "Loxone Config". Diese Software ist komplett Kostenlos und deckt auch alle Loxone und einigen anderen Komponenten ab. Man kann sich auch mit der Loxone Programmierung auseinandersetzen ohne das man einen Miniserver hat. Einfach drauf los Programmieren und schauen was passiert. In der Loxone Config gibt es eine Simulation, in der man die meisten Features ausprobieren kann.

Wenn Ihr die Loxone Config das erste Mal startet wird es so in etwa aussehen:

 


Auch wenn es mehr so ein Punkt mitten drin ist, fangen wir mit dem Peripherie-Baum an. Dieser wiederspiegelt alle Komponenten die uns zur Verfügung stehen. Miniserver, Benutzer, Benutzergruppen, Kategorien, Räume, Eingänge, Ausgänge, Virtuelle Komponenten, KNX, Mitteilungen... etc. pp.
Was auch immer Ihr in eurem Programm benötigt, beschafft Ihr euch da her.

Die Menüleiste oben passt sich dem an, was Ihr gerade im Peripherie-Baum ausgewählt habt. Selektiert ihr, wie ich in dem Bild, den Miniserver, dann habt ihr oben an dem Menü noch den Punkt Miniserver. In dem dazugehörigen Untermenü erscheinen dann Features, die man für den ausgewählten Punkt hat (siehe Bild -> "Miniserver" neben "Diagnose").

Das Eigenschaften Fenster ermöglicht euch das detaillierte Konfigurieren, der Komponente die Ihr gerade ausgewählt habt. Darin könnt Ihr bspw. festlegen wie das Teil heißt, ob es in der Visualisierung (Handy-App, Internet-Browser, etc.) angezeigt werden soll, wer es in der Visualisierung sehen darf und alles was eine Komponente sonst noch für Eigenschaften haben kann.

So genug gefaselt, wie geht das jetzt? Moment, erst mal kommt noch schnell die Visualisierung.

Visualisierung

Die Visualisierung ist das, was wir von unserer Programmierung in unserem Smartphone/Tablet App bzw. unserem Browser Fenster sehen.

Hier greifen auch viele die KNX benutzen auf Loxone zurück und verwenden die Visualisierung daraus, da diese nun mal wirklich sehr schön ist.

Um ein Baustein in der Visualisierung anzuzeigen muss man lediglich im Fenster Eigenschaften einen Haken setzen.

Visualisierung Loxone

Bei einigen Bausteinen ist dieser Haken schon vorausgewählt, da man davon ausgeht, dass diese angezeigt werden sollen. Bei einer Licht-, Rolladen oder Heizungssteuerung ist das durchaus sinnvoll.

Das [startCode]Visualisierungskennwort[endCode] ist ein zusätzliches Passwort das man wählen kann, wenn man diese Komponente verändern möchte.

Bei [startCode]Erlaubte Benutzer lokal[endCode] ist die Benutzergruppe gemeint, die sich im häuslichen Wlan befindet. [startCode]Erlaubte Benutzer Internet[endCode] sind die gemeint, die sich über das Internet mit dem Loxone Miniserver verbinden.

Um sich aus dem Internet mit dem Miniserver zu verbinden ist eine Portfreigabe im Router notwendig. An dieser Stelle möchte ich darauf hinweisen, dass wenn es jemand schafft euer Passwort herauszufinden, könnte er alles in eurem Haus steuern, auch das öffnen der Tür ist möglich, wenn man dies Technisch vorgesehen und aus dem Internet erlaubt.

Auf das Anlegen und Verwalten von Benutzergruppen, gehe ich später näher drauf ein.

In der Visualisierung kann man zwischen zwei Reitern wählen: [startCode]Räume[endCode] und [startCode]Kategorie[endCode]. In den meisten Fällen findet man viele Komponenten in beiden Reitern. Das Deckenlicht im Schlafzimmer ist sowohl in dem Raum [startCode]Schlafzimmer[endCode] als auch in der Kategorie [startCode]Beleuchtung zu finden[endCode].

In der Loxone Visualisierung gibt es noch einen Favoriten Punkt, dem man Einstellen kann, das dieser als Startbildschirm erscheint, was ich als sehr sinnvoll erachte. Öffnet man die App, verwendet man bestimmte Komponenten häufiger als andere. Dies kann man mit "Als Favorit anzeigen" erreichen. Die Bewertung darüber ist dafür da um die Sortierung umstellen zu können, ob die Komponenten nach ihrer Benennung sortiert werden oder ob diese Bewertung dafür verwendet werden kann.

Das Programmieren

Wie ihr oben in dem Bild sehen könnt, gibt es Digitale Ein- und Ausgänge. An den Digitalen Eingängen hat man in der Regel die Taster des Hauses und an den Digitalen Ausgängen die Geräte die geschaltet werden sollen (bspw. Lampen, Stellventile, Rolladen, Steckdosen)

Seite einrichten

Jetzt klicken wir am unteren Rand des rechten Fensters auf [startCode]Seite[endCode] und sehen: Die Seite ist leer 😝

Ein- Ausgänge

Als nächstes ziehen wir von Links aus dem Peripherie-Baum sowohl den [startCode]Eingang 1[endCode] als auch den [startCode]Aktor (Relais) 1[endCode] in diese Seite in dem wir sie nacheinander anklicken und in unserer neuen Seite los lassen.

Um das ganze besser zu verstehen, gebt Ihr den beiden Komponenten erst mal vernünftige Namen. Dazu wählt Ihr die jeweilige Komponente aus und tragt in das Feld [startCode]Bezeichnung[endCode] im Eigenschaften-Fenster etwas ein, mit dem Ihr die Komponente auch im späteren Verlauf wiedererkennt.

Kurze Anmerkung an dieser Stelle, solltet Ihr die Programmierung anderer sehen, werdet Ihr u.U. feststellen, dass andere hier sehr kryptische Bezeichnungen hinterlegen sowas wie: [startCode]T EG Kü OL[endCode] für : [startCode]Taster Erdgeschoss Küche Oben Links[endCode]. Das hat den Vorteil, dass man besser in dem [startCode]Suchen[endCode] Feld danach suchen kann. Kann man machen und ist empfehlenswert, muss man aber nicht. Dadurch wird die Programmierung etwas kryptisch und für jemanden der das nicht gewohnt ist schnell unübersichtlich. Solltet Ihr das tun, könnt ihr das Feld [startCode]Beschreibung[endCode] dafür verwenden um den Text zu bestimmen, der in Apps und im Browser (Visualisierung) angezeigt werden soll.

Jetzt kann man sich schon ausmalen. Drückt man die Taste der Küche, erkennt unser Programm das und der grüne Punkt des Tasters kriegt einen anderen "Zustand". Wir haben durch das Drücken nämlich den Schaltkreis geschlossen und darauf möchten wir im weiteren Verlauf reagieren. Der grüne Punkt ist dann sozusagen "an" für die Zeit wo die Taste gedrückt wird.

Der orange Punkt an der Lampen-Komponenten ist für unser Programm die Stelle die entgegen nimmt was der Aktor für einen "Zustand" kriegen soll. Ist dort etwas verbunden, dass "an" ist, dann geht in unserem Falle die Lampe an, geht das verbundene "aus", geht auch die Lampe aus.

Die Verbindung

Wie [startCode]An[endCode], wie [startCode]Aus[endCode] fragt Ihr euch vielleicht?

Kurzes Beispiel: Klickt auf den grünen Punkt des Tasters und zieht ihn rüber zu der Lampen-Komponente. Das Ergebnis müsste dann so aussehen:


Ich möchte kurz anmerken, dass dies eigentlich keinen Sinn macht, sondern nur der Demonstration dient!

Jetzt habt ihr den Taster direkt mit eurer Lampe "verknüpft". Würdet ihr das jetzt in euren Miniserver laden, würde die Lampe immer dann angehen, wenn die Taste gedrückt wird und wieder aus gehen, sobald Ihr die Taste wieder los lasst.

Dies kann man auch einfach mal Testen, auch ohne es auf den Miniserver zu übertragen oder wenn Ihr noch keinen Miniserver habt. Dazu einfach mal oben auf [startCode]Test[endCode] und dann auf [startCode]Simulation Starten[endCode] klicken. Jetzt hat sich der Taster etwas verändert und sieht so aus:

Dieser neu erschienene graue Punkt kann jetzt angeklickt werden und wenn dieser angeklickt wird, sehen wir, dass sich der "Zustand" ändert und dieser die Lampen-Komponente beeinflusst.

Damit habt Ihr jetzt simuliert, dass jemand den Taster gedrückt hat. Es ist nicht wirklich passiert, somit geht auch keine Lampe an, aber in eurem Programm könnt ihr so nach verfolgen, was passiert oder passieren würde.

Das was wir da Programmiert haben, wird keinem in irgend einer Form nutzen, da ständig jemand am Taster stehen bleiben müsste um die Lampe an zu behalten 😂.

 Licht machen

So jetzt Butter bei die Fische...

Nun fügen wir in unsere Seite mal unseren ersten Baustein ein.

Dazu drücken wir die Taste [startCode]F5[endCode]. Jetzt müsste sich folgendes Suchfeld geöffnet haben:

 

In diesem Suchfeld findet man so ziemlich alles was wir neu in unser Programm einfügen können. Komponenten, Bausteine, Bedingungen und auch Mathematische Komponenten zum rechnen befinden sich darin.

Wenn wir jetzt einfach etwas in dieses Feld eintippen filtern wir nach der Komponente die wir haben wollen. In unserem Falle suchen wir jetzt nach der [startCode]Lichtsteuerung[endCode].

Alternativ kann man auch das Menü verwenden um eine Lichtsteuerung (oder andere Komponenten) einzufügen: (am oberen Bildschirmrand) [startCode]Mein Projekt -> Baustein einfügen -> Tasten und Schalten -> Lichtsteuerung[endCode]


Durch einen Klick auf der Rechten hälfte bzw. auf die Komponente Lichtsteuerung können wir sie auf unserer Seite positionieren. Legt die Komponente einfach mal auf der Seite ab.
Bei mir sieht das jetzt so aus:

Wenn ihr weitere Infos zu den Loxone Komponenten haben wollt, könnt Ihr euch diese durch einen Klick auf das [startCode]i[endCode] in der Komponente aufrufen.

Jetzt klicken wir einmal auf den grünen Punkt am Taster oder auf den orangen Punkt an der Lampe um die Verbindung zwischen den beiden zu trennen.

Jetzt klicken wir in der Lichtsteuerung auf das grau hinterlegte Plus (+) Symbol unten auf der linken Seite und öffnen die Palette an Eingängen die diese Komponente hat und setzen einen Haken bei [startCode]I1[endCode] und schließen diese Palette wieder.

Jetzt müsste unsere Seite in etwa so aussehen:

Anschließend verbinden wir alles miteinander. Der grüne Punkt vom Taster wird jetzt angeklickt und zu dem Orangen Punkt [startCode]I1[endCode] an der Lichtsteuerung gezogen und der grüne Punkt [startCode]AQ1[endCode] wird mit der Lampe verbunden. Das Ergebnis sollte jetzt so aussehen:

Es ist egal von wo nach wo man zieht. Man kann sowohl den orangen Punkt zum grünen als auch umgekehrt ziehen. Man kann nur keine gleichen Farben miteinander verbinden, weil sie die gleiche Funktion (Eingang oder Ausgang) erfüllen.

Die Simulation (Test -> Simulation starten) lässt uns jetzt wieder ausprobieren ob es tatsächlich funktioniert.

Mehrfachbelegung der Lichtsteuerung

Die Lichtsteuerung erfüllt noch einige weitere Funktionen. Bspw. kann man mehrere Taster und Lampen damit verbinden. Bei uns im Maxime 1000D haben wir eine offene Küche mit Wohn- und Esszimmer, somit hatte ich meine Anfangskonfiguration so:

Dies ist eine Direktschaltung. Wird [startCode]Taster Küche[endCode] gedrückt, schaltet dieser die [startCode]Lampe Küche[endCode] ein. Gleiches passiert für das Esszimmer und das Wohnzimmer.

Durch einen Doppelklick auf einen der drei Taster können alle lampen ausgeschaltet werden.

 Benutzer und Benutzergruppen

Wenn man im Peripheriebaum den Punkt [startCode]Benutzer[endCode] anwählt, dann erscheinen Oben in der Menüleiste die beiden Punkte. Mit diesen Buttons in der Menüleiste kann man neue Benutzer und Benutzergruppen anlegen.

Legt euch vernünftig klingende Benutzergruppen an. Überall [startCode]Alle[endCode] drin stehen zu haben macht zwar anfangs keine großen Probleme, aber sollte bedacht werden. Wenn ein Kind das Smartphone verliert und jemand damit dann die Tür öffnen kann, weil der finder vor eurem Haus steht, ist ebenfalls gefährlich.

Bei den Benutzergruppen empfiehlt es sich, von sehr großen Gruppen (bspw. [startCode]Alle[endCode]) immer kleiner werdende Gruppen zu erstellen.

  1. [startCode]Alle[endCode] -> Enthält auch einen Gastzugang
  2. [startCode]Familie und Tablets[endCode] -> Keine Gäste
  3. [startCode]Familie[endCode] -> Keine Gäste und keine Tablets (die ggf. im Flur hängen)
  4. [startCode]Eltern[endCode] -> Keine Gäste, Tablets und Kinder
  5. [startCode]Tablets[endCode] -> Nur Tablets
  6. [startCode]Administrator[endCode] -> Nur die/der Chefin/Chef des Hauses 😉
  7. [startCode]Niemand[endCode] -> Wenn man es aus dem Internet nicht erlauben möchte ist diese Gruppe wichtig.

Dies sind nur Vorschläge und sollen keine vollständige Liste darstellen. Vielleicht möchte man noch zusätzliche Gruppen für Kinder, Nachbarn oder Großeltern.

Bezeichnung und Passwort sind Primär wichtig bei der Anlage eines neuen Benutzers. Möchte man ihm direkt die Sortierung nach Favoriten einstellen, kann man das bei [startCode]Sortierung für Favoriten[endCode] schon mal vorauswählen.

Bei [startCode]Authentifizierung bearbeiten [endCode] kann man einen iButton hinterlegen, mit dem man bspw. die Tür öffnen kann.

Bei der [startCode]Gruppenzugehörigkeit[endCode] kann man dann noch wählen in welcher Gruppe dieser Benutzer sich befinden soll.

Wählt man die Benutzergruppe aus, so kann man dort konfigurieren ob dieser auf die [startCode]Webseiten/Apps[endCode] (Visualisierung), [startCode]Loxone Config[endCode] (Programmiersoftware), FTP oder Telnet zugreifen darf. In den Schaltzeiten kann man hinterlegen zu welchen Zeiten dieser Benutzer Berechtigungen erhält.

Mit dem Baustein [startCode]Berechtigung[endCode] kann man überprüfen ob ein Benutzer eine bestimmte Aktion gerade durchführen kann.

Loxone 1×1 – Nedap Powerrouter - Teil 2

Tage im Haus: 428

Da ich von Jörg gefragt wurde, ob und wie man den Powerrouter mit dem Energiemonitor verbinden könne, hab ich selber erst mal basteln müssen, aber ja, es sind bereits einige Informationen vorhanden, wenn man sich an die Anleitung in Loxone 1×1 – Nedap Powerrouter gehalten hat. Darum dann heute Loxone 1×1 – Nedap Powerrouter - Teil 2.

Was haben wir

Die benötigten Einträge aus dem ersten Teil wären dann:

  • solar_power (Solar Leistung)
  • platform_grid_power (Netzlast)
  • battery_bus_power (Batterie Leistung)
  • battery_state_of_charge (Batterie Ladezustand)

Was brauchen wir

Jetzt benötigt man noch den Solar Ertrag, Bezogen vom Netz, Ins Netz eingespeist. Diese sind in dem Portal mypowerrouter.com auf der Übersichtsseite (Powerrouter->Übersicht) zu finden.

Vorlage importieren

Ladet euch die Datei VI_Powerrouter Übersichtsdaten herunter und speichert sie bspw. auf eurem Desktop ab.

In Loxone wählt ihr nun im Peripheriebaum Miniserver -> Virtuelle Eingänge aus. Oben in der Menüleiste erscheinen jetzt alle Möglichkeiten Eingänge zu hinterlegen. Der Menüpunkt Vordefinierte HTTP-Geräte ist aufklappbar und hier könnt ihr eine Vorlage importieren:

Wählt jetzt die soeben heruntergeladene Datei aus und klickt auf öffnen. Bestätigt die Frage ob die Vorlage direkt angelegt werden soll mit Ja.

Glückwunsch, ihr habt den Powerrouter Übersichtsdaten HTTP-Eingang jetzt in eurer Loxone Config. In dem neuen Virtuellen Eingang (Miniserver -> Virtuelle Eingänge -> Powerrouter Übersichtsdaten) ist eine URL hinterlegt. Dort drin müsst ihr Benutzername, Passwort und die Powerrouter Kennziffer entsprechend anpassen. Achtet bitte darauf, dass die Struktur nicht verändert wird. Zwischen Benutzername und dem Passwort ist ein Doppelpunkt und direkt nach dem Passwort folgt ein @ Symbol. Diese beiden Zeichen dürfen nicht entfernt werden. Vor- und nach der Powerrouter Kennziffer muss ein Schrägstrich sein.

Manuelle Konfiguration (Wenn man nicht die Vorlage importieren möchte)

Wie gehen wir vor

Dazu benötigen wir einen neuen Virtuellen HTTP Eingang und tragen dort die URL https://BENUTZERNAME:PASSWORT@mypowerrouter.com/power_routers/12345/production_totals (Tragt hier wieder euren Benutzernamen, euer Passwort und die Powerrouter Kennziffer an den Fett markierten Stellen ein wie bereits in Loxone 1×1 – Nedap Powerrouter)

Tragt ebenfalls als Abfragezyklus] einen höheren Wert ein, da sich diese Informationen nicht so häufig ändern. Bei mir habe ich dort 300 eingetragen, was dann in fünf Minuten resultiert. Und vergebt einen Namen wie Powerrouter Übersichtsdaten.

Wenn wir diese URL wieder in einem Browserfenster öffnen, dann sehen wir dort Bezeichnungen und Zahlen. Diese Seite wird durch den Browser schön formatiert und man erkennt leider nicht, was wirklich vom Server übertragen wird. Also müssen wir an dieser Stelle einmal einen Rechtsklick in die Seite machen und dann einen Eintrag im Kontextmenü suchen der uns den Quelltext anzeigt. In Chrome bspw. ist es der Menüeintrag "Seitenquelltext anzeigen".

Jetzt erkennt man erst, dass Teile sichtbar werden, die vorher durch den Browser in Formatierung umgewandelt wurde.

Umsetzung

Jetzt können wir wieder einen neuen Virtueller HTTP Eingang Befehl hinzufügen. Wir starten mit Solar Ertrag.

  • Wir markieren Powerrouter Übersicht
  • Klicken oben auf Virtueller HTTP Eingang Befehl
  • Vergeben den Namen Solar Ertrag
  • Tragen bei Befehlserkennung Solar Ertrag\ispan>\i\vein

Fertig ist der neue Befehl.

Dies wiederholen wir für die Beiden anderen Werte Bezogen vom Netz (Befehlserkennung: Bezogen vom Netz\ispan>\i\v) und Ins Netz eingespeist (Befehlserkennung: Ins Netz eingespeist\ispan>\i\v)

Die Befehlserkennung

Die Befehlserkennung sucht in dem angegebenen Link nach dem Muster und Versucht so die Zahlen daraus in die Loxone Programmierung zu übernehmen.

Im ersten Teil der Befehlserkennung suchen wir nach dem Text Solar Ertrag, danach springen wir mit \ispan>\i zu dem Text span> und nehmen anschließend die Zahl die dahinter folgt mit \v.

Testen

Wenn wir jetzt drei dieser neuen HTTP Eingangsbefehle in eine Seite ziehen, in Miniserver speichern und anschließend die Liveview starten, müssten wir die Werte entsprechend sehen.

Powerrouter Übersicht

Energiemonitor

Jetzt drücken wir F5 und suchen nach dem Energiemonitor.

Fügen ihn in eine Seite ein und jetzt geht es ans Verbinden.

Virtueller Eingang Eingänge im Energiemonitor
Solar Ertrag Ep
Solar Leistung als kW (÷ 1000) Pp
Bezogen vom Netz Ev
Netzlast als kW (÷ 1000) Pv
Ins Netz eingespeist Ed
Batterie Leistung als kW (÷ 1000) Ps
Batterie Ladezustand Ss

Wir müssen die Solar Leistung, Netzlast und Batterie Leistungdurch 1000 Dividieren um auf Kilowatt zu kommen.

Um zu Dividieren können wir die Komponente Dividierer nehmen. Dazu benötigen wir aber noch die Zahl 1000. Wir wählen also links im Peripherie Baum den Eintrag Konstanten, dann oben auf das Plus klicken um eine neue Konstante anzulegen.

Dann vergeben wir in den Eigenschaften einen Namen bspw. Zahl 1000 und geben ihr als Wert dann die 1000.

Im Energiemonitor muss der Eingang A auf Ein gestellt werden.

Das Ergebnis müsste dann so aussehen

Und in der Visualisierung