[Modul BETA] Hoymiles Modulwechselrichter mit OpenDTU

So, in OpenDTU scheint alles zu laufen

Wo stelle ich die IP in Symcon ein? In der Variable selber? Benutzer und Pass von OpenDTU ist richtig.

In OpenDTU war MQTT noch nicht aktiviert, muss aber auf morgen warten, da der WR aktuell aus ist und keine Daten kommen.

Halt dich am besten mal die folgenden Schritte der Dokumentation:
4. Einrichtung in IP-Symcon

5. Einrichtung in OpenDTU

Moin, ich bekomme die Verbindung nicht aufgebaut. Benutzer und Passwort vom MQTT-Server sind identisch, der DTU-Configurator findet nichts. Live-Daten wird von OpenDtu empfangen. Port 1024 in der FritzBox freigegeben.


Hab den Port auf 1883 geändert

Deine Angaben sind leider sehr konfus.

Als erstes solltest du mal die Portweiterleitung in der FritzBox deaktivieren - das ist ein Sicherheitsrisiko. Oder befindet sich deine DTU und dein Symcon/MQTT-Broker in unterschiedlichen Netzen?

In der OpenDTU musst du (wie in der verlinkten Doku beschrieben) das Passwort und den Benutzernamen des MQTT-Servers!!! eintragen (wenn du den Symcon-MQTT-Server verwendest, siehts du diese in der entsprechenden Instanzkonfiguration, standardmäßig sind keine vergeben). Es geht hier nicht! um die Zugangsdaten, die in der OpenDTU-Splitter-Instanz einzutragen sind (dies wären die Zugangsdaten der OpenDTU, aber das ist hier unerheblich und wird nur für den automatischen Reconnect verwendet).

1 „Gefällt mir“

Ich habe in Symcon im MQTT-Server ein Passwort eingegeben und idas gleiche Pass n OpenDTU bei MQTT eingetragen, nicht die Zugangsdaten von der OpenDTU. I ch hab die Anleitung jetzt schon mind 20mal gelesen, aber irgendetwas scheint noch falsch zu sein.

Auf jeden Fall kann die OpenDTU keine Verbindung mit deinem MQTT-Serve herstellen, da muss also noch irgendwo ein Fehler in deiner Konfiguration (vermutlich Port, Passwort, Benutzer, IP) sein.
Mach ein ein Bild deiner physikalischen Baumansicht, das sollte etwa so aussehen:

Server Socket, Mqtt-Server und Mqtt-Config sind bei mir verteilt?

Bitte aufmerksamer lesen: physikalische Baumansicht

1 „Gefällt mir“

Du meinst ohne Filter? Hab nochmal komplett alles gelöscht und über den Module Store neu installiert.

Nein, die physikalische Baumansicht. Du zeigst immer die Listen-Ansicht.
In der Tab-Leiste auf + Klicken und das auswählen:

1 „Gefällt mir“

Ok, das sieht richtig aus. Jetzt mal ein Screenshot von der MQTT-Server Instanzkonfiguration

1 „Gefällt mir“

Vielleicht interessant, aber in OpenDTU habe ich auch Meldungen in der Konsole

Vielleicht eine andere Firmware flashen?

In deinen vorherigen Screenshots von der OpenDTU-Website hattest du noch Port 1024. In Symcon 1883. Hattest du das zwischenzeitlich geändert?

Kannst du das ganze mal ohne Benutzer/Passwort in OpenDTU und MQTT-Server ausprobieren?

1 „Gefällt mir“

Ja, hatte auf 1883 geändert. Habe Benutzer und Passwort auf beiden Seiten herausgenommen, scheint aber keinen Unterscheid zu machen.

Dank hirchbrat konnte der Fehler gefunden werden.

Sollte Symcon in Docker laufen, dann muss zwingend der Port für den MQTT-Server dort freigegeben werden. Für die Profis sicherlich selbstverständlich, für den Ein oder Anderen aber eine nützliche Information.

Wieder ein Grund warum ich die Symbox mag.
Ich glaub die hat mir schon Wochen an Zeit gespart da ich auch garantiert dauernd an irgendeinem Port Zeug mit Docker scheitern würde.
Finde es super dass es für Docker geht, nur hab da zu wenig Ahnung von :slight_smile:

Derweil hoffe ich bald mal meinen Hoymiles in Betrieb zu nehmen auch wenn zur Zeit kaum was kommt von oben.

Cheers Seppm

Hallo,

ist der Code noch aktuell?

openDtuReboot('192.168.XXX.XXX', 'admin', 'openDTU42');

function openDtuReboot($ip, $user, $password)
{
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $ip.'/api/maintenance/reboot');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "data={\"reboot\":true}" );
    curl_setopt($ch, CURLOPT_USERPWD, $user . ':' . $password);

    $headers = array();
    $headers[] = 'Content-Type: application/x-www-form-urlencoded';
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

    $result = curl_exec($ch);
    if (curl_errno($ch)) {
        die('Error:' . curl_error($ch));
    }

    $statusCode = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
    curl_close($ch);

    if ($statusCode != 200)
    {
        die('Response Code: '.$statusCode);
    }
        
    echo $result;
}

Bekomme damit nur „Response Code: 409“ als Ausgabe, aber die DTU startet nicht neu.

PS: Kleiner Tippfehler von mir, Script geht noch. :wink:

Diese Funktionalität ist inzwischen direkt in der OpenDTU Splitter-Instanz verfügbar.
Ist denn das Webinterface der OpenDTU noch korrekt erreichbar, wenn dieser Fehler auftritt?

Ich hatte es bisher 1x das OpenDTU keine Daten mehr sendete, obwohl OpenDTU erreichbar war. Habe es jetzt so gemacht, wenn die Variablen 1 Stunde nicht aktualisiert wurden sind und die beiden Wechselrichter angeschaltet sind, dass er OpenDTU neustartet. Mal schauen ob es klappt.