NEWS
Einstieg
-
Hallo,
ich bin im Moment auf der Suche nach einem Tutorial für Einsteiger. Ich habe das zu Grunde liegende Konzept von ioBroker noch nicht verstanden. Ich habe schon etwas mit FHEM und openHAB gebastelt und bin mit beiden nicht so richtig warm geworden.
Ich habe vor, die Einergie meiner PV (FV) Anlage im Haus zu verteilen (Heizung E-Auto andere Stromverbraucher) Dank eurer Hilfe habe ich schon meinen Stromzähler in ioBroker eingebunden. Das ging relativ einfach
Aber nun stehe ich auf dem Schlauch wir es weiter geht. Jetzt möchte ich den Stromverbrauch oder Strombezug dar stellen. Aber wo schaue ich da? Benötige ich andere Adapter zum visualisieren? Wie rechne ich mit den Objekten vom Zähler. Z.B. muss ich die Werte mit 30 multiplizieren, weil ich eine Wandlermessung habe. Aber wo mache ich habe am besten. Ein neues abgeleitetes Objekt anlegen? Einen entsprechenden Adapter (Multiplikation o.ä.) benutzen? Irgendwo ein Script anlegen? Mir fehlt einfach das Konzept, das dahinter steckt und ich habe bisher auch kein Tutorial für Einsteiger gefunden. Die Installation war super beschrieben und hat problemlos funktioniert. Und jetzt
Vielen Dank im voraus schon Mal -
Jetzt möchte ich den Stromverbrauch oder Strombezug dar stellen. Aber wo schaue ich da? Benötige ich andere Adapter zum visualisieren?
iobroker intern kannst du z.b deine Werte in History schreiben. Zum darstellen in der Vis gibt es da z.b den Adapter flot, oder Echart, aber auch mit Materialdesign in Vis lässt sich sowas darstellen. Zum anderen gäbe es auch die Möglichkeit, seine Daten mit Grafana zu visualisieren, diese wiederum lässt sich in die iobroker Vis integrieren. Je mehr Daten man loggt, bietet sich auch an, anstatt den History Adapter InfluxDB zu verwenden( muss aber separat installiert werden).
Wie rechne ich mit den Objekten vom Zähler. Z.B. muss ich die Werte mit 30 multiplizieren, weil ich eine Wandlermessung habe. Aber wo mache ich habe am besten. Ein neues abgeleitetes Objekt anlegen? Einen entsprechenden Adapter (Multiplikation o.ä.) benutzen? Irgendwo ein Script anlegen?
dazu kannst du dir Datenpunkte in userdata.0 anlegen, Um deine Werte weiter zu verarbeiten, verrechnen, etc... bietet sich der Adapter javascript an, dort gibt es die Möglichkeit direkt in JS, aber auch als blockly(visuelle Bausteine) ein Script zu bauen, wodurch die entsprechend benötigten Daten geschrieben werden und anschliessend visualisiert werden.
So erstmal als Kurzfassung
bisher auch kein Tutorial für Einsteiger gefunden
findet man im Einzelfall das ein oder andere bei google, oder auch mal das ein oder andere YT Video.
Aber es ist richtig, in der Doku fehlen sogenannte Tutorial's noch -
dazu kannst du dir Datenpunkte in userdata.0 anlegen, Um deine Werte weiter zu verarbeiten, verrechnen, etc... bietet sich der Adapter javascript an, dort gibt es die Möglichkeit direkt in JS, aber auch als blockly(visuelle Bausteine) ein Script zu bauen, wodurch die entsprechend benötigten Daten geschrieben werden und anschliessend visualisiert werden.
Das hat schon mal gut geholfen
Mein Bezug vom Zähler wird dagestellt als 0,123 kW{ "type": "state", "common": { "name": "1-0:1_7_0__255.value", "type": "number", "read": true, "unit": "kW", "role": "value", "write": false, "custom": { "lovelace.0": { "enabled": true, "entity": "sensor", "name": "1_0_1_7_0__255_value", "attr_unit_of_measurement": "kW" } } }, "native": { "id": "1-0:1_7_0__255.value" }, "_id": "smartmeter.0.1-0:1_7_0__255.value", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1649540685836 }
Nach meiner Umrechnung mit Blockly
// Bezug berechnen on({id: 'smartmeter.0.1-0:1_7_0__255.value', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("0_userdata.0.Bezug"/*Bezug*/, (parseFloat(getState("smartmeter.0.1-0:1_7_0__255.value").val) * 30), true); });
steht in Bezug dann nur noch die Zahl ohne Einheit.
So ist Bezug definiert:{ "common": { "name": "Bezug", "desc": "Manuell erzeugt", "role": "value", "type": "number", "read": true, "write": true, "def": "" }, "type": "state", "_id": "0_userdata.0.Bezug", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1649622153601 }
Hat da noch jemand einen Tipp?
-
steht in Bezug dann nur noch die Zahl ohne Einheit
du hast den DP angelegt, aber nicht die Unit mit hinterlegt, dies muss man manuell eintragen
du kannst im Raw von0_userdata.0.Bezug
, innerhalb von common die unit hinterlegen, so wie oben bei deinem Zähler.
einfach die Zeile mit einfügen , irgendwo zwischen Zeile 3 und 9"unit": "kW",
-
@crunchip
Beim Zähler habe ich die unit nicht gesehen. Jetzt habe ich nur noch nicht verstanden, wo ich die History aktivieren muss, damit ich einen Graph anzeigen kann.
Ich muss sagen, ioBroker funktioniert echt top! Ich habe zu Schulzeiten (lang ist's her) ein bisschen Turbo Pascal programiert und verstehe daher den Hintergrund ganz gut, aber ich bin froh, dass ich die Syntax von Java Script nicht lernen muss und trotzdem kommt man blockly sei Dank ans Ziel
Wenn jemand hier im Forum ein kurzes how to für Einsteiger anlegen sollte, gehört dass rein, welche Adapter/Instanzen man benötigt, wie man eigene Werte berechnet (Objekte 0_userdata) und wo man Visualisierungen findet. Ein Hinweis auf die Hilfen in den Adapter ist auch nicht schlecht, dann kommt man erst Mal gut weiter
Ich denke damit ist ein Grundstock an Wissen gelegt, mit dem man weiter kommt -
Hab's gefunden, History ist auch ein Adapter
-
-
History scheint sich mit Lovelace nicht zu vertragen, jedenfalls findet Lovelace keine History, aber direkt in ioBroker in der Eigenschaften der Variablen ist eine zu sehen.
Welche Adapter für History gibt's noch bzw wo liegen die Vor- und Nachteile?
Oder probiere ich besser eine andere Visualisierung aus, z.B. Vis?
Ich würde die Werte gerne auf den USB Stick am Raspberry speichern. Die SD Karten halten nicht so viel aus. Wenn der USB Stick auf gibt, sind nur die Werte weg und nicht alles. Wo mounte ich den am besten und wo konfiguriere ich den Speicherort der Adapter? -
@omnicon zu Lovelace kann ich erstmal nicht zu sagen, hatte ich noch nie in Verwendung.
Daher kann ich dir da nicht weiterhelfen, zwecks History anzeigen.Wie oben bereits geschrieben, gibt es Möglichkeit mittels externen Programmen wie SQL oder InfluxDB.( da wäre dann auch die Möglichkeit, die Datenbank auf ne Ssd oder Stick zu legen). Dafür gibt es auch entsprechende Adapter um die jeweilige Datenbank in iobroker zu integrieren.
Vis selbst ist halt nun mal das Mächtigste und flexibelste der Visualisierung. Gibt aber auch noch zahlreiche andere Visualisierungen. Kommt halt auf den Anwendungsfall an.
Gibt auch backup Möglichkeit für history im backitup Adapter, sowie influxdb, wenn es dir um die Daten geht
-
Ich schreibe erst mal, was ich vor habe:
Ich habe ne 30 kW PV-Anlage und möchte den Strom möglichst selbst nutzen. Ein Raspberry sitzt beim Zähler, damit ich Bezug und Einspeisung auslesen kann. Ein weiterer kommt in den Heizungskeller um ein paar Heizstäbe für warmes Wasser zu steuern. Einen weiteren werde ich (irgendwann) im Kuhstall installieren für Licht und eventuell Lüftung. Die Raspis sind alle Version 3. (Gott sei Dank liegen die schon im Schrank, die Preise im Moment sind ja unglaublich.) Der Raspi am Zähler soll Master werden, weil der wohl am wenigsten zu tun haben wird. Ich habe zwar noch ein Nas (Synology ds220) laufen, aber das wollte ich nicht einbeziehen, oder sind die Raspis zu schwach? Da wollte ich später nur meine Daten sichern.
Guter Plan? -
jedenfalls findet Lovelace keine History,
https://forum.iobroker.net/post/438440
Ansonsten den Lovelace Adapter Thread mal durchsehen
sind die Raspis zu schwach?
das kommt darauf an was letztendlich alles darauf laufen soll. Einen PI mit 4GB Ram meinst du?
Grundsätzlich reicht das erstmal, je nachdem wie viele Adapter du installieren möchtest. Denn jeder Adapter benötigt im Schnitt 40-60 MB, manche sogar 300MB aufwärts, je nachdem was und wieviel darin läuft.
Dein System selbst braucht einiges an Ram und auch das erstellen eines Backup's verbraucht eine gewisse Menge während der Erstellung.man hat auch die Möglichkeit Master/Slave einzurichten und hat so die Möglichkeit das etwas aufzuteilen, damit nicht alles auf einem läuft.