Dashboard für unseren Morelo Palace (Teil 1)

  • Hallo zusammen!


    Ich möchte gerne ein Digitalisierungsprojekt für unseren Morelo Palace vorstellen. Hier bei DigiCamper sind wir ja „unter uns“; Diskussionen um den tieferen Sinn derartiger Projekte dürften mir also hoffentlich erspart bleiben. Falls doch jemand... Ich mache das weil es Spaß macht, und nicht weil es „vernünftig“ ist ;)


      


       


    Ich hatte das Thema schon einmal im LinerTreff vorgestellt. Hier nun etwas ausführlicher.


    Am Anfang eines Projekts steht die Planung und so habe ich unter „Zielsetzung“ zunächst beschrieben, was ich konkret umsetzen möchte (bzw. weitgehend bereits umgesetzt habe). Im Abschnitt „Infrastruktur“ ist beschrieben, mit welchen Komponenten und unter welchen Rahmenbedingungen dieses Projekt realisiert wurde.


    Digitalisierung im Reisemobil ist derzeit leider immer noch durch zahlreiche proprietäre Lösungen der Hersteller begrenzt. Dennoch möchte ich mit dieser Projektbeschreibung aufzeigen, dass da einiges geht in Sachen Digitalisierung im Reisemobil. Im Abschnitt „Interoperabilität“ will ich auf diese Aspekte etwas ausführlicher eingehen.


    Das zentrale Element meiner Umsetzung bildet ioBroker auf einem Linux-Server. Der ioBroker ist eine Open Source IoT-Plattform mit der ich mich seit mehreren Jahren und über mehrere private Projekte hinweg intensiv beschäftige. IoBroker eignet sich hervorragend für das Reisemobil, vorausgesetzt es läuft auf einer hinreichend stabilen Linux-Basis und auf einer ausfallsicheren Hardware-Plattform.


    Die Serverplattform und insbesondere der ioBroker werden daher ebenfalls in meinem Beitrag etwas ausführlicher besprochen.


    Wichtig ist es mir zu erwähnen, dass ich mit keiner der hier genannten Produkte und Firmen in in irgendeiner Weise wirtschaftlich verbunden bin. Ich bin völlig unabhängig und verfolge keinerlei kommerzielle Interessen. Alle von mir vorgenommenen Bewertungen beruhen also ausschließlich auf meinen ganz persönlichen Erfahrungen.


    1. Zielsetzung


    • Entwicklung eines Dashboards welches browserbasiert, stationär oder mobil alle relevanten Telemetriedaten des Reisemobilaufbaus anzeigt. Dabei sollen die Dashboards auch zur Steuerung von Soft- u. Hardwarefunktionen dienen.
    • Anbindung der vorhandenen SuperSense Sensoren für Gas, Frischwasser, Grau- u. Schwarzwasser – neben der vorhandenen Möglichkeit zur Abfrage der Tanklevel über die Blutooth Box, bzw. am CBE Panel – an eine Cerbo GX von Victron.
    • Die relevanten Werte für den Ladezustand des Aufbauakkus sowie die aktuellen Werte für Stromverbrauch und Solarertrag sind bereits über einen Victron Smartshunt, bzw. die Victron Solarreger in der Cerbo GX verfügbar und sollen für das Dashboard nutzbar gemacht werden.
    • Weitere Ein- u. Ausgänge (Relaisausgänge, digitale Eingänge, Temperatursensoren, GPS Geodaten) der Cerbo GX sollen ebenfalls mittels Dashboard angezeigt, verarbeitet, bzw. geschaltet werden können.
    • Anzeige der Werte der beiden Supersense Reifendrucksensoren (Anhänger) auf dem Dashboard.
    • Möglichkeit zur Speicherung historischer Datenreihen in einer Datenbank sowie deren grafische Darstellung (Bspw. Solaretrag, Energiverbrauch, Ladezustand des Akkus).
    • Weiterleitung der verschiedenen Telemetriewerte aus der Cerbo GX, bzw. anderer Quellen in quasi-Echtzeit an ioBroker.


    2. Infrastruktur


    • Wechselrichter / Ladekombi Büttner MT-ICC 3000 SI/N120A
    • Vier Stück Super B Nomia (12V210AH) LiFePO4. Gesamt: 840 Ah / 12 Volt
    • Victron SmartShunt 500A
    • Victron Solarladeregler MPPT 100 / 50
    • Victron Solarladeregler MPPT 100 / 30
    • SunPower Back Contact Solarpanels. Gesamt: 900 Wp
    • Victron Cerbo GX
    • Victron GX Touch 50
    • Victron Tank 140
    • WiFi GPS Receiver (über USB an Cerbo GX)
    • 5 G-Router (Datenflat)
    • Ethernet Switch
    • Odroid N2 Einplatinencomputer
    • Comworks Supersense Tanksensoren für Frisch-, Grau-, u. Schwarzwassertanks
    • Comworks GasCheck
    • Comworks TireCheck Luftdrucküberwachung für die beiden Räder des Anhängers
    • Comworks Bluetooth-Box
    • Truma iNet Box (Proprietäre Steuerung Alde Heizung)

    Sound: Vollaktiv und fahrzeugspezifisch eingemessen durch Fa. Jehnert


    • Headunit: Alpine X903D
    • Frontsystem: 2 x 3-Wege vollaktiv
    • Wohnraum: 2 x 2-Wege vollaktiv
    • Subwoofer: Fahrzeugspezifisches Bassreflexsystem
    • Amp: Helix 12 Kanal / 14 Kanal 64 Bit DSP
    • Spotify Connect Client: HifiBerry DAC+ (direkt über optische Schnittstelle am Helix Amp)
    • Außen: HifiBerry AMP2 und zwei kleine Teufel-Lautsprecher


    3. Interoperabilität


    Die meisten Zulieferer für technische Infrastruktur im Reisemobil bieten – wenn überhaupt - eigene, proprietäre Digitalisierungslösungen an. Da kocht jeder sein eigenes Süppchen und offene Schnittstellen sind die große Ausnahme. Im Ergebnis hat man dann eine App für die Heizung, eine für die Hubstützen, eine für die Sat-Anlage, eine für die Kühlbox, usw. Das ist aus Sicht von uns Campern natürlich alles Andere als praktikabel. Die bisherigen Bemühungen der Verbände und Zulieferer, einen einheitlichen, herstellerübergreifenden Standard zur Steuerung aller technischen Komponenten im Reisemobil zu etablieren, blieben bisher erfolglos. Zwar gibt es entsprechende Spezifikationen (vgl. CI-BUS), zum Standard wird so etwas aber erst, wenn auch alle mitmachen. Es ist also leider nicht so einfach möglich, etwa eine Heizung, die Klimaanlage oder die Steuerungszentralen (Elektroblock) in ein eigenes Kozept einzubinden.


    Mit entsprechendem Aufwand (reverse engineering) ist zwar fast alles machbar, doch viele relevante Dinge lassen sich trotz der vorhandenen Restriktionen durchaus mit einfacheren Mitteln realisieren. Transparente, offene Technologien wie etwa die Tanksensoren von Comworks oder die Elektronik-Komponenten von Victron bieten reichlich Lösungsansätze für eine Zusammenführung der für die Praxis interessanten Parameter im Reisemobil. Der Grund warum in diesem Projekt möglichst viele Daten in der Cerbo GX von Victron gehalten werden, liegt an den transparenten Zugriffsmöglichkeiten die der Hersteller für seine Komponenten vorgesehen hat. Über eine Modbus TCP-Schnittstelle der Cerbo GX

    kann von außen via Ethernet lesend auf die Modbus Register zugegriffen werden. Eine Liste aller Modbus Register, sowie die ID’s der einzelnen Victron Geräte kann einer frei zugänglichen Tabelle entnommen werden, die der Hersteller regelmäßig aktualisiert. Weitere Infos und Quellen finden sich hier.


    Der Modbus hätte definitiv das Potential, als geräte- u. plattformübergreifender Standard im Reisemobil zu fungieren. Der Zugriff auf die Register des jeweiligen Geräts kann nämlich nicht nur lesend erfolgen, sondern bei entsprechender Freigabe der Register auch schreibend. Es ist also nicht nur die Statusüberwachung, sondern auch die Steuerung von Geräten über den Modbus möglich. Der Modbus kann seriell oder als TCP Bus betrieben werden, ist transparent dokumentiert, geräteseitig einfach zu implementieren und verfügt über ein umfassendes Securitykonzept

    Ich schweife ab.

  • Teil 2


    4. ioBroker


    ioBroker ist eine Open Source IoT - Plattform um Daten verschiedenster Geräte- u. Protokollfamilien miteinander in Verbindung zu bringen, diese Daten bei Bedarf in History-Datenbanken abzulegen und mittels verschiedener Programmierwerkzeuge (hauptsächlich Javascript) in Abhängigkeit von anderen Bedingungen miteinander zu verknüpfen, zu bearbeiten, auszuwerten und darzustellen. Eigentlich als Herzstück von SmartHome Szenarien konzipiert, funktioniert das äußerst zuverlässige Toolset natürlich auch im mobilen smart Home. Das modulare und beliebig erweiterbare Grundkonzept von ioBroker ermöglicht die Integration neuer Geräte(familien) bzw. Protokolle oder sonstiger Datenquellen mittels sogenannter Adapter. Diese bilden die Brücke zwischen den unterschiedlichsten IoT Komponenten und dem ioBroker. Es geht also auch ohne herstellerübergreifende Standards; einzige Voraussetzung: Die Hersteller müssen ihre Systeme öffnen (API, bzw. Bus-Schnittstelle) oder gleich selbst einen Adapter beisteuern. IoBroker wird seit vielen Jahren von immer mehr Experten kontinuierlich weiterentwickelt. Die Zahl der Gerätehersteller und Programmierer, welche immer neue Adapter entwickeln, wächst rasant. Die Plattform verlässt derzeit ihr Nischendasein und entwickelt sich in Europa zum quasi-Standard in Sachen IoT. Die Entwickler hinter dem Projekt platzieren derzeit verschiedene kommerzielle Geschäftsmodelle um die Weiterentwicklung finanziell abzusichern. Die private Nutzung ist aber nach wie vor kostenlos.


    Zurück zum Projekt: Parameter verschiedenster Geräte und sonstiger Datenquellen können stabil und zuverlässig in einer Datenbank gespeichert oder / und mittels eines sehr mächtigen Visualisierungswerkzeugs (VIS) in Echtzeit browserbasiert angezeigt werden. Natürlich gibt es für ioBroker einen ModBus TCP Adapter um die (Echtzeit)Daten von der Cerbo GX in die ioBroker Plattform zu bringen.


    Wie genau funktioniert ioBroker? Egal ob es darum geht, rudimentär zu verstehen was ioBroker ist oder tiefer in dieses „IoT-Universum“ einzutauchen, allen Interessierten sei an dieser Stelle das sehr vollständige und recht gut gepflegte ioBroker-Wiki empfohlen.


    Ich will an dieser Stelle dennoch anhand von zwei konkreten Beispielen aufzeigen, welche Möglichkeiten der ioBroker bietet.


    4.1 Anzeige des aktuellen Level des Frischwassertanks mit Hilfe eines SuperSense Tanksensors auf dem Dasboard


    Der Comworks Supersense Sensor des Frischwassertanks liefert je nach Füllstand einen Spannungswert zwischen 0 und 2,5 Volt welcher direkt an die entsprechenden Eingänge der CBE Zentrale, der Comworks BluetoothBox und via externer GX Tank140 Schnittstelle (die vorhandenen Eingänge für Tanksensoren an der Cerbo GX unterstützen leider nur resistive Sensoren) an die Cerbo GX weitergeleitet wird. Der ioBroker kann weder auf die CBE Zentrale, noch auf die Comworks BluetoothBox direkt zugreifen; sehr wohl aber auf die Cerbo GX. Die Cerbo GX muss via Ethernet im lokalen Netz erreichbar sein und das Modbus-Protokoll muss auf der Cerbo GX aktiviert sein.


    Im ioBroker muss eine Instanz des Modbus-Adapters installiert und als Master aktiviert sein und die IP-Adresse der Cerbo GX muss im Modbus Adapter als Slave-Device eingetragen sein. Weiterhin muss im Modbus-Adapter des ioBroker die Geräte ID des jeweiligen Sensors, sowie die ID des Registers eingetragen sein, welches über den Modbus den aktuellen Level des Tanks ausgibt. Wenn dies alles gegeben ist, fragt der Modbus-Adapter in einstellbaren Intervallen die Modbus-Register der Cerbo GX ab, liest die entsprechenden Werte ein und legt sie im Objektbaum des ioBroker ab. Im Objektbaum werden durch die Adapter entsprechende Objekte angelegt und die eingelesenen Werte werden jeweils im Objektbaum zwischengespeichert, sofern sie sich verändert haben. Der Objektbaum in ioBroker bildet also den jeweils aktuellen Zustand aller Werte und Parameter aller aktiven Adapter(Instanzen) ab. Sind keine speziellen Rechte konfiguriert, erhalten prinzipiell alle anderen Adapter, bzw. deren aktive Instanzen Zugriff auf den Objektbaum und damit auf die dort abgelegten Werte. Das gilt beispielsweise für Instanzen des InfluxDB Adapter, der für zuvor definierte Objekte regelmäßige Datenbankeinträge organisiert oder für Instanzen des Javascript-Adapters, dessen Javascript-Programme auf die Werte des Objektbaums zugreifen können. Und das gilt eben auch für „vis“, dem Adapter zur Visualisierung, mit dem dann in „Echtzeit“ Werte im Browser angezeigt werden, indem der vis-Adapter auf die Werte des Modbus-Adapters im Objektbaum zugreift.


    4.2 Regelmäßige Abfrage und Anzeige der TireCheck Sensoren eines Anhängers


    Um die Werte des Reifendrucks am Anhänger in den ioBroker zu bekommen, muss man einen etwas unkonventionellen Weg beschreiten: Die TireCheck Reifendrucksensoren senden ihre Werte an die BluetoothBox von Comworks. Aus der BluetoothBox können wir leider keine Daten an den ioBroker exportieren. Der Zugriff erfolgt – ebenfalls via Bluetooth an die App von Comworks, welche auf einem Smartphone oder Tablet läuft. Dankenswerterweise hat Comworks seit Ende 2020 ein Internetportal am Start, auf das von jedem Computer auf die Werte der eigenen Sensoren zugegriffen werden kann. Die App sendet die Werte der Sensoren an das Supersense-Portal, auf das der Kunde via Internet zugreifen kann. Die Daten sind also von der Bluetooth-Welt in die TCP/IP-Welt des Internets übergegangen. Und ab da gibt es für jedes Problem eine Lösung. Für den ioBroker gibt es einen Adapter namens „Parser“. Mit diesem Adapter können bestimmte Informationen auf beliebigen Internetseiten gesucht, gefunden und abgeholt werden. Und das funktioniert so: Wir teilen der Instanz des Parser-Adapters mit, welche Seite im Internet er in welchen Zeitabständen aufrufen soll. Mittels sogenannter regular expressions (RegExp) teilen wir dem Parser mit, welche Zeichenfolge er auf dieser Internetseite suchen und finden soll. Hat der Parser eine exakte Übereinstimmung mit den vorgegebenen Zeichen gefunden, und haben wir zuvor – ebenfals mittels der RegExp – festgelegt, dass der Parser die darauf folgenden Zeichen ausliest und als numerischen Wert in den Objektbaum des ioBroker schreibt, dann - voilà, haben wir den Reifendruck des Anhängers, sagen wir alle 60 Sekunden, im Objektbaum des ioBroker. Im Visualisierungseditor „vis“ platzieren wir ein Widget zur Anzeige numerischer Werte und verknüpfen es mit dem Objekt in dem die Instanz des Parser-Adapters den Wert des Reifendrucks ablegt.


    Das waren nur zwei Beispiele zur Veranschaulichung. Tatsächlich sind den Möglichkeiten mit ioBroker kaum Grenzen gesetzt. Ob die Steuerung des Spotify Connect Clients über das ioBroker Dashboard oder die automatische Einblendung des regionalen Wetterberichts in Abhängigkeit zu der Geo-Lokation des Reisemobils; mit dem richtigen Adapter ist alles machbar!


    So, dann also zur Plattform. Verschweigen will ich es nicht; ioBroker läuft nicht nur auf einem Linux Rechner sondern auch unter Windows. Aber na ja, wer das will...


    5. Linux Server


    Man könnte für eine ioBroker Umgebung nebst InfluxDB als Datenbank und einiger weiterer kleinerer Tools den äußerst populären RaspberryPi bzw. einen seiner Derivate einsetzen. Doch für den Betrieb in einem Fahrzeug und speziell als ausfallsichere Lösung zur Verarbeitung von Telemetriedaten sind diese günstigen Einplatinenrechner nicht so gut geeignet. Für ein klein wenig mehr Geld bekommt man z.B. mit einem ODROID N2 Computer eine leistungsfähige Plattform, die sich mit den im Reisemobil üblichen 12-14,4 Volt stabil und direkt betreiben lässt. Was den ODROID von anderen Computern dieser Art unterscheidet, ist seine Eigenschaft das Betriebssystem von einem internen Flash-Speicher laden zu können. Das macht ihn robust und äußerst ausfallsicher. Andere Einplatinenrechner laden ihr Betriebssystem von einer SD-Speicherkarte. Das geht oft nicht lange gut, weil diese Speichermedien nicht für häufiges Schreiben ausgelegt sind.

    Für dieses Projekt habe ich mich für die gut gepflegte und stabile 20.04 LTS Version von Ubuntu entschieden. Fertige Images für den ODROID N2 gibt es hier.

    Für eine ioBroker Umgebung müssen nun nur noch influxDB, sowie der ioBroker selbst installiert werden. Beides ist über eine Terminalkonsole mit ein paar Befehlen auf der Kommandozeile in wenigen Minuten erledigt.


    So viel erst mal. Wenn ich jemanden inspirieren konnte, würde mich das freuen. Wenn es Fragen gibt - gerne!

  • Hallo Heiko,

    Teile dieses Projekts kann ich mir auch hier im P vorstellen, werde also mal einen Plan aufstellen und diesen dann hier zur Kommentierung (kann ja nur besser werden) einstellen. Mit deiner Erfahrungmüssen ja nicht alle Fehler 2 x gemacht werden.

    Auf jeden Fall macht diese Beschreibung Hunger auf mehr!!!


    VG Stefan

  • Hallo Heiko,

    jetzt mal ein paar Nachfragen:

    Odroid N2+ und zusätzlich die EMMC64 für linux als Basis, wenn ich damit beginnen möchte?

    Warum RUT und Huawei? Nur wegen 5 G?

    Hast du die stabile 12Volt Versorgung extra gegen Spitzen abgesichert 12V Fahrzeug <> 12 sauber PC und restkomponeten?

    Warum nicht GPS Daten vom RUT ??

    Ohne Cerbo geht es nicht in der Visualisierung oder??

    Die schwarze flache Geäuseschachtel ist dein 2 TB SSD?? ohne zusätzliche Stromversorgung über 2ten Eingang (Y-Kabel?)


    VG Stefan

  • Hallo Stefan,

    sorry für die späte Rückmeldung. Ich bin nur sporadisch hier im Forum so lange der "Betrieb" hier überschaubar ist ;)

    zu Deinen Fragen:

    Warum RUT und Huawei? Nur wegen 5 G?

    Huawei für meinen 5G Flat - Tarif und den RUT als Backup und als Wan-Port via W-Lan.

    Hast du die stabile 12Volt Versorgung extra gegen Spitzen abgesichert 12V Fahrzeug <> 12 sauber PC und restkomponeten?

    Die Router, Switch und Server haben ja eine interne Spannungsstabilisierung (wie eigentlich alle 12V Kleingeräte). Der Odroid bspw. akzeptiert - so weit ich erinnere - eine Eingangsspannung von 6-36 V.

    Warum nicht GPS Daten vom RUT ??

    Weil der RUT als Backup Router nur gelegentlich läuft.

    Ohne Cerbo geht es nicht in der Visualisierung oder??

    Zumindest die Tanksensoren und die gesamten Victron-Daten erfordern die Modbus-Schnittstelle des Cerbo. Mir ist da kein anderer Weg bekannt.

    Die schwarze flache Geäuseschachtel ist dein 2 TB SSD?? ohne zusätzliche Stromversorgung über 2ten Eingang (Y-Kabel?)

    Ja. Das ist die SSD und die hängt direkt am USB Port des Odroid Servers auf dem ein SMB Daemon läuft und die SSD als Freigabe im LAN für alle bereitstellt.

  • Hallo Josef,

    4 TireCheck melden sich sofort per BT an, 2 für die inneren Reifen bekomme ich auch wenn ich manuel den Code eingebe nicht in die BT Verwaltung so, das Sie angezeigt werden. Verwaltung ja, aktiv in der Übersicht nein. Gebe 3 Achse an, weil ich ja 6 Reifen habe.

    Was tun?

    VG Stefan

    Hallo Stefan,

    kannst Du bitte ein eigenes Thema für Dein TireCheck Problem aufmachen anstatt das hier in meiner Projektvorstellung zu erörtern?

    Das wäre nett :)

  • Hallo Heiko,

    Wahnsinn, was du da realisiert hast.

    Ich würde gern Ähnliches realisieren, kannst du verraten, wie du den Büttner Kombilader eingebunden hast ?

    Und: Hast du den Büttner Shunt ersetzt ?

    Oder ist er in Reihe mit dem Victron Shunt verbaut ?


    Viele Grüße Tom

  • Hi Tom,

    den Büttner Kombilader habe ich nicht eingebunden - der hat leider keine offene Schnittstelle. Die relevanten Werte kommen aber trotzdem über den Victron-Shunt, der in Reihe zu dem ab Werk verbauten Shunt nachgerüstet wurde. Viel Erfolg ;)

  • Hallo zusammen,

    hier mal ein update zu einem Dashboard welches ich heute fertiggestellt habe. Einige der Dashboards sind recht komplex geworden. Ist für den "Bauherren" ja ganz nett sich abends mit diversen grafischen Auswertungen zu beschäftigen; für die tägliche Praxis hat aber definitv ein "keep it small & simple" gefehlt. Nun also ein Onepager mit den relevantesten Palast-Infos ;)


  • ...

    5. Linux Server


    Man könnte für eine ioBroker Umgebung nebst InfluxDB als Datenbank und einiger weiterer kleinerer Tools den äußerst populären RaspberryPi bzw. einen seiner Derivate einsetzen. Doch für den Betrieb in einem Fahrzeug und speziell als ausfallsichere Lösung zur Verarbeitung von Telemetriedaten sind diese günstigen Einplatinenrechner nicht so gut geeignet. Für ein klein wenig mehr Geld bekommt man z.B. mit einem ODROID N2 Computer eine leistungsfähige Plattform, die sich mit den im Reisemobil üblichen 12-14,4 Volt stabil und direkt betreiben lässt. Was den ODROID von anderen Computern dieser Art unterscheidet, ist seine Eigenschaft das Betriebssystem von einem internen Flash-Speicher laden zu können......


    ...
    Odroid N2+ und zusätzlich die EMMC64 für linux als Basis, wenn ich damit beginnen möchte?

    ...
    Hast du die stabile 12Volt Versorgung extra gegen Spitzen abgesichert 12V Fahrzeug <> 12 sauber PC und restkomponeten?

    ...


    ...
    Die Router, Switch und Server haben ja eine interne Spannungsstabilisierung (wie eigentlich alle 12V Kleingeräte). Der Odroid bspw. akzeptiert - so weit ich erinnere - eine Eingangsspannung von 6-36 V.

    ...

    Hallo Heiko,
    erstmal herzlichen Dank für die umfangreiche Vorstellung Deines Projektes.

    Hallo Forum,
    viele meiner Fragen nach dem Lesen des "kleineren" Beitrags im linertreff wurden schon im Verlauf des Threads beantwortet. :)

    Ich bin mir aber noch unsicher wegen des odroid.
    Die Verfügbarkeit ist gerade so "lala" und ich überlege mir ein anderes 12V-Gerät zuzulegen.
    BMAX Mini Intel. Beim aktuellen Stand meiner Recherchen und Planung brauche ich wohl noch einen Bluetooth-Adapter und der ist im BLE-Bereich für den odroid anscheinend nur noch sehr schwer zu bekommen, bzw. stabil zu betreiben.

Participate now!

Don't have a user account on our site yet? Register for free and enjoy all the benefits of the DigiCamper Community!