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

Loxone 1x1 - Nedap Powerrouter

Tage im Haus: 252

Ich habe jetzt schon vermehrt anfragen erhalten, wie ich die Implementierung der Powerrouter Daten ins Loxone System gelöst habe.

Bis heute hatte ich dafür ein kleines PHP-Skript, dass sich die Daten von der MyPowerrouter.com Seite abruft, das Resultat aufbereitet und dieses Skript habe ich dann vom Loxone Miniserver dann abrufen lassen. Ja genau. Das ist relativ umständlich und ggf. hat man kein Interesse daran irgendwo einen PHP-Server laufen zu lassen nur um an ein paar Daten ran zu kommen, geschweige denn, dass sich jeder dieses Wissen aneignen möchte.

Mit der neusten Version der Loxone Config (in meinem Falle ist das 8.1.11.10) ist der Loxone Miniserver imstande die Daten direkt von der MyPowerrouter.com Seite abzurufen und darzustellen.
In den vorherigen Versionen war es durch einen Fehler leider nicht Möglich.

Ihr fragt euch vielleicht: "Häää? Wie mypowerrouter.com? Das Gerät steht doch bei mir im HWR/Keller!?". Ja, dass ist korrekt, aber der Powerrouter hat leider keine direkte Schnittstelle (zumindest kenne ich sie nicht) um die Daten abzurufen. Der Powerrouter ist aber von Werk aus so eingestellt, dass sobald er Internetzugang erhält, er die Daten an die Seite mypowerrouter.com weiterleitet. Ich gehe davon aus, dass er dies sogar mehrmals die Minute macht.

Wie erhalte ich die Daten?

Der Powerouter muss an das Internet angeschlossen werden. Dazu das Netzwerkkabel (mit Batterie sind es dann zwei Netzwerkkabel) mit in einen Router/Switch/Hub stecken, der Internetzugang hat.

Was wird benötigt?

  1. Powerrouter mit Internetanbindung
  2. Einen Account auf der mypowerrouter.com Seite
  3. Benutzername
  4. Passwort
  5. Powerrouter Kennziffer

Account anlegen

Um an die Daten des Powerrouters zu kommen müsst ihr euch bei mypoweerouter.com registriert haben. Dazu müsst ihr auf der Seite mypowerrouter.com/registration die Daten eingeben, die ihr von eurem Installateur erhalten habt (falls nicht, Installateur kontaktieren und euch die Daten besorgen).

Zugangsdaten

Mit der vollständigen Registrierung habt ihr dann einen Benutzernamen und ein Passwort, diese werden benötigt.

Powerrouter Kennziffer

Einmal auf der mypowerrouter.com anmelden, dann oben auf "PowerRouter" klicken. Dann landet ihr auf der Detailseite eures Powerrouters. In der Adressleiste des Browserfensters steht jetzt eine neue Adresse die dann in etwa so aussieht:

https://mypowerrouter.com/power_routers/12345
 

Notiert euch die Nummer die in dieser Adressleiste steht (in meinem Beispiel die 12345), dies bezeichne ich jetzt einfach mal als die Powerrouter Kennziffer.

Vorlage importieren

Ladet euch die Datei VI_Powerrouter Aktuelle Werte 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 jetzt den Powerrouter Daten HTTP-Eingang jetzt in eurer Loxone Config. In dem neuen Virtuellen Eingang (Miniserver -> Virtuelle Eingänge -> Powerrouter Daten) 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.

Wenn ihr die Daten in der URL geändert habt, dann einfach speichern und In Miniserver speichern drücken.

Viel Spaß mit den neuen Werten

Manuelle konfiguration

