NEWS
Skript zur dynamischen Generierung Batterie/Akku Symbol
-
@asgothian sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:
Besser nicht in einem externen Skript.
Habe ein extra Skipt erstellt.
Edit:
Kaum macht man es Richtig läuft es auch. (VIS-2) :grinning: -
@sigi234
hast Du den Aufruf mit einem extra Skript gestartet?Bei mir wird kein Datenpunkt erstellt.
Grüße -
@maxtor62 in meinem Beispiel (Post 1) wird auch kein Datenpunkt automatisch erstellt. Im Beispiel wird auf einen bereits existierenden Datenpunkt verwiesen.
Ro75.
Hi, danke für Deine Hilfe. Bin halt kein Java-Scripter.
Meine Datenpunkte:
const ZielDP = '"0_userdata.0.vis.VIS-Batterie.Batt'; // bitte anpassen const dValue = getState('ecoflow-mqtt.0.D3M1ZE1A9H8G0082.DisplayPropertyUpload.bmsBattSoc').val; // bitte anpassen const decimalPlaces = 0; // bitte anpassen const labelSuffix = '%'; // bitte anpassen const customLabel = null; // bitte anpassen const showPercent = true; // bitte anpassen const strongColors = true; // bitte anpassen const colorScheme = 'default'; // bitte anpassen const showBolt = false; // bitte anpassen const boltPos = 100; // bitte anpassen const blinkBolt = false; // bitte anpassen //Funktionsaufruf mit Speicherung der SVG in einen Datenpunkt setState(ZielDP, generateBatterySvg(dValue, decimalPlaces, labelSuffix, customLabel, showPercent, strongColors, colorScheme, showBolt, boltPos, blinkBolt), true); -
Hi, danke für Deine Hilfe. Bin halt kein Java-Scripter.
Meine Datenpunkte:
const ZielDP = '"0_userdata.0.vis.VIS-Batterie.Batt'; // bitte anpassen const dValue = getState('ecoflow-mqtt.0.D3M1ZE1A9H8G0082.DisplayPropertyUpload.bmsBattSoc').val; // bitte anpassen const decimalPlaces = 0; // bitte anpassen const labelSuffix = '%'; // bitte anpassen const customLabel = null; // bitte anpassen const showPercent = true; // bitte anpassen const strongColors = true; // bitte anpassen const colorScheme = 'default'; // bitte anpassen const showBolt = false; // bitte anpassen const boltPos = 100; // bitte anpassen const blinkBolt = false; // bitte anpassen //Funktionsaufruf mit Speicherung der SVG in einen Datenpunkt setState(ZielDP, generateBatterySvg(dValue, decimalPlaces, labelSuffix, customLabel, showPercent, strongColors, colorScheme, showBolt, boltPos, blinkBolt), true);@maxtor62 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:
const ZielDP = '"0_userdata.0.vis.VIS-Batterie.Batt';
da ist ein Fehler drin. Korrekt wäre
const ZielDP = '0_userdata.0.vis.VIS-Batterie.Batt';Und der Datenpunkt (String / Zeichen) muss bereits existieren.
Ro75.
-
@maxtor62 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:
const ZielDP = '"0_userdata.0.vis.VIS-Batterie.Batt';
da ist ein Fehler drin. Korrekt wäre
const ZielDP = '0_userdata.0.vis.VIS-Batterie.Batt';Und der Datenpunkt (String / Zeichen) muss bereits existieren.
Ro75.
@ro75 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:
@maxtor62 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:
const ZielDP = '"0_userdata.0.vis.VIS-Batterie.Batt';
da ist ein Fehler drin. Korrekt wäre
const ZielDP = '0_userdata.0.vis.VIS-Batterie.Batt';Und der Datenpunkt (String / Zeichen) muss bereits existieren.
Ro75.
Sorry, das " war fehl am Platz. Läuft.:+1:
Danke Dir
-
@ro75 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:
@maxtor62 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:
const ZielDP = '"0_userdata.0.vis.VIS-Batterie.Batt';
da ist ein Fehler drin. Korrekt wäre
const ZielDP = '0_userdata.0.vis.VIS-Batterie.Batt';Und der Datenpunkt (String / Zeichen) muss bereits existieren.
Ro75.
Sorry, das " war fehl am Platz. Läuft.:+1:
Danke Dir
-
@maxtor62 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:
const ZielDP = '"0_userdata.0.vis.VIS-Batterie.Batt';
da ist ein Fehler drin. Korrekt wäre
const ZielDP = '0_userdata.0.vis.VIS-Batterie.Batt';Und der Datenpunkt (String / Zeichen) muss bereits existieren.
Ro75.
@ro75 Ich stoße auf einen Fehler, wenn ich ein SVG generiere mit "showBolt = true;".
XML-Verarbeitungsfehler: Präfix nicht an einen Namespace gebunden Adresse: file:///Z:/Dokumentationen/ioBroker/ro75_BattSymb2a.svg Zeile Nr. 49, Spalte 7: <use xlink:href="#boltSymbol-b-arf2f44" class="" transform="translate(184, 90) ------^ -
@ro75 Ich stoße auf einen Fehler, wenn ich ein SVG generiere mit "showBolt = true;".
XML-Verarbeitungsfehler: Präfix nicht an einen Namespace gebunden Adresse: file:///Z:/Dokumentationen/ioBroker/ro75_BattSymb2a.svg Zeile Nr. 49, Spalte 7: <use xlink:href="#boltSymbol-b-arf2f44" class="" transform="translate(184, 90) ------^ -
@rene55 funktioniert nur via Datenpunkt. Als Datei speichern und dann öffnen geht nicht, da bekomme ich auch nur Meldungen.
Zeige mal bitte den dazugehörigen Code, also den von der Funktion.Ro75.
-
Noch ne Frage: wie wird das Skript getriggert? Mein Datenpunkt hat sich geändert, das tolle Bild leider nicht.
Grüße -
@ro75 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:
@maxtor62 schaue bitte Post #20.
Ro75.
Ok, habe wie im Post #20 die Zeile
on({ id: dValue, change: 'ne' }, dp => { setState(ZielDP, generateBatterySvg(dp.state.val, decimalPlaces, labelSuffix, customLabel, showPercent, strongColors, colorScheme, showBolt, boltPos, blinkBolt), true); });noch eingebaut.
script.js.Test.Batterie: Error by subscription (trigger): Wrong ID of type boolean or number.Sorry, ich bin halt kein Coder.
-
@ro75 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:
@maxtor62 schaue bitte Post #20.
Ro75.
Ok, habe wie im Post #20 die Zeile
on({ id: dValue, change: 'ne' }, dp => { setState(ZielDP, generateBatterySvg(dp.state.val, decimalPlaces, labelSuffix, customLabel, showPercent, strongColors, colorScheme, showBolt, boltPos, blinkBolt), true); });noch eingebaut.
script.js.Test.Batterie: Error by subscription (trigger): Wrong ID of type boolean or number.Sorry, ich bin halt kein Coder.
-
@ro75
Das ist der richtige Datenpunkt. Sorry, ich kann das halt nicht.
Aber ist ok.
Danke -
Ich habe mal das Skript für das widget aus dem adapter jsontemplate umgesetzt
https://forum.iobroker.net/topic/31521/test-widget-json-template/33?_=1762980256778
Damit kann man dann ohne Datenpunkt, um das Bild zwischenzuspeichern, das Bild verwenden. Das Widget reagiert auch direkt auf veränderungen.
-
@rene55 funktioniert nur via Datenpunkt. Als Datei speichern und dann öffnen geht nicht, da bekomme ich auch nur Meldungen.
Zeige mal bitte den dazugehörigen Code, also den von der Funktion.Ro75.
@ro75 Ich habe das SVG in einem Datenpunkt abgelegt, und den Inhalt dann als Datei (.svg) gespeichert. Das konnte ich ohne Probleme im Firefox öffnen. Als ich in einem zweiten Versuch dann den Blitz eingeschaltet hatte, kam diese Meldung. Meintest du mit Code den SVG-Code?
Hierin habe ich auch ein "{1}" gesehen. Ist das so richtig?
-
@ro75 Ich habe das SVG in einem Datenpunkt abgelegt, und den Inhalt dann als Datei (.svg) gespeichert. Das konnte ich ohne Probleme im Firefox öffnen. Als ich in einem zweiten Versuch dann den Blitz eingeschaltet hatte, kam diese Meldung. Meintest du mit Code den SVG-Code?
Hierin habe ich auch ein "{1}" gesehen. Ist das so richtig?
-
@ro75 Mag sein. Mich wundert dann nur, dass es ohne Blitz geht! Hab halt aktuell keine VIS.
