Grott-Docker: Probleme mit Pfad bzw. MQTT IP

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Jim_OS

Benutzer
Sehr erfahren
Registriert
05. Nov. 2015
Beiträge
5.260
Reaktionspunkte
2.523
Punkte
259
Hallo Docker Spezialisten, :D

ich beiße mir gerade die Zähne daran aus die Docker Version von Grott auf meiner DS zu installieren. Dazu habe ich folgendes Docker Image verwendet: https://registry.hub.docker.com/r/ledidobe/grott

Im Anschluss muss noch die entsprechend angepasste grott.ini hinzugefügt werden und nach allen möglichen Versuchen verzweifle ich gerade an meinem Grundverständnis vom Docker bei der DS. Was allerdings auch daran liegt das ich außer ioBroker und Home Assistant noch nie etwas per Docker auf der DS installiert habe. :LOL:

Eine bzw. ggf. zwei Fragen gilt es zu klären:
1. Wo genau befindet sich die grott.ini, bzw. wohin muss diese kopiert werden?
/volume1/docker/
/volume1/@Docker/
/user/local/bin
???

2. Nach meinem Verständnis müsste das Image als host und nicht als bridge bzgl. Netzwerk installiert werden, da ich ja MQTT Daten an meinen Mosquitto broker im LAN senden will. Richtig?

Docker_Netzwerk.png

Die geänderte grott.ini sieht dann z.B. so aus.
Code:
[Growatt]
# Server name/IP address and port of Growatt server
# specify only if the IP address of server.growatt.com is changed
# The address as of Nov 2022 is 47.91.67.66

ip = server.growatt.com
#ip = 47.91.67.66
#port = 5279                                                      

[MQTT]
# Mqtt parameters definitions
# Be aware nomqtt = True means no MQTT processing will be done!!!!!!

nomqtt = False
ip = 192.168.178.100
port = 1883
topic= energy/growatt
auth = True
user = MQTT_User
password = MQTT_Password
Sprich die IP 192.168.178.100 und die Daten für meinen Mosquitto broker im LAN sind eingetragen. Das Problem ist nur das trotzdem weiterhin statt der IP der localhost benutzt wird.

Docker_Protokoll.png

Ergo die geänderte grott.ini wird entweder nicht genutzt, oder es gibt ein Netzwerkproblem.

Auch wenn Grott hier wohl von kaum einen User benutzt wird, :LOL: geht es ja doch eher um die Grundeinrichtung des/eines Dockers. Daher hoffe ich das jemand weiß wo mein(e) Fehler liegt/liegen.


PS: Per LXC unter Proxmox funktioniert das Grott Docker Image bei mir, aber da wird per git clone https://github.com/johanmeijer/grott ja auch die Ordnerstruktur übernommen, sodass Grott dann unter /home/USER/grott/ zu finden ist und einfach nur die geänderte grott.ini in den Ordner /grott kopiert werden muss.

VG Jim
 
Zuletzt bearbeitet:
Ich habe mir gerade mal die Anleitung angeschaut, hier solltest du fündig werden.
Einfach eine Umgebungsvariable im Sinne von -v /volume1/docker/grott/grott.ini:/app/grott.ini anlegen und das ganze sollte funktionieren.

Edit: @alexhell war schneller.
 
  • Like
Reaktionen: Jim_OS
Sehe ich auch so.
 
volume1/docker/grott.ini:/app/grott.ini
Danke Euch für die schnelle Reaktion. (y) Das volume1/docker/grott.in hatte ich schon gemountet allerdings ohne volume1/docker/grott.ini:/app/grott.ini

Das könnte es ggf. schon gewesen sein. Werde ich gleich mal testen. :)

VG Jim
 
Jetzt muss ich doch noch nachfragen. Unter Volume1 gibt es bei mir den Ordner docker. Darunter jetzt den Ordner grott. In den Ordner grott habe ich die grott.ini abgelegt.

Wo und wie muss ich das jetzt mounten?

Das hier hatte ich bisher gemacht weil ich angenommen hatte das sich das Docker Image dann bei der Install. dahin kopiert.

Docker_Mount.png


King3R schrieb ja Umgebungsvariable, also hier

