NEWS
Wert in HTML Datei schreiben
-
Hallo zusammen,
ich habe eine kleine Herausforderung:
Meine PV-Anlage / Wechselrichter lese ich mit dem Projekt Solaranzeige.de aus, die Daten von Solaranzeige.de greife ich per MQTT ab und binde diese in den ioBroker ein - soweit top!Ich würde nun gerne einen Wert (aktuelle AC-Leistung, int positive ganze Zahl) in eine HTML-Datei schreiben, um diese an meine Wallbox-Steuerung (openWB) zu übergeben.
Die openWB Steuerung greift dann quasi den Wert der HTML Datei ab und kennt damit die Generatorleistung und kann daraus den maximalen Ladestrom ableiten.
Funktioniert das mit Blockly oder ist das "MIst"?
Danke und Gruß,
Moritz -
@dasmoritz said in Wert in HTML Datei schreiben:
openWB
Hallo, ich nutze weder Solaranzeige noch openWB aber es scheint dafür schon Lösungen zu geben:
https://forum.iobroker.net/topic/43655/wallbox-pv-mit-openwb-in-iobroker-einbinden -
Hallo @Ahnungsbefreit ,
das ist leider nicht ganz das was ich benötige bzw. geht in die falsche Richtung.
Im Link von dir werden die Werte von der openWB --> ioBroker geschrieben.
Ich möchte aber einen Wert vom ioBroker --> openWB schreiben bzw. die openWB soll diesen im ioBroker abrufen (daher die Idee mit der HTML Datei, die kann ich nämlich so hinterlegen). -
@dasmoritz Ok, dafür bräuchte man mehr Details über den Aufbau der HTML Datei. Aber nach kurzer Google/Forum Recherche sieht es so aus, als ob openWB per MQTT steuerbar wäre. Dafür gibt es ja einen Adapter. Hast Du Dir das mal angeschaut?
-
Und eigentlich klingt das auch eher seltsam, über eine HTML Datei etwas zu steuern. Meinst Du damit, die Eingaben in eine HTML Website zu simulieren, die man sonst manuell macht?
-
erstmal Danke dir, dass du dich dem so annimmst.
Ich dachte das Schreiben einer HTML Datei (die echt nur die Zahl enthält, so gibt es openWB vor) wäre am einfachsten. Ich habe gerade exemplarisch mal auf meinem NAS eine HTML Datei mit dem Wert 5000 angelegt, openWB liest diese ein und stellt dar, dass gerade 5000W von der PV-Anlage kommen - das funktioniert.
Daher war meine Idee: Einfach den Wert alle 10 Sekunden in die Datei schreiben.
Ich finde im Netz diverse Anleitungen wie ich openWB auslesen kann (per MQTT), aber leider nichts wie ich einen Wert in Richtung openWB schreiben kann.
-
@dasmoritz Na wenn Du weißt, wie Du die Daten ausliest und auch weißt, wie Du die HTML Datei schreibst, was hindert Dich daran dies alle 10 Sekunden zu tun?
Dann schreibst halt statt 5000 diesen Wert in die Datei? -
@mickym said in Wert in HTML Datei schreiben:
@dasmoritz Na wenn Du weißt, wie Du die Daten ausliest und auch weißt, wie Du die HTML Datei schreibst, was hindert Dich daran dies alle 10 Sekunden zu tun?
Dann schreibst halt statt 5000 diesen Wert in die Datei?Hi,
genau das schreiben in eine HTML Datei bereitet mir Schwierigkeiten.
-
@dasmoritz Na aber die 5000 konntest Du doch auch schreiben?
-
@dasmoritz ok, dann poste doch bitte mal hier in CodeTags </> die HTML Datei!
-
@mickym sagte in Wert in HTML Datei schreiben:
@dasmoritz Na aber die 5000 konntest Du doch auch schreiben?
ich vermute, dass er die Datei mit der 5000 händisch ohne iobroker angelegt hatte
-
Moin,
ja, genau so ist es: Editor: 5000 eingetragen, Speichern unter --> pvwatt.html --> Fertig.
Dann in openWB den Pfad auf mein NAS angegeben: 192.168.178.5/pvwatt.hmtl --> Fertig. -
Na gut - dann müsst ihr wohl ran, weil @DasMoritz sicher mit Blockly lösen will.
- und das ist ja nicht mein bevorzugtes Tool.
Aber ich denke ich, da hier keine Formatierung und nichts von Nöten ist sondern nur einen Zahlenwert in eine Datei zu schreiben, ist das für Euch in max. einer Minute zusammengeklickt.
@DasMoritz
Aber es wäre sicher hilfreich, wenn Du den Code zur Verfügung stellst, wie Du den Zahlenwert ausliest. Also konkretes MQTT Topic bzw. den Datenpunkt im iobroker (falls über den MQTT Adapter) und ggf. den Zahlenwert extrahiert.wie gesagt ich kann Dir im Blockly schlecht helfen - aber wenn Du den Input da noch reinpfrimelst - könnte es vielleicht so aussehen. Aber das können andere besser
Du müsstest halt nur in diese Variable 'Solaranzeige' Deinen extrahierten Zahlenwert rein schreiben. Ggf. noch irgendwelche Abbruchbedingungen einfügen, da das Teil ja unendlich läuft.
Aber wie gesagt ich kann kein Blockly schreibenund weiß nicht, ob es einfachere Wege gibt in eine Datei zu schreiben.
-
@dasmoritz sagte in Wert in HTML Datei schreiben:
Editor: 5000 eingetragen, Speichern unter --> pvwatt.html --> Fertig.
sonst nix?
kein Header und keine Formatierung? -
Sonst nichts
Gar nichts.Ich schaue mir das gleich mal von mickym an.
Danke euch allen, das ist wieder grandios hier!
-
@dasmoritz Wie gesagt ich bin kein Blockly Programmierer und weiß nicht, ob es da auch ein Baustein für Datei schreiben gibt, zumindest ich habe sowas nicht gefunden. Sonst kann man das sicher noch mit JS lösen, das Du im Blockly als Funktion aufrufen kannst.
Nur mit dem Wert da ist mir halt Blockly eingefallen. Du kannst das ganze ja auf der Kommandozeile testen (musst halt vorher ggf. über die ssh Schlüssel dem user iobroker die entsprechenden Rechte auf Deinem NAS erteilen).
Du kannst das ja einfach testen, indem Du den Befehl unter dem user iobroker auf der Kommandozeile ausprobierst:
sudo -su iobroker echo 5000 >> 192.168.178.5/pvwatt.hmtl
Aber wie gesagt da müssen Dir die Linux und Blockly Fachleute helfen. Ich bin hier mit meiner Weisheit am Ende.
-
@dasmoritz also ist es eigentlich nicht wirklich eine HTML-Datei, sondern eine einfache Textdatei. Dann sollte das Blockly von mickym es eigentlich tun. Allerdings würde ich statt "Ausführen Intervall" das in einen CRON Trigger packen:
Und überlege Dir bitte nochmal, ob das wirklich rund um die Uhr alle 10 Sekunden passieren muss. Das erzeugt viel Last...
-
also so sieht das Script aktuell aus:
Ich denke mein Problem liegt momentan noch in den fehlenden Berechtigungen, sprich: Der iobroker darf nicht auf meinem NAS einfach irgendwie schreiben.
Vermutlich muss ich dafür auf dem NAS einen User anlegen (User: iobroker) mit Kennwort (gute Frage)?!
Die Optimierung kommt später
In der Theorie brauch das Script auch nur laufen, wenn kein Kabel angeschlossen ist (kann ich aus openWB auslesen). -
@dasmoritz mach noch ein Leerzeichen nach "echo"!
-
Ist aktualisiert: