NEWS
Voraussetzungen Installation systeminfo Adapter
-
@hru Anzeigen der Versionen
npm -v node -v nodejs -v
-
-
-
Hallo @mcu
vielen Dank für den Link.
Es gibt tatsächlich bereits ein Issue für den Fehler, und einige andere haben den auch.Dann muss ich wohl warten, bis der bzw. die Entwickler sich darum gekümmert haben.
Danke und Gruß
Hartmut
-
@hru
Evtl. ein anderer Ansatz, abseits vom Systeminfo-Adapter.
Wenn ich Deinen oben verlinkten Post einbeziehe möchtest Du ja nur die JSON-Datei aus einer URL in den iobroker holen und anschließend evtl. weiterverarbeiten.Ich würde es daher mal mit einem Script/Blockly (je nach installierter Javascript-Instanz) probieren.
Schau mal was Du im Log eine Rückmeldung bekommst. Dann könnte damit ja weitergearbeitet werden, entweder direkt im Blockly zerlegen oder über Aliase.
-
@mcu said in Voraussetzungen Installation systeminfo Adapter:
Da musst du direkt den Entwickler fragen @mcm57
Weiss nicht warum du anscheinend den Eindruck hast ich betreue den Adapter.
Ich habe den systeminfo Adapter nicht geschrieben und zumindest derzeit auch nicht die Zeit etwas dran zu tun.
Sorry mcm1957
-
@mcm57 Ok, dachte das mcm57 für mcm1957 steht, da mcm1957 nicht verfügbar in den ioBroker-Usern, sorry.
-
@hru Warum machst du jetzt den 4.(??) Thread zu diesem Thema auf.
Wer soll denn den Überblick behalten wenn in den verschiedenen Threads unterschiedliche Antworten kommen?
-
@mcu said in Voraussetzungen Installation systeminfo Adapter:
@mcm57 Ok, dachte das mcm57 für mcm1957 steht, da mcm1957 nicht verfügbar in den ioBroker-Usern, sorry.
Ja bin beide ich - das stimmt schon
-
@homoran said in Voraussetzungen Installation systeminfo Adapter:
@hru Warum machst du jetzt den 4.(??) Thread zu diesem Thema auf.
Wer soll denn den Überblick behalten wenn in den verschiedenen Threads unterschiedliche Antworten kommen?
Ja, Du hast schon Recht, dass es mir letztendlich in den verschiedenen Threads um das gleiche Thema (JSON aus AC ELWA 2) geht.
Im Detail verfolge ich aber immer neue Ansätze, bei denen ich um Unterstützung geben habe.
Ich biete gerne an am Ende (wenn ich das JSON ausgelesen bekommen habe) eine entsprechende Anleitung zu schreiben.
Sozusagen als Zusammenfassung der gewonnen Erkenntnisse.
Sorry für das Chaos.
Gruß Hartmut
Nachtrag:
Hier die angekündigteZusammenfassung:
Howto Auslesen JSON der AC ELWA2
Bitte verschieben, falls ich das falsche Unterforum erwischt habe. -
@wolfi913 said in Voraussetzungen Installation systeminfo Adapter:
@hru
Evtl. ein anderer Ansatz, abseits vom Systeminfo-Adapter.
Wenn ich Deinen oben verlinkten Post einbeziehe möchtest Du ja nur die JSON-Datei aus einer URL in den iobroker holen und anschließend evtl. weiterverarbeiten.Ich würde es daher mal mit einem Script/Blockly (je nach installierter Javascript-Instanz) probieren.
Schau mal was Du im Log eine Rückmeldung bekommst. Dann könnte damit ja weitergearbeitet werden, entweder direkt im Blockly zerlegen oder über Aliase.
Hallo Wolfi913,
danke für den Tipp.
Habe Blockly jetzt installiert und spiele damit herum.
Unter "Aktionen" habe ich den Baustein "Request URL".
Wo ist der Baustein "HTTP GET" versteckt?
Bzw. wie finde ich heraus was ich für eine Version von javascript installiert habe und wie aktualisiere ich diese?Danke vorab für Deine Unterstützung.
Gruß Hartmut
-
@hru
Wenn Du den neuen Baustein noch nicht hast bist Du auf der 7.8er Version des javascript-Adapters, der ist momentan im stabel. Den oberen Block gibt's erst ab der 7.9er Version. Die ist z. Zt. nur über latest über npm zu installieren.Also so verwenden wie im unteren Block.
Dazu musst Du aber eine Variable über "Variable erstellen" mit dem Namenresult
manuell anlegen.
Und dann mal schauen was unten im Log zurückgemeldet wird wenn Du das Script startest. -
Hallo @wolfi913
Ja das habe ich schon hinbekommen. Danke.
Da ist das JSON zu sehen.Ich bin jetzt auf der Suche nach dem passen Puzzlestein der den "Debug Output" Baustein ablöst.
Da scheint es ja auch schon fertige JSON-Konvertierungs-Logiken zu geben. -
@hru
Du könntest das JSON entweder direkt im Blockly zerlegen, [Edit:]würde mit der neuen Version des javascript-Adapters dann deutlich einfacher funktionieren. Da gibt's jetzt extra spezielle Blöcke. Mit der bei dir momentan installierten Version müsste esmit dem Block JSONata-Ausdruck bei den Konvertierungenaber auch klappen.
Eine andere Variante wäre das JSON komplett in einen Datenpunkt zu schreiben und von dort die gewünschten Teile über einen Alias über die Lesekonvertierung weiterzuverwenden.
Und damit das regelmäßig aktualisiert wird müsstest Du das ganze natürlich noch in einen Zeitplan-Trigger packen und dort einstellen wie oft das JSON geholt werden soll. -
@wolfi913
Vielen Dank für Deine Hilfe.
Da habe ich erstmal Futter;-)
Ich melde mich, wenn ich Ergebnisse habe.
Gute Nacht;-) -
@hru
Kopier evtl. mal das JSON aus dem Log{...}
und stell's mal in Codetags </> rein. Wenn der Aufbau des JSON klar ist kann Dir sicher jemand weiterhelfen wie der Aufbau ausschauen müsste, damit Du die Werte extrahieren kannst. -
@wolfi913
Ich habe jetzt mal ein paar Werte rausgeholt
Diese Werte kommen jetzt im Debug raus.
Wie schreibe ich die Werte weg?
(Ziel soll letztendlich das schreiben in eine Influx DB sein)Das komplette JSON sieht so aus.
{ "device":"AC ELWA 2", "fwversion":"e0000901", "psversion":"ep105", "coversion":"ec103", "fsetup":0, "p1_s":240, "p1_v":"0000500", "p2_s":240, "p2_v":"0000901", "p_co_s":240, "p_co_v":"ec103", "p_ps_s":240, "p_ps_v":"ep105", "power_system":null, "screen_mode_flag":0, "power_elwa2":0, "power_solar":0, "power_grid":0, "power1_solar":0, "power1_grid":0, "power2_solar":0, "power2_grid":0, "power3_solar":0, "power3_grid":0, "rel1_out":0, "rel_selv":0, "temp1":481, "temp2":0, "boostactive":0, "legboostnext":"null", "date":"12.05.24", "loctime":"01:11:40", "unixtime":1715469100, "uptime":421, "ctrlstate":"Conn. to Adj.Modbus. P=3", "blockactive":0, "meter1_id":null, "meter1_ip":"null", "meter2_id":null, "meter2_ip":"null", "meter3_id":null, "meter3_ip":"null", "meter4_id":null, "meter4_ip":"null", "meter5_id":null, "meter5_ip":"null", "meter6_id":null, "meter6_ip":"null", "meter_ss":null, "meter_ssid":"null", "surplus":-3, "m0sum":-3, "m0l1":null, "m0l2":null, "m0l3":null, "m0bat":null, "m1sum":null, "m1l1":null, "m1l2":null, "m1l3":null, "m1devstate":null, "m2sum":null, "m2l1":null, "m2l2":null, "m2l3":null, "m2soc":null, "m2state":null, "m2devstate":null, "m3sum":null, "m3l1":null, "m3l2":null, "m3l3":null, "m3soc":null, "m3devstate":null, "m4sum":null, "m4l1":null, "m4l2":null, "m4l3":null, "m4devstate":null, "ecarstate":"null", "ecarboostctr":null, "mss2":"null", "mss3":"null", "mss4":"null", "mss5":"null", "mss6":"null", "mss7":"null", "mss8":"null", "mss9":"null", "mss10":"null", "mss11":"null", "volt_mains":227, "volt_aux":5, "freq":50032, "temp_ps":307, "fan_speed":0, "ps_state":0, "ctrl_errors":0, "warnings":0, "fwversionlatest":"e0000901", "coversionlatest":"ec103", "psversionlatest":"ep106", "upd_state":0, "ps_upd_state":1, "co_upd_state":0, "cur_eth_mode":0, "wifi_signal":0, "wifi_list":[{"ssid":"","signal":0},{"ssid":"","signal":0},{"ssid":"","signal":0},{"ssid":"","signal":0},{"ssid":"","signal":0},{"ssid":"","signal":0},{"ssid":"","signal":0},{"ssid":"","signal":0},{"ssid":"","signal":0},{"ssid":"","signal":0},{"ssid":"","signal":0},{"ssid":"","signal":0},{"ssid":"","signal":0},{"ssid":"","signal":0},{"ssid":"","signal":0},{"ssid":"","signal":0}], "cur_ip":"192.168.178.43", "cur_sn":"255.255.255.0", "cur_gw":"192.168.178.1", "cur_dns":"192.168.178.1", "cloudstate":4, "debug_ip":"0.0.0.0" }
Ich werde aber nicht alle Keys/Values benötigen, denke ich.
-
@hru
So würde das Extrahieren z.B. gehen.
Liefert hier den Wert fürp1_s
zurück
Anstelle desdebug output
dann einfach in einen selbst erstellten Datenpunkt unter 0_userdata.0 speichern.
-
@wolfi913
Vielen Dank.
Ich werde das dann morgen mal versuchen.
Für heute soll es mal reichen;-)
Gute Nacht. -
@wolfi913 sagte in Voraussetzungen Installation systeminfo Adapter:
@hru
Du könntest das JSON entweder direkt im Blockly zerlegen, würde mit der neuen Version des javascript-Adapters dann deutlich einfacher funktionieren. Da gibt's jetzt extra spezielle Blöcke.Die neuen Blöcke sind dafür da, um neue Objekte zu erstellen oder welche zu verändern. JSON parsen und Attribute extrahieren geht schon ewig mit Blockly.