Docker_Erweitert.png
den PATH mit -v /volume1/docker/grott/grott.ini:/app/grott.ini anlegen?
Edit: Ne PATH kann es nicht sein, sprich funktioniert nicht.

VG Jim
 
So sollte es funktionieren:
uXjXH6BSbd.png
 
Edit: Moment da war ein Leerzeichen zu viel. :sick: Jetzt lies es sich speichern. Rückmeldung folgt.


Danke, aber dann kommt falscher Wert. :unsure:

falscher_Wert.png

grott_Pfad.png
 
Zuletzt bearbeitet:
Hast du es als Datei oder Ordner versucht?
 
Wenn ich das bei mir mache, bekomme ich keine Fehlermeldung. :unsure:

YAML:
version: '3.3'
services:
    grott:
        #network_mode: host
        #image: ledidobe/grott
        image: ledidobe/grott
        container_name: grott
        restart: unless-stopped
        ports:
            - "5279:5279"
        volumes:
            #- /opt/grott/grottstub.ini:/app/grott.ini
            #- /opt/grott/grottstub.py:/app/grottext.py
        environment:
            - gblockcmd=False
            - gnomqtt=False
            - gmqttip=localhost
            - gmqttauth=False
            - gmqttuser=growatt
            - gmqttpassword=growatt2020
            - gpvoutput=False
            - gpvapikey=yourapikey
            - gpvinverterid1
            - gpvsystemid1=12345
            - ginflux=False
            - ginflux2=False
            - gifdbname=grottdb
            - gifip=localhost
            - gifport=8086
            - gifuser=grott
            - gigpassword=growatt2020
            - giftoken=influx_token
            - giforg=grottorg
            - gifbucket=grottdb
            - gextension=false
            - gextname=grottext
            - 'gextvar = {"ip": "192.168.0.47", "port": "8000"}'
            - TZ=Europe/Amsterdam

Du kannst dir auch oben die Umgebungsvariable gmqttip raussuchen und es darüber probieren. Das sollten dann aber eigentlich funktionieren.
 
  • Like
Reaktionen: Jim_OS
OK die grott.ini wird jetzt schon mal benutzt. :)

Jetzt haut mir der Container zwar noch Fehler um die Ohren und er wird automatisch gestoppt, :rolleyes: aber zumindest funktioniert es jetzt grundsätzlich. :cool:

Danke Euch für die Hilfe. (y)

VG Jim
 
Kein Problem, woran hat es denn gelegen?
 
Ich hatte #8 ja noch editiert. An einem Leerzeichen am Ende von /app/grott.ini :ROFLMAO:

VG Jim
 
Der Klassiker, da habe ich schon stundenlang verbracht mit. Copy & Paste
 
Jetzt haut mir der Container zwar noch Fehler um die Ohren und er wird automatisch gestoppt, :rolleyes: aber zumindest funktioniert es jetzt grundsätzlich. :cool:
Auch das ist jetzt geklärt. grott im Docker läuft jetzt ohne Fehlermeldung und sendet die MQTT Daten. Alles weitere ist jetzt nur noch "Feinarbeit".

@ctrlaltdelete Jepp :ROFLMAO:

VG Jim
 
grott im Docker läuft jetzt ohne Fehlermeldung und sendet die MQTT Daten.
Nur für den Fall das jemand das hier findet/liest. Da ich gestern keine Zeit mehr hatte das alles zu testen muss ich meine Aussage heute korrigieren: Es funktioniert bei mir (bisher) nicht. :oops:

Istzustand für den Test:
DS720+: IP 192.168.178.20
HA VM auf DS 720+: IP 192.168.178.61
Mosquitto broker unter HA VM mit 192.168.178.61:1883
Growatt WiFi Stick sendet Daten an 192.168.178.61
Grott per Docker auf DS720+ (Netzwerk als Bridge)

Grott_Docker.PNG

grott.ini
Code:
[Growatt]
# Server name/IP address and port of Growatt server
# specify only if the IP address of server.growatt.com is changed
# The address as of Nov 2022 is 47.91.67.66

#ip = server.growatt.com
ip = 47.91.67.66
port = 5279                                                      

[MQTT]
# Mqtt parameters definitions
# Be aware nomqtt = True means no MQTT processing will be done!!!!!!

