NEWS
Support Adapter Energiefluss-erweitert v0.7.7
-
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Es muss inline-block und none angegeben werden.
wird trotzdem angezeigt :-(
{ "default": { "display": "() => {modbus.4.holdingRegisters.1075_Elwa_Pout_2} == 0 ? 'inline-block' : 'none'" }, ">0": { "value": "val => parseFloat(val).toFixed(0)" }, ">999": { "value": "val => parseFloat(val/1000).toFixed(2)" } } -
@warp735 na, dann nimmst du eben Schwellenwert 0 und nutzt die Überschreibung.
Freut mich immer sehr, wenn Fehler als 'blöd' bezeichnet werden 👍
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
und nutzt die Überschreibung.
Kann man mit Überschreibungen auch CSS Klassen aufrufen?
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Freut mich immer sehr, wenn Fehler als 'blöd' bezeichnet werden
Schlecht geschlafen...? Dann ersetze blöd durch ungeschickt.
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Default greift nur, wenn keins zutrifft.
Der Wert ist aktuell 0. Also greifen die anderen doch nicht (>0 und >999)
-
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
und nutzt die Überschreibung.
Kann man mit Überschreibungen auch CSS Klassen aufrufen?
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Freut mich immer sehr, wenn Fehler als 'blöd' bezeichnet werden
Schlecht geschlafen...? Dann ersetze blöd durch ungeschickt.
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Default greift nur, wenn keins zutrifft.
Der Wert ist aktuell 0. Also greifen die anderen doch nicht (>0 und >999)
@warp735 Überschreibungen setzen keine CSS Klassen. Sie setzen nur die Attribute.
Ich denke, man kann Fehlfunktionen auch auf freundliche und nicht verurteilende Art äußern.
Wenn sich zu dieser Anzeige noch niemand geäußert hat, kommt dies leider nicht bei mir an.
Wenn der Wert 0 ist, sollte default greifen - es sei denn, es ist ein Text.
-
@warp735 Überschreibungen setzen keine CSS Klassen. Sie setzen nur die Attribute.
Ich denke, man kann Fehlfunktionen auch auf freundliche und nicht verurteilende Art äußern.
Wenn sich zu dieser Anzeige noch niemand geäußert hat, kommt dies leider nicht bei mir an.
Wenn der Wert 0 ist, sollte default greifen - es sei denn, es ist ein Text.
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Überschreibungen setzen keine CSS Klassen
Also muss ich das blinken "nochmal" in den Attributen umsetzen?
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Wenn der Wert 0 ist, sollte default greifen - es sei denn, es ist ein Text.
Nein, ist ein Wert. Ist aktuell alles 0 und wird trotzdem angezeigt. Wenn Wert 1 0 ist, soll Wert 2 nicht angezeigt werden

-
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Überschreibungen setzen keine CSS Klassen
Also muss ich das blinken "nochmal" in den Attributen umsetzen?
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Wenn der Wert 0 ist, sollte default greifen - es sei denn, es ist ein Text.
Nein, ist ein Wert. Ist aktuell alles 0 und wird trotzdem angezeigt. Wenn Wert 1 0 ist, soll Wert 2 nicht angezeigt werden

@warp735 Für das Blinken hast du sicher eine Klasse definiert, die blinkt.
Diese weist du über die Attribute zu. Stichwortanimation.Die Überschreibung des Attribut
displaymuß ja bei beiden Bedingungen eingetragen werden, damit es greift.defaultwird eben nur genutzt, wenn keine der Bedingungen zutrifft. -
@warp735 Für das Blinken hast du sicher eine Klasse definiert, die blinkt.
Diese weist du über die Attribute zu. Stichwortanimation.Die Überschreibung des Attribut
displaymuß ja bei beiden Bedingungen eingetragen werden, damit es greift.defaultwird eben nur genutzt, wenn keine der Bedingungen zutrifft.@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Stichwort animation.
Super... jetzt wird klar. Schau ich mal :+1:
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
wenn keine der Bedingungen zutrifft.
Ist soweit klar, aber genau das ist doch der Fall. 0 ist nicht >0 und auch nicht >999
Jetzt hab ichs mal so, aber wird immer noch angezeigt. Wie wenn er den Wert nicht hat.{ "default": { "display": "() => {modbus.4.holdingRegisters.1075_Elwa_Pout_2} == 0 ? 'inline-block' : 'none'" }, ">0": { "value": "val => parseFloat(val).toFixed(0)", "display": "() => {modbus.4.holdingRegisters.1075_Elwa_Pout_2} == 0 ? 'inline-block' : 'none'" }, ">999": { "value": "val => parseFloat(val/1000).toFixed(2)", "display": "() => {modbus.4.holdingRegisters.1075_Elwa_Pout_2} == 0 ? 'inline-block' : 'none'" } } -
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Stichwort animation.
Super... jetzt wird klar. Schau ich mal :+1:
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
wenn keine der Bedingungen zutrifft.
Ist soweit klar, aber genau das ist doch der Fall. 0 ist nicht >0 und auch nicht >999
Jetzt hab ichs mal so, aber wird immer noch angezeigt. Wie wenn er den Wert nicht hat.{ "default": { "display": "() => {modbus.4.holdingRegisters.1075_Elwa_Pout_2} == 0 ? 'inline-block' : 'none'" }, ">0": { "value": "val => parseFloat(val).toFixed(0)", "display": "() => {modbus.4.holdingRegisters.1075_Elwa_Pout_2} == 0 ? 'inline-block' : 'none'" }, ">999": { "value": "val => parseFloat(val/1000).toFixed(2)", "display": "() => {modbus.4.holdingRegisters.1075_Elwa_Pout_2} == 0 ? 'inline-block' : 'none'" } } -
@skb
Hab grad gemerkt, das wenn der Wert nicht 0 Ist, wird er ausgeblendet und bei 0 angezeigt. Also grad falschrum kopfkratzWas muss dann statt dem none rein? Wäre ja default ausblenden und >0 dann anzeigen, oder?
-
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Diese weist du über die Attribute zu. Stichwort animation.
Hab jetzt die ganze Doku durch. Leider dazu nichts zu finden... Naja, halb so wild. Bleibts so. Vielleicht fügst ja mal zukünftig zwei Schwellwerte ein :+1:
-
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Diese weist du über die Attribute zu. Stichwort animation.
Hab jetzt die ganze Doku durch. Leider dazu nichts zu finden... Naja, halb so wild. Bleibts so. Vielleicht fügst ja mal zukünftig zwei Schwellwerte ein :+1:
@warp735 Kann man, wie gesagt, prima mit Überschreibungen machen. Ist eine CSS Eigenschaft - die steht natürlich nicht in der Dokumentation - sonst würde ich 2000 Eigenschaften erklären. In dem Link zu W3-Schools wirst du aber fündig.
2 Schwellenwerte braucht es da nicht.
-
@warp735 Kann man, wie gesagt, prima mit Überschreibungen machen. Ist eine CSS Eigenschaft - die steht natürlich nicht in der Dokumentation - sonst würde ich 2000 Eigenschaften erklären. In dem Link zu W3-Schools wirst du aber fündig.
2 Schwellenwerte braucht es da nicht.
-
@warp735 Wenn der Link nicht direkt ersichtlich ist oder war, hätte ich vielleicht mal Google nach "W3Schools Animation" bemüht oder?
Eigentlich gut sichtbar:
https://www.kreyenborg.koeln/wissensdatenbank/ueberschreibungen/#ueberschreibung_mit_einer_bedingung -
@warp735 Wenn der Link nicht direkt ersichtlich ist oder war, hätte ich vielleicht mal Google nach "W3Schools Animation" bemüht oder?
Eigentlich gut sichtbar:
https://www.kreyenborg.koeln/wissensdatenbank/ueberschreibungen/#ueberschreibung_mit_einer_bedingung -
@skb
Hab ich gemacht... wenn du dann damit weiterkommst: gratuliere!War die letzte Frage die ich dir gestellt hab... Wird einem ja direkt madig gemacht, am Adapter was zu verstellen
-
Aktuell gibt es den älteren "Energiefluss-Adapter" als Test/Beta im Github
(Link zum älteren Adapter ->https://forum.iobroker.net/topic/55627/test-adapter-energiefluss-v3-6-x-github-latest)Da ich in diesem Adapter historisch mehr oder minder Dinge eingebaut habe, an die ich vorher gar nicht zu denken gewagt habe und eine Erweiterung inzwischen schier unmöglich wird, habe ich mich entschlossen, eine Version zu entwickeln, die die Büchse der Pandora nicht nur öffnet, sondern auch verwirklichen kann :)
Diese findet Ihr wie gewohnt auf Github unter:
https://github.com/SKB-CGN/ioBroker.energiefluss-erweitert
Es gibt bereits jetzt zahlreiche Dinge, die der alte Adapter nicht unterstützt hat - hier jedoch bereits implementiert wurden.
Im einzelnen die Funktionen, die ich bereits adaptiert bzw. neu hinzugefügt habe:
- Der Adapter wird nun über eine Web-Oberfläche statt über ioBroker konfiguriert - dies ist benutzerfreundlicher
- Die Arbeitsfläche lässt sich frei in Breite und Höhe gestalten
- Es können unbegrenzt viele Elemente auf der Arbeitsfläche abgelegt werden (Texte, Datenpunkte, Rechtecke, Kreise, Icons, etc)
- Jedes Element lässt sich in Größe, Position, Farbe, Schatten, Transparenz anpassen
- Elemente können via Maus oder Koordinaten-Eingabe positioniert werden oder aneinander ausgerichtet werden (mitte, rechts, links, vertikale Oberkante, vertikale Unterkante und vertikaler Mittelpunkt)
- Animationen lassen sich wie in der alten Version anpassen (Farbe der Punkte, Farbe der Linie)
- Animationen können erfolgen, wenn der Datenpunkt Wert positiv oder negativ ist. Auch hier ist ein Schwellenwert möglich
- Die Elemente können frei untereinander verbunden werden. Es gibt einen Element Modus und einen Connection Point Modus.
Element: Die Linie wird immer am nächst passenden Eingang angedockt und verschiebt sich passend, wenn das Element bewegt wird.
Connection Point: Die Linie wird einem der verfügbaren 12 möglichen Eingänge zugewiesen und hält diesen bei, auch wenn das Element bewegt wird - Der Benutzer kann unbegrenzt viele Datenpunkte über den Object-Browser hinzufügen, die im Adapter verwendet werden
- Jedem Datenpunkt-Text, Rechteck oder Kreis kann ein Datenpunkt zugewiesen werden
- Alle Datenpunkt-Anzeigen lassen sich für sich selbst konfigurieren:
Quelle kann W oder kW sein, Umrechnung von W in kW kann erfolgen - muss aber nicht, die Einheit wird pro Element gewählt, jede Datenquelle kann ihren eigenen Schwellenwert haben, die Anzahl der Dezimalstellen ist wählbar (0, 1, 2) - Rechtecke oder Kreise können mit einem Datenpunkt belegt werden und anhand des Wertes eine Füllfarbe erhalten. Diese kann prozentual sein oder mit maximalem Wert.
Prozent: Das Element wird anhand des Datenpunktes prozentual gefüllt
max. Wert: Das Element wird erneut prozentual gefüllt, jedoch anhand des Wertes. Beispiel: max Wert 4000, Datenpunkt-Wert 3000 -> 3000/4000 * 100 -> 75% - Datenpunkte, die sowohl positive als auch negative Werte liefern, können positiv dargestellt werden, wenn sie negativ sind (und nur dann)
- Icons von Iconify (https://iconify.design/) lassen sich direkt über den Energiefluss Workspace integrieren und in ihrer Farbe, Größe, Position und Schattierung anpassen
- Für den gesamten Workspace lassen sich eigene CSS Style integrieren, die der Benutzer frei festlegen kann
- Es gibt eine Erinnerung, wenn die Seite verlassen wurde, Änderungen aber nicht gespeichert wurden
- Während der Konfiguration eines Elements wird der aktuelle Status gespeichert - dieser erlaubt es, das Element in seinem ursprünglichen Status wiederherzustellen, sollte man sich verklickt haben
- Bei Rechtecken und Kreisen können nun Adressen hinterlegt werden, auf die bei einem Klick/Tap verwiesen wird. Die Anzeige ist in einem Overlay, einer neuen Seite (Tab) oder derselben Seite möglich
- Alle Seiten sind responsive - heisst, sie laufen auf PC, Tablet, Handy und lassen sich dort auch konfigurieren
- Der Adapter benutzt nun die schnelleren Web-Sockets von ioBroker und reagiert etwa 10 Mal schneller, jedoch auch 10 Mal schonender im Browser (oder anderer Anzeige)
Damit ihr direkt loslegen könnt, habe ich dem Adapter eine Beispiel-Konfiguration beigelegt. Diese kann natürlich gelöscht werden ;)
Noch eine kleine Hilfe, wie der Adapter nun zu benutzen ist (gerne Vorschläge, wenn dies unverständlich ist oder verbessert werden kann):
- Der Web-Adapter muss weiterhin auf integrierten socket.io konfiguriert sein
- Nach Installation des Adapters sollte dieser automatisch gestartet sein. Da ich nur das Design, nicht aber Datenpunkte mitgegeben habe, müsst ihr diese natürlich angeben.
- Dazu öffnet ihr den Instanz-Link in den ioBroker Instanzen

- Es wird eine Warnmeldung angezeigt, das der Adapter nicht konfiguriert und eine Basis-Konfiguration geladen wurde

- Nun könnt ihr die Konfiguration mit dem Zahnrädchen unten links (welches immer sichtbar ist) öffnen

- Hier wird die gleiche Warnung erneut angezeigt und verschwindet nach einigen Sekunden. Oberhalb der Konfigurationsseite findet ihr die einzelnen Menüs, die benutzbar sind.
- Hier klickt ihr auf

um Eure Datenpunkte dem Adapter mitzuteilen. Diese lassen sich auch mit einem Alias belegen, um sie besser wieder finden zu können. Bitte beachten: Jeder Datenpunkt wird nur einmal festgelegt, kann aber unzählige Male verwendet werden. Auch lassen sich Datenpunkte editieren und löschen.

- Nachdem nun die Datenpunkte dem Adapter bekannt sind, sind diese in der Tabelle sichtbar und können dann einem Element, einem Rechteck, einem Kreis oder einer Animation zugewiesen werden. Dies geschieht über den Konfigurator des Elements selbst, indem ihr auf dieses Element klickt

- Element Datentext:
Hier lässt sich dann auch direkt die Einheit, Farben usw einstellen. Auch gibt es oberhalb noch den "Advanced" Bereich, wo die Anzeige beinflusst werden kann.

- Nach einem Klick auf "Save", und dann "Save & Exit" wird die Konfiguration gespeichert und ihr werdet zur Anzeige Eures Energiefluss - erweitert geleitet.
Viel Spaß und gutes Gelingen! ;)
Natürlich möchte ich mich auch bei den Testern zu Beginn bedanken: @Homoran @da_Woody @maximal1981 @guergen @wendy2702 @Maxtor62 @BananaJoe
Hallo, habe einen DP vom Typ String. Hier wird eine Zeit eingegeben und der Sprinkler startet, was wenn ich direkt den DP ändere auch funktioniert.
Habe also den DP ausgewählt und mittels Aktion ändern eine manuelle Wertänderung eingestellt.
Folgendes kommt:
Manchmal geht es aber und dann wieder nicht.


web.0 2025-06-29 21:51:14.811 info State value to set for "sprinklecontrol.0.sprinkle.Ventil_1.runningTime" has to be type "string" but received type "number"Gibt es eine Möglichkeit das ich den Wert als Sting übergeben kann?
-
Hallo, habe einen DP vom Typ String. Hier wird eine Zeit eingegeben und der Sprinkler startet, was wenn ich direkt den DP ändere auch funktioniert.
Habe also den DP ausgewählt und mittels Aktion ändern eine manuelle Wertänderung eingestellt.
Folgendes kommt:
Manchmal geht es aber und dann wieder nicht.


web.0 2025-06-29 21:51:14.811 info State value to set for "sprinklecontrol.0.sprinkle.Ventil_1.runningTime" has to be type "string" but received type "number"Gibt es eine Möglichkeit das ich den Wert als Sting übergeben kann?
@sigi234 Steht denn nach dem Betätigen eines der Buttons der richtige Wert im Datenpunkt? Benötigt dieser ggf. ein ACK?
Ist es ein Datenpunkt von einem Adapter?
Die Browser Konsole (F12) kann hier anzeigen, was nach dem Klick passiert. Ggf. Debug zusätzlich anzeigen lassen. -
@sigi234 Steht denn nach dem Betätigen eines der Buttons der richtige Wert im Datenpunkt? Benötigt dieser ggf. ein ACK?
Ist es ein Datenpunkt von einem Adapter?
Die Browser Konsole (F12) kann hier anzeigen, was nach dem Klick passiert. Ggf. Debug zusätzlich anzeigen lassen.@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Ist es ein Datenpunkt von einem Adapter?
Ja

{ "type": "state", "common": { "role": "state", "name": "Ventil_1 => running time of sprinkler", "type": "string", "read": true, "write": true, "def": "-" }, "native": {}, "_id": "sprinklecontrol.0.sprinkle.Ventil_1.runningTime", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1751128117974 }
-
@skb sagte in Support Adapter Energiefluss-erweitert v0.7.7:
Ist es ein Datenpunkt von einem Adapter?
Ja

{ "type": "state", "common": { "role": "state", "name": "Ventil_1 => running time of sprinkler", "type": "string", "read": true, "write": true, "def": "-" }, "native": {}, "_id": "sprinklecontrol.0.sprinkle.Ventil_1.runningTime", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1751128117974 }
@sigi234 Auf den letzten Bild kann man den Fehler erkennen.
Du hast vermutlich die Werte nur als Zahlen eingegeben, oder?
Kannst du diese mal in ' setzen?
Also '2', '3' usw. die Aliase kannst du so lassen.Wenn's funktioniert, baue ich dort eine Umformung ein.