NEWS
A-Tronix Wechselrichter
-
Hallo!
Hat es schon jemand geschafft die Daten des A-Tronix Wechselrichter auszulesen und in ioBroker zu bekommen?
Laut dem Vertrieb soll es seitens des Herstellers keine Infos geben um den Wechselrichter "Smart" zu bekommen.
Aber irgendwie muss das Ding seine Daten an die App bzw. Website senden. Wireshark hat mir leider auch nicht helfen können die Daten zu analysieren (oder ich bin zu dämlich Wireshark richtig zu nutzen).
Danke und Schöne Grüße
Mercy -
Hallo!
Hat es schon jemand geschafft die Daten des A-Tronix Wechselrichter auszulesen und in ioBroker zu bekommen?
Laut dem Vertrieb soll es seitens des Herstellers keine Infos geben um den Wechselrichter "Smart" zu bekommen.
Aber irgendwie muss das Ding seine Daten an die App bzw. Website senden. Wireshark hat mir leider auch nicht helfen können die Daten zu analysieren (oder ich bin zu dämlich Wireshark richtig zu nutzen).
Danke und Schöne Grüße
Mercy@mercyful-0 sagte in A-Tronix Wechselrichter:
die Daten des A-Tronix Wechselrichter auszulesen
was hat dieser n.n.b. Wechselrichter denn für Kommunikationsschnittstellen?
-
@homoran
Das ist eine gute Frage. Ich habe das Ding hier hängen und mehr weiß ich leider nicht. Ich habe versucht mit Wireshark heraus zu finden wohin das Ding telefoniert und welche Ports genutzt werden, aber Wireshark hat nichts herausgerückt.
Laut dem technischen Datenblatt soll die Kommunikation über CAN und/oder RS485 laufen, siehe Spoiler:
Der Wechselrichter ist zur Zeit mit einem WLAN Adapter versehen und wenn ich die IP angebe, kommt nur der Hinweis dass ich ein WLAN auswählen soll. In Netz meldet der sich mit Espressif.Inc, scheint als wäre da ein ESP8266 oder ähnliches verbaut für die Kommunikation. -
@homoran
Das ist eine gute Frage. Ich habe das Ding hier hängen und mehr weiß ich leider nicht. Ich habe versucht mit Wireshark heraus zu finden wohin das Ding telefoniert und welche Ports genutzt werden, aber Wireshark hat nichts herausgerückt.
Laut dem technischen Datenblatt soll die Kommunikation über CAN und/oder RS485 laufen, siehe Spoiler:
Der Wechselrichter ist zur Zeit mit einem WLAN Adapter versehen und wenn ich die IP angebe, kommt nur der Hinweis dass ich ein WLAN auswählen soll. In Netz meldet der sich mit Espressif.Inc, scheint als wäre da ein ESP8266 oder ähnliches verbaut für die Kommunikation.@mercyful-0 sagte in A-Tronix Wechselrichter:
siehe Spoiler:
da sehe ich nur einen Link, der ins Leere (404) geht.
bitte relevante Ausschnitte hier im Forum direkt lesbar posten.
Danke@mercyful-0 sagte in A-Tronix Wechselrichter:
mit einem WLAN Adapter versehen und wenn ich die IP angebe, kommt nur der Hinweis dass ich ein WLAN auswählen soll.
klingt nach einem Konfigurations-AP
Was steht denn dazu in der Anleitung?@mercyful-0 sagte in A-Tronix Wechselrichter:
soll die Kommunikation über CAN und/oder RS485 laufen,
könnte dann Modbus TCP sein.
-
@mercyful-0 sagte in A-Tronix Wechselrichter:
siehe Spoiler:
da sehe ich nur einen Link, der ins Leere (404) geht.
bitte relevante Ausschnitte hier im Forum direkt lesbar posten.
Danke@mercyful-0 sagte in A-Tronix Wechselrichter:
mit einem WLAN Adapter versehen und wenn ich die IP angebe, kommt nur der Hinweis dass ich ein WLAN auswählen soll.
klingt nach einem Konfigurations-AP
Was steht denn dazu in der Anleitung?@mercyful-0 sagte in A-Tronix Wechselrichter:
soll die Kommunikation über CAN und/oder RS485 laufen,
könnte dann Modbus TCP sein.
@homoran said in A-Tronix Wechselrichter:
@mercyful-0 sagte in A-Tronix Wechselrichter:
siehe Spoiler:
da sehe ich nur einen Link.
bitte relevante Ausschnitte hier im Forum direkt lesbar posten.
Danke
@mercyful-0 sagte in A-Tronix Wechselrichter:
mit einem WLAN Adapter versehen und wenn ich die IP angebe, kommt nur der Hinweis dass ich ein WLAN auswählen soll.
klingt nach einem Konfigurations-AP
Was steht denn dazu in der Anleitung?Nichts, nur dass darüber das WLAN konfiguriert wird, sprich SSID und PWD und wenn sich das WLAN PWD ändert,
muss das WLAN hierüber erneut verbunden werden.@mercyful-0 sagte in A-Tronix Wechselrichter:
soll die Kommunikation über CAN und/oder RS485 laufen,
könnte dann Modbus TCP sein.
Könnte sein, da bin ich nicht so wirklich fit drin was die Kommunikationsmodelle von Wechselrichtern angeht.
-
@mercyful-0 sagte in A-Tronix Wechselrichter:
siehe Spoiler:
da sehe ich nur einen Link, der ins Leere (404) geht.
bitte relevante Ausschnitte hier im Forum direkt lesbar posten.
Danke@mercyful-0 sagte in A-Tronix Wechselrichter:
mit einem WLAN Adapter versehen und wenn ich die IP angebe, kommt nur der Hinweis dass ich ein WLAN auswählen soll.
klingt nach einem Konfigurations-AP
Was steht denn dazu in der Anleitung?@mercyful-0 sagte in A-Tronix Wechselrichter:
soll die Kommunikation über CAN und/oder RS485 laufen,
könnte dann Modbus TCP sein.
@homoran
Ich habe mich mal bei dem Hersteller auf der Web Seite umgesehen und dort gibt es einen Belegungsplan für die Kommunikationsschnittstellen für den Wechselrichter. Ich habe mal eine Grafik in den Spoiler gelegt
Wenn ich das bei meinem Wechselrichter richtig sehe, dann ist Meter und BMS verdrahtet und die DRED und COM scheinen frei zu sein. Evtl. kann da etwas abgegriffen werden.
Interessant finde ich diesen Hinweis:
Daraus würde ich schließen dass ich über LAN oder WLAN die benötigten Daten abgreifen können soll.
Wenn ich jedoch die IP des Wechselrichters aufrufe, dann kommt lediglich eine Seite in der ich ein WLAN angeben kann mit dem sich der Wechselrichter verbinden soll.
Allerdings gehe ich hier nur über Port 80, ich habe mal angefangen andere Ports zu nehmen, aber da bekomme ich keine
Daten, nur Webseite ist nicht erreichbar.
Evtl. wäre das ein Anhaltspunkt? -
@homoran
Ich habe mich mal bei dem Hersteller auf der Web Seite umgesehen und dort gibt es einen Belegungsplan für die Kommunikationsschnittstellen für den Wechselrichter. Ich habe mal eine Grafik in den Spoiler gelegt
Wenn ich das bei meinem Wechselrichter richtig sehe, dann ist Meter und BMS verdrahtet und die DRED und COM scheinen frei zu sein. Evtl. kann da etwas abgegriffen werden.
Interessant finde ich diesen Hinweis:
Daraus würde ich schließen dass ich über LAN oder WLAN die benötigten Daten abgreifen können soll.
Wenn ich jedoch die IP des Wechselrichters aufrufe, dann kommt lediglich eine Seite in der ich ein WLAN angeben kann mit dem sich der Wechselrichter verbinden soll.
Allerdings gehe ich hier nur über Port 80, ich habe mal angefangen andere Ports zu nehmen, aber da bekomme ich keine
Daten, nur Webseite ist nicht erreichbar.
Evtl. wäre das ein Anhaltspunkt?@mercyful-0 sagte in A-Tronix Wechselrichter:
dann kommt lediglich eine Seite in der ich ein WLAN angeben kann mit dem sich der Wechselrichter verbinden soll.
dann ist das der Accesspoint über den du den WR erst in dei Netz lassen musst
-
@mercyful-0 sagte in A-Tronix Wechselrichter:
dann kommt lediglich eine Seite in der ich ein WLAN angeben kann mit dem sich der Wechselrichter verbinden soll.
dann ist das der Accesspoint über den du den WR erst in dei Netz lassen musst
@homoran
Das habe ich ja bei der Inbetriebnahme getan, ich sehe den auch in der WLAN Übersicht.
Leider finde ich im Moment keine Möglichkeit an die Daten zu kommen :-( -
Soweit ich das sehe, kommen Sunways und Atronix vom selben Fliessband und sind auch mit dem M-Tec Energy Butler verwandt. Für den ist die Vorgehensweise hier im Forum schon beschrieben:
https://forum.iobroker.net/post/1026733 -
Soweit ich das sehe, kommen Sunways und Atronix vom selben Fliessband und sind auch mit dem M-Tec Energy Butler verwandt. Für den ist die Vorgehensweise hier im Forum schon beschrieben:
https://forum.iobroker.net/post/1026733@andreas-h said in A-Tronix Wechselrichter:
Soweit ich das sehe, kommen Sunways und Atronix vom selben Fliessband und sind auch mit dem M-Tec Energy Butler verwandt. Für den ist die Vorgehensweise hier im Forum schon beschrieben:
https://forum.iobroker.net/post/1026733Danke für die Info! Da werde ich mich mal einklinken, lesen und hoffentlich verstehen.
-
@andreas-h said in A-Tronix Wechselrichter:
Soweit ich das sehe, kommen Sunways und Atronix vom selben Fliessband und sind auch mit dem M-Tec Energy Butler verwandt. Für den ist die Vorgehensweise hier im Forum schon beschrieben:
https://forum.iobroker.net/post/1026733Danke für die Info! Da werde ich mich mal einklinken, lesen und hoffentlich verstehen.
@mercyful-0
Moin,
Da ich auch einen A-Tronix Wechselrichter anschaffen möchte, ist Frage, ob du mittlerweile erfolgreich warst?Schönen Abend
-
Moin,
ist zwar schon ne weile her aber ich hatte mir da was selber gebastelt.
Die Daten lokal abzugreifen war mir nicht möglich vor allem, weil ich keine extra Hardware verbastelten wollt (RS485-->TCP).Ich habe meinen ioBroker als Container auf meiner Synology zu laufen. Und habe mich als Lösung für einen Web Scraper entschieden also hab ich mir einen Selenium Container hinzugefügt. Dieser nutzt wie der iobroker MAC VLAN. Hier die yaml von meinem Portainer:
version: '3.7' name: selenium-standalone-chrome services: python: container_name: selenium-standalone-chrome hostname: chrome image: selenium/standalone-chrome dns: - '192.168.100.1' networks: vlan: ipv4_address: "192.168.100.71" environment: - SE_START_XVFB=true - SE_BROWSER_ARGS_DISABLE_DSHM=--disable-dev-shm-usage networks: vlan: external: true name: vlanZum Schluss noch nen kleines JS Skript das die Daten alle 15 min vom Web abgreift.
Nicht vergessen den "selenium-webdriver" in die JS Module zu packen und die Datenpunkte anzulegen.const { Builder, By, until } = require('selenium-webdriver'); const chrome = require('selenium-webdriver/chrome'); const password = 'put-your-password-here'; const email = 'put-your-email-here'; //0 = off //1 = debug //2 = all let mylogging = 1; // for debug selenium http://192.168.100.71:7900/ pw: secret let options = new chrome.Options(); options.addArguments('--window-size=1920,1080'); options.addArguments('--no-sandbox'); // Wichtig für Linux/Docker options.addArguments('--disable-dev-shm-usage'); // Verhindert Abstürze durch Speichermangel async function run() { let driver = await new Builder() .forBrowser('chrome') .setChromeOptions(options) .usingServer('http://192.168.100.71:4444') .build(); try { await driver.get("https://www.st-ems.com/login"); mylogging === 2 && console.log('page loaded'); // Login await driver.findElement(By.id('normal_login_email')).sendKeys(email); await driver.findElement(By.id('normal_login_password')).sendKeys(password); await driver.findElement(By.xpath('//*[@id="normal_login"]/div[3]/div/div/div/div/button')).click(); mylogging === 2 && console.log('login triggered'); await driver.sleep(5000); // Navigation zur Detailseite await driver.findElement(By.xpath('//table/tbody/tr[2]/td[2]/a')).click(); await driver.sleep(5000); mylogging === 2 && console.log('moved to sub page'); // Daten auslesen let soc = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[2]/div/div/div/div[1]/div[2]/div[1]/div/div/div/span')).getText() setState('0_userdata.0.power_mgnt.PV1.soc',parseInt(soc.slice(0, -1)),true); let batt_power = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[2]/div/div/div/div[1]/div[2]/span/span[1]')).getText() let batt_power_unit = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[2]/div/div/div/div[1]/div[2]/span/span[2]')).getText() setState('0_userdata.0.power_mgnt.PV1.batt_power',batt_power_unit!='W' ? parseFloat(batt_power) * 1000 : parseFloat(batt_power),true); let sol_power = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[2]/div/div/div/div[1]/div[1]/div[1]/span/span[1]')).getText() let sol_power_unit = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[2]/div/div/div/div[1]/div[1]/div[1]/span/span[2]')).getText() setState('0_userdata.0.power_mgnt.PV1.sol_power',sol_power_unit!='W' ? parseFloat(sol_power) * 1000 : parseFloat(sol_power),true); let power_today = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[1]/div[2]/div/div/div/div/div/div[2]/div/div/div/div[1]/div/div[1]/span')).getText() let power_today_unit = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[1]/div[2]/div/div/div/div/div/div[2]/div/div/div/div[1]/div/div[2]')).getText() setState('0_userdata.0.power_mgnt.PV1.power_today',power_today_unit.toLowerCase().includes('kwh') ? parseFloat(power_today) * 1000 : parseFloat(power_today),true); let needed_power = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[2]/div/div/div/div[5]/div[1]/div[1]/span[1]/span[1]')).getText() let needed_power_unit = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[2]/div/div/div/div[5]/div[1]/div[1]/span[1]/span[2]')).getText() setState('0_userdata.0.power_mgnt.PV1.needed_power',needed_power_unit!='W' ? parseFloat(needed_power) * 1000 : parseFloat(needed_power),true); mylogging >= 1 && console.log('fetched all values, done'); } catch (e) { console.error(e); } finally { await driver.quit(); } } schedule("0 */15 8-23 * * *", async function () { run(); });
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