Loxone - Adresse abrufen

  • Wählt in eurem Peripheriebaum Miniserver->Virtuelle Eingänge
  • Klickt oben auf Virtueller HTTP Eingang
  • Den neuen Eintrag im Peripheriebaum mit der Bezeichnung Eingang VHI1 zu MyPowerrouter umbenennen
  • In das URL-Feld tragt ihr dann diese lange Adresse ein:
    https://BENUTZERNAME:PASSWORT@mypowerrouter.com/power_routers/12345/logs/1minutes.json?normalize_logs=true&include_last_log=true&solar_power=true&solar_power_input1=true&solar_voltage_input1=true&solar_current_input1=true&solar_temperature_input1=true&solar_power_input2=true&solar_voltage_input2=true&solar_current_input2=true&solar_temperature_input2=true&dcac_grid_power=true&dcac_grid_voltage=true&dcac_frequency=true&dcac_local_power=true&dcac_local_voltage=true&battery_state_of_charge=true&battery_bus_power=true&battery_voltage=true&battery_current=true&battery_pack_temperature=true&platform_grid_power=true&grid_sensor_power_l1=true&grid_sensor_voltage_l1=true&grid_sensor_current_l1=true&grid_sensor_power_l2=true&grid_sensor_voltage_l2=true&grid_sensor_current_l2=true&grid_sensor_power_l3=true&grid_sensor_voltage_l3=true&grid_sensor_current_l3=true&responseContentDataType=json
    Tragt dazu euren Benutzernamen, euer Passwort und die Powerrouter Kennziffer an den Fett markierten Stellen ein.
  • Ändert den Abfragezyklus [s] von 10 auf 60 Sekunden

Bis hier hin ist der Miniserver schon mal so eingestellt, dass er jetzt die Informationen von der Powerrouter Seite abruft. Jetzt müssen wir uns die Werte, die wir haben wollen nur noch in die Visualisierung holen.

Öffnet bitte dazu ein Internet-Browser-Fenster und ruft die Adresse (URL), die ihr in dem Virtuellen HTTP Eingang hinterlegt habt auf. Die Rückmeldung die ihr erhaltet sieht unaufgeräumt und unleserlich aus, dieses format nennt sich JSON. Wenn ihr genauer hinschaut stehen dort die Informationen die wir haben wollen im Format "TextInDoppeltenAnführungszeichen": Wert bspw.:

"platform_grid_power":1200.0

Was dann die Sensor Leistung wiederspiegelt (Das was am Netzsensor in eurem Schaltschrank sozusagen den Verbrauch darstellt). Jeden Wert einmal zu erläutern würde hier jetzt den Rahmen sprengen. Vergleicht die Werte von dieser langen Adresse einfach mit den Informationen auf der mypowerrouter.com -> PowerRouter -> Aktuelle Werte Seite und geht dann für jeden einzelnen Wert, den ihr in eurer Visualisierung haben wollt wie folgt vor.

Loxone - Wert in Visualisierung

  • Markiert den MyPowerrouter Eintrag im Peripheriebaum
  • Klickt auf Virtueller HTTP Eingang Befehl 
  • Ändert die Bezeichnung von Befehl VCI1 zu der äquivalenten Bezeichnung aus der mypowerrouter Seite
  • Setzt einen Haken in der Kategorie Visualisierung bei Verwenden um sie in der Visualisierung anzuzeigen
  • Wählt die Benutzergruppen die das sehen können sollen (oder lasst es einfach auf Alle)
  • Kategorie auswählen
  • Wählt bei Raum den Eintrag nicht verwenden
  • Tragt bei Befehlserkennung die Information ein die ihr haben wollt bspw.: "platform_grid_power":\v (inkl. Anführungszeichen, Doppelpunkt und \v)
  • Setzt einen Haken unter der Kategorie Anzeige bei nur Statusanzeige
  • Möchtet ihr etwas an die Information anhängen bspw. Watt so könnt ihr das in dem Feld Einheit zusätzlich zu dem wert <v>  eintragen (<v> Watt)

Dokument Speichern, im Miniserver speichern. Nun müsstet ihr in der App, unter der von euch gewählten Kategorie, die Information dargestellt bekommen.

Blog Umzug - jetzt mit SSL

Tage im Haus: 116