nomqtt = False
ip = 192.168.178.61
port = 1883
topic= energy/growatt
auth = True
user = MQTT User
password = MQTT Passwort

Grott startet und läuft ohne Fehler durch. Am Ende bekommt Grott eine Docker IP

Grott_mit_IP_Port_Info.PNG

Nach meinem Verständnis sollte Grott im Docker (IP 172.17.0.2) dann aufgrund der Porteinstellungen (Anm.: Port 5279 sollte eigentlich lt. Anleitung bereits reichen. 5782 hatte ich dann zusätzlich noch nachgetragen da das in einem Posting bzgl. Docker so genannt/vorgeschlagen wurde) trotzdem die Daten des Growatt WiFi Sticks unter der 192.168.178.61 empfangen (Erklärung Grott Proxy Mode). Allerdings kommt dort scheinbar nichts an, denn Grott sendet keine Daten an dem Mosquitto broker 192.168.178.61:1883 unter der HA VM. Das nichts gesendet wird habe ich auch per MQTT Explorer gegengetestet.

Anm: Grott Docker mit Netzwerkeinstellung Host funktioniert auch nicht. Dann bekommt Grott keine IP.

Grott_no_IP_Port_Info.PNG

Wo es jetzt genau hakt weiß ich bisher nicht. Irgendwie/-wo wird es wohl ein IP-Problem geben. Alles was ich dazu in irgendwelchen Foren, bzw. bei irgendwelchen Diskussionen finden konnte, war nicht wirklich hilfreich. Das lief dann darauf hinaus auf der DS im Docker auch noch Portainer laufen zu lassen, um dem Grott Docker dann manuell eine IP verpassen zu können. Aber im Moment habe ich keine Lust mehr noch weiter nach der Ursache zu forschen, :) inbesondere weil der Betrieb der HA VM auf der DS720+ aktuell eh nur testweise läuft. Normal läuft sie ja unter Proxmox.

Sollte hier noch jemand eine Idee haben wo es ggf. hakt, oder wie man das Problem einfach lösen kann, dann immer her damit. Sollte ich bei irgendwelchen weiteren Versuchen noch zu einer Lösung kommen werde ich die hier auch posten. Aber wie gesagt: Im Moment habe ich keine Bock mehr auf weitere Versuche. Hat eh schon wieder viel zu viel (Lebens-)Zeit gekostet. :LOL:

VG Jim
 
Zuletzt bearbeitet:
Da ich eben noch etwas Zeit hatte und es mich wurmt wenn etwas irgendwie nicht funktioniert: :LOL:

Eclipse Mosquitto per Docker auf der DS720+ installiert. Die IP des MQTT Servers bei Grott und dem Growatt Stick auf die neue IP (die der DS720+ 192.168.178.20) geändert und schon läuft es und die Daten vom Stick kommen per MQTT an.

Grott_funktioniert.PNG

Also ganz klar ein IP Problem. Zumindest schon mal eine Erkenntnis. :)

VG Jim
 
Dazu noch drei allgemeine Anmerkungen:

1. Der Growatt Stick lässt nur eine Konfiguration (ein Ziel) zu, sprich entweder Daten an eine IP, oder an den Growatt Cloud Server.

Growatt_Data_Logger_Settings.png
D.h. trägt man bei Set Ip eine IP für den Mosquitto broker Server im LAN ein und Grott läuft nicht, kommen auch keine Daten mehr bei dem Growatt Cloud Server an.