Phu, ich habe schon sehr lange nichts mehr gepostet. Und auch in meinem heutigen Beitrag "Blog Umzug - jetzt mit SSL" geht es gar nicht um das Haus sondern um den Blog, der ist heute von meinem Webhoster umgezogen auf meinen eigenen Server. Da ich auf meinem Server etwas mehr Handlungsspielraum habe, konnte ich dann auch den Blog mit einem SSL-Zertifikat versehen, zu erkennen an dem kleinen, grünen Schloss in der Adressleiste.

Leider ist mir beim konfigurieren des Servers ein kleines Malheur passiert, denn alle meine Skripte die ich brauche, damit mein Loxone Miniserver auch was anzeigen kann, sind dabei, durch einen klick, gelöscht worden. Kein Backup... Und damit meine ich nicht mal eine alte Version, irgendwo auf irgend einem Rechner. Nix!

Keine Daten mehr von der Wärmepumpe... Keine Daten mehr von der Photovoltaik Anlage... Die Daten für die Müllabfuhr kommen auch nicht mehr...

Die Anbindung an OpenWeatherMap habe ich direkt im Miniserver eingerichtet... Aber die vorhersagen in diesem Jahr waren ohnehin noch nicht mal in der nähe vom zustand "Zuverlässig".

Also, unzufrieden mit der Situation, musste ich die Skripte für die Daten neu schreiben. Zwei Stunden später war ich fertig.

An dieser Stelle muss ich kurz erwähnen, dass der Loxone Miniserver seit der letzten Version (Loxone Config 7.4.4.14) auch SSL kann. Somit ist das Abfragen von Webseiten mit SSL (https://...) nun auch möglich.

Die Daten meiner Photovoltaikanlage (Nedap Powerrouter) könnte ich bspw. direkt abrufen. Ich teste das mal und berichte dann hier 😉

Loxone und der Nedap Powerrouter

Tage im Haus: 16

Phuuu. In den letzten Tagen ist so viel passiert und ich komme einfach nicht zum schreiben meiner Blog-Posts. Heute geht es um Loxone und den Nedap Powerrouter. Vorgestern wurde unsere Photovoltaik Anlage in betrieb genommen und ich bin wie wild am rum testen. Tja, wie kriege ich jetzt die tollen Infos der mypowerrouter.com Seite in meinen Miniserver?

Ich, als Web-Entwickler schaue mir eine Seite etwas genauer an, als andere und habe nach wenigen Minuten herausgefunden, dass man die Abfragen die an die mypowerrouter.com Seite auch abfangen kann.

So kann man bspw mit der Adresse (PowerrouterKennziffer muss mit der eigenen Kennziffer ersetzt werden)

https://mypowerrouter.com/power_routers/[PowerrouterKennziffer]/logs/2minute.json?utf8=%E2%9C%93&normalize_logs=true&include_last_state=true&platform_grid_power=true&responseContentDataType=json

die platform_grid_power auslesen, was sozusagen den aktuellen Stromverbrauch des Hauses darstellt.

Super! Also habe ich diese Adresse in meinen Miniserver gepackt, und... Nix! Nach einer Stunde des rumprobierens, und des annehmens, dass es am Json Format (So nennt man das, wenn die Daten so dargestellt werden), musste ich doch mal im loxforum nachfragen warum der Miniserver das Format nicht unterstützt. Aber Robert hat mir da sehr weitergeholfen und mir den entscheidenden Punkt genannt. Die mypowerrouter.com Seite ist mit einem Sicherheitszertifikat (HTTPS) versehen, und damit kann der Miniserver nicht umgehen.

Okay, okay... Php Skript auf meinem Server angelegt, die Seite mit Benutzername und Passwort geladen, Werte raus extrahiert und in eine für den Miniserver vereinfachtes Format gebracht. Jetzt holt mein Miniserver nicht die Daten von der mypowerrouter.com Seite sondern von meinem Server 😬.

 

 

Endlich Internet und das zuordnen in der Programmierung

Tage im Haus: 12

Seit gestern haben wir endlich Internet. Bis gestern haben wir uns kaum getraut das Internet über den UMTS Stick zu benutzen, da sonst das Volumen zu schnell leer ist und wir dann gar nicht mehr hätten surfen können. Also konnte ich auch keine Bilder hochladen oder sowas...

Jetzt haben wir also Internet und ich kann auch mal zeigen wie ich mit der Programmierung befreundet habe!

Am Tag der Hausübergabe waren die Elektriker noch zugange und waren fleißig am Schrauben und Klemmen. Aber die ganzen Schalter waren zumindest schon fertig und damit ich die nicht dauernd fragen muss: "Wo ist denn Schalter xyz?", bin ich mit folgendem Setup gestartet.

der Anfang

Das sind alle digitalen und analogen Eingänge die meine Komponenten so hergeben. Nachdem ich diese schön auf einer Seite Positioniert habe, konnte ich die Liveview aktivieren und mit dem Notebook auf der Hand durch das Haus gehen und Taster für Taster drücken, immer wenn ein Eingang Grün aufleuchtet

schalter aktiv

habe ich diesen gleich entsprechend benannt. Diese Benennung kann auch mit Abkürzungen versehen sein. Diese Namen dienen erst mal nur der Programmierung.

Nach ein paar stunden sah das bei mir dann so aus

Alle Schalter fertig

das sieht Toll aus! 😬

So, wie teste ich jetzt die Ausgänge und wie kann ich herausfinden wo was dran ist, wenn man das nicht bei den Elektrikern nachfragen kann (/sollte, denn sonst werden sie nie fertig). Ich habe einen Miniserver mit acht Schaltausgänge, drei Relay Extensions die jeweils 14 Schaltausgänge und dann nochmal drei normale Extensions die nochmal jeweils acht Schaltausgänge haben. Jeder Schaltausgang kann eine Steckdose, Lampe, ein Stellventil oder einen Rolladen ein bzw. ausschalten. Mit insgesamt 74 Schaltmöglichkeiten steht mir noch vieeeeeeeel Arbeit bevor.

Erst hatte ich angefangen und mit einzelnen Schaltern versucht mir zu behelfen, was aber zu Zeitaufwändig war. Nach einer Stunde zeit verballern hab ich mir dann was vorbereitet.

Man nehme die "2 Auswahltasten" und eine "Sequenzer" Komponente und blättere durch die Schaltkreise. Die "2 Auswahltasten" Komponente gibt einem die Möglichkeit im Browser oder auf dem Handy mit einem Minusbutton und einem Plusbutton eine Zahl durchzublättern. Drückt man auf das Plus springt man von der Null auf die Eins, nochmal und man springt von der Eins auf die Zwei, usw.. Der "Sequenzer" kann bis zu acht Ausgänge schalten und er hat einen Eingang in dem man ihm sagen kann, welchen er schalten soll. Kriegt er die Position Eins, schaltet er den Ausgang mit der Nummer eins auch ein, bei der Zwei schaltet er den Ausgang zwei, usw.. An die Ausgänge der zehn Sequenzer, die ich brauchte um alle schaltbaren Möglichkeiten abzudecken, habe ich dann alle möglichen Ausgänge angeschlossen. Hier ein Beispiel:

2 Auswahltasten und Sequenzer

Die "2 Auswahltasten" Komponente musste noch etwas konfiguriert werden. Als Minimum Wert braucht sie die Null (um auch alle wieder ausschalten zu können) und als Maximum Wert die acht, weil es nur 8 Schaltmöglichkeiten gibt. Und es muss in der Visualisierung sichtbar sein. Visualisierung ist bei Loxone dann für die App oder den Browser.

IMG_0329

Also mit dem Handy in der Hand durchs Haus watscheln und Plus und Minus drücken um zu schauen was passiert. Hin und wieder kriege ich dann von Kaja zugerufen: "Hier ging grad das Licht an!" 😂

So ging es auf jeden Fall schneller als mit realen, physikalischen Tastern die man ständig umlegen muss um den raum zu wechseln.

Nach zwei Tagen waren dann alle diese Anschlüsse zugeordnet

IMG_0313