2. Warum macht man/ich das mit Grott überhaupt? Ganz einfach:
a) Der bzw. genauer gesagt die drei Growatt Cloud Server sind inzwischen scheinbar so überlastet (PV boomt halt) das die Verbindung immer wieder - teils für mehrere Minuten - abbricht. Für den der nur ab und zu mal Daten aus der Growatt Cloud abruft ist das sicherlich kein Problem, weil der Stick auch Daten puffert, aber wenn man die Daten in einem SmartHome-System integriert hat, dort protokolliert und u.a. auch für Steuerungen nutzt, kann man solche Verbindungsabbrüche/-aussetzer natürlich gar nicht gebrauchen. :rolleyes:
b) Scheinbar aufgrund der Überlastung hat Growatt vor ein paar Wochen damit begonnen die Zugriffe per API zu beschränken. Das geht so weit das sogar der kompl. Zugang (App oder URL) temporär gesperrt wird. :( Das kann man erst recht nicht gebrauchen. :ROFLMAO:

3. Als Alternative zu Grott gibt es inzwischen wohl auch noch die Möglichkeit eine alternative Firmware auf den Stick zu flashen, die dann die Daten direkt an eine IP sendet. Das flashen des Sticks war mir bisher aber etwas "zu heiß", insbesondere wenn es dann ggf. kein zurück auf die original Firmware mehr gibt. Den aktuellen Stand der Dinge dazu kenne ich aber nicht.

VG Jim
 
  • Like
Reaktionen: King3R
Nach meinem Verständnis sollte Grott im Docker (IP 172.17.0.2) dann aufgrund der Porteinstellungen (Anm.: Port 5279 sollte eigentlich lt. Anleitung bereits reichen. 5782 hatte ich dann zusätzlich noch nachgetragen da das in einem Posting bzgl. Docker so genannt/vorgeschlagen wurde) trotzdem die Daten des Growatt WiFi Sticks unter der 192.168.178.61 empfangen (Erklärung Grott Proxy Mode). Allerdings kommt dort scheinbar nichts an, denn Grott sendet keine Daten an dem Mosquitto broker 192.168.178.61:1883 unter der HA VM. Das nichts gesendet wird habe ich auch per MQTT Explorer gegengetestet.
Dazu noch ein Update: Es funktioniert auch mit der Konstellation Grott per Docker auf der DS720+ (Netzwerk Bridge) und dem Mosquitto broker in der HA VM auf der DS720+. Ich war einfach nur zu ungeduldig, :) sprich warum auch immer kommen (bei mir) erst nach ca. 30 - 60 Sekunden Daten bei dem Mosquitto broker an.

Das Gelbe vom Ei ist das mit Grott im Moment aber auch noch nicht, da daran von verschiedenen Usern noch fleißig weiter gebastelt/gearbeitet wird und eine direkte und vollständige Integration von Grott in HA noch fehlt. U.a. der User muppet3000 arbeitet gerade an einer "All-in-one-Lösung" aber das wird wohl noch dauern. Wer das Thema weiter verfolgen möchte sollte die entsprechenden Beiträge dazu bei Gitbub verfolgen. Was muppet3000 betrifft wäre das z.B. dieser Beitrag.

Wie bereits erwähnt gibt es bei dem Growatt Stick bzgl. des Daten-Ziels nur ein entweder oder, sprich entweder werden die Daten an eine IP im LAN gesendet, oder zu einem Growatt-Server. Sollte also Grott - aus was für Gründen auch immer - nicht 24/7 laufen, kommen auch keine Daten mehr bei dem Growatt Server an und die PV-Anlage wird dort als kompl. Offline angezeigt und es werden natürlich dort auch keine Daten mehr erfasst.

BTW: Falls sich jemand für die Alternative mit dem flashen des Growatt Sticks mit einer alternativen Firmware intessiert ist z.B. hier eine Anleitung.

VG Jim
 
Hi zusammen,

ich bin am verzweifeln ...

grott.ini
[MQTT]
nomqtt = False
ip = localhost
port = 1024
topic= energy/growatt
auth = True
user = räuber
password = hotzenplotz

Grott - Protokoll.jpg
er schickt um 19:37 was raus

Symcon - Protokoll.jpg
es kommt um 19:37:10 was rein #33448
wird dann verarbeitet #21878

Aber im IP-Symcon kommt nichts an.
 

Anhänge

  • Screenshot 2023-10-07 195650.png
    Screenshot 2023-10-07 195650.png
    44,4 KB · Aufrufe: 11
  • IP-Symcon - B.png
    IP-Symcon - B.png
    25,4 KB · Aufrufe: 10
  • IP-Symcon - A.png
    IP-Symcon - A.png
    37,7 KB · Aufrufe: 7
  • Grotto - Protokoll.png
    Grotto - Protokoll.png
    176,9 KB · Aufrufe: 7
  • Symcon - Protokoll.png
    Symcon - Protokoll.png
    95,3 KB · Aufrufe: 9

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat