Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Anpassung einiger MQTT Topics #468

Closed
knickohr opened this issue Nov 30, 2022 · 25 comments
Closed

Anpassung einiger MQTT Topics #468

knickohr opened this issue Nov 30, 2022 · 25 comments
Assignees
Labels
enhancement New feature or request fixed dev fixed

Comments

@knickohr
Copy link

knickohr commented Nov 30, 2022

Endless MQTT 🤪

Bitte den Topic (inverter)/status umbenennen in (inverter)/mqtt und als Value nicht online/offline mitgeben, sondern besser connected/not connected. Wenn ich das richtig verstanden habe, gibt dieser Topic den Status der Verbindung zum Broker an.

Folgende Werte als retained flaggen

  • YieldTotal
  • YieldDay

und den folgenden Status korrekt am Ende des Tages ausgeben und ebenfalls als retained flaggen (ist es ja bereits)

  • available_text

Wird leider beim letzten noch „lebenden“ WR nicht mehr korrekt gesetzt wenn er stirbt 😞

A2DA699E-B5B7-483A-BDE7-5AAD95A11A4A

und korrigiert bitte den Text

  • not yet available and (hier fehlt was 😲)

Mir persönlich würde auch ein „not available“ reichen

Das war’s vorerst mal, bis mir wieder was einfällt 🤪

Doch noch was vergessen 😅
Wenn alle Inverter nicht mehr available sind, könnte man ein Status offline setzen. Hierzu könnte man den alten Topic (inverter)/status verwenden, würde wesentlich besser passen.

@lumapu
Copy link
Owner

lumapu commented Dec 1, 2022

danke für die Zusammenfassung, das kann man sehr gut einarbeiten

lumapu added a commit that referenced this issue Dec 1, 2022
fix #466 calculation of sunrise and sunset
fix #463 Webserial Timestamp fix
@knickohr
Copy link
Author

knickohr commented Dec 1, 2022

Danke für die schnelle Umsetzung des ersten und letzten Teils 😎👍

898216F2-0F7B-4CF5-A569-AB2721EC9F79

Warten wir gespannt was noch kommen wird 😅

@knickohr
Copy link
Author

knickohr commented Dec 2, 2022

Die Yield-Werte sind jetzt mit der 46 auch retained geflaggt 👍

@stefan123t
Copy link
Collaborator

@knickohr fehlt hier noch was oder kann @lumapu das issue mit dem nächsten Release zu machen ?

@lumapu
Copy link
Owner

lumapu commented Dec 4, 2022

@stefan123t ja es fehlt noch was:

Wenn alle Inverter nicht mehr available sind, könnte man ein Status offline setzen. Hierzu könnte man den alten Topic (inverter)/status verwenden, würde wesentlich besser passen.

@knickohr
Copy link
Author

knickohr commented Dec 4, 2022

Korrekt.

und der available_status wird immer noch nicht nach Sonnenuntergang korrekt über MQTT ausgegeben, bleibt immer wieder noch beim vorletzten Wert hängen 🙁

@stefan123t
Copy link
Collaborator

@knickohr, also einmal kurz nach Sonnenuntergang "0" Werte ausgeben bzw. den available_status einmalig auf offline / unavailable setzen, wenn das Häkchen für die Sundown Regelung aktiv ist. Richtig ?
Und für alle noch zusätzlich einmal um 0:00 Uhr die Yield Daily Werte auch auf den "0" Wert setzen.

@knickohr
Copy link
Author

knickohr commented Dec 6, 2022

Nur der available_text korrekt über MQTT auch nach Sonnenuntergang setzten, mehr braucht’s nicht mehr. Die Werte kann ich dann selbst nullen, nicht das es nochmal eine heftige Diskussion gibt 😉

Und den status auf offline setzen. Bzw. so steht er ja immer, also wenn alle Inverter funktionieren online setzen.

@roku133
Copy link
Contributor

roku133 commented Dec 6, 2022

Mir gefällt der Vorschlag von @stefan123t weiter gut, kann aber auch mit der reduzierten Variante von @knickohr arbeiten. Das entspricht dann auch der Anzeige auf der Weboberfläche.
Vielleicht kann @stefan123t in diesem Schritt auch den MQTT-Wert für last_success reparieren. Er erhöht sich zwar beim Standardintervall von 30 s um 30000 (ms-Ticks?), der Startwert scheint aber eine Zufallszahl zu sein. Sie ist bei mir negativ.

@MisterBJ
Copy link

MisterBJ commented Dec 6, 2022

Mir ist heute Morgen um fünf aufgefallen das der Tageszähler immer noch den Wert von dem Vortag hatte.
Da NTP verwendet werden muss damit alles korrekt läuft wäre es schön wenn der Zähler automatisch auf 0 gesetzt wird.

@lumapu
Copy link
Owner

lumapu commented Dec 6, 2022

wird alles behoben, an dem zeitgesteuerten setzen / zurücksetzen bin ich schon dran.
Es benötigt aber zusätzliche Optionen im Scheduler, den ich gerade entsprechend erweiterte.
Eine Testversion läuft bei mir lokal, die ist aber noch zu instabil um sie auf euch loslassen ;-)
Leider ist die heute ca. 10 min vor Sonnenuntergang abgestürzt ...

@knickohr
Copy link
Author

knickohr commented Dec 7, 2022

@roku133

Standardintervall

Macht er das wirklich ? Dann wäre es ja korrekt wenn er immer um 30 Sekunden hoch geht, dann wäre es ein Teitstempel „vor xxx Millies“ 🤔

@roku133
Copy link
Contributor

roku133 commented Dec 7, 2022

Der Parameter last_success wird nur während der aktiven Stromerzeugung angezeigt. Wenn es ein Zeitstempel "vor xxx Millies) wäre, dürfte dann der Wert bei regelmäßiger Kommunikation höchstens -30000 (ms-Ticks) betragen. Die aktuelle Zahl ist bei mir jedoch last_success -327819144 (v0.5.41 - Laufzeit ohne Unterbrechungen seit mehr als 17 Tagen!).

@stefan123t
Copy link
Collaborator

stefan123t commented Dec 8, 2022

@roku133 das ist vermutlich nicht als unsigned int/long definiert daher das negative Vorzeichen.

@lumapu kannst Du das in Deinem Branch / MQTT Patch berücksichtigen ? Wäre vermutlich ausreichend hier nur Sekunden auszugeben 😄

@knickohr
Copy link
Author

knickohr commented Dec 8, 2022

Naja, ich würde mal sagen, so wie die uptime, als Unix Timestamp.

@roku133
Copy link
Contributor

roku133 commented Dec 8, 2022

kleine Ergänzung:
uptime beinhaltet eine relative Zeitangabe (Sekunden seit Neustart) - geeigneter als Beispiel sind daher für mich sunrise/sunset mit Bezug auf Kalenderdatum 1.1.1970.

@knickohr
Copy link
Author

knickohr commented Dec 8, 2022

Jupp

lumapu added a commit that referenced this issue Dec 8, 2022
lumapu added a commit that referenced this issue Dec 8, 2022
included #483 improvements
fix #468 last_success MQTT
fix #468 update available status at sunset
fix #447 reorderd enqueue commands to not have same payload length in a row
added ssd1306 and nokia display to build script
@lumapu
Copy link
Owner

lumapu commented Dec 8, 2022

bei dem last_success war komischer Weise ein *1000 eingebaut. Dadurch läuft der 32 Bit Integer über.

@lumapu lumapu self-assigned this Dec 8, 2022
@lumapu lumapu added fixed dev fixed enhancement New feature or request labels Dec 8, 2022
@roku133
Copy link
Contributor

roku133 commented Dec 9, 2022

@lumapu - perfekt, last_success zeigt mit v0.5.50 jetzt Zeit (unixtime) korrekt an - vielen Dank 👍

@knickohr
Copy link
Author

@lumapu @stefan123t

Eine kleine Erweiterung des letzten Punktes, der noch nicht in Angriff genommen wurde.

Alt:
„ Wenn alle Inverter nicht mehr available sind, könnte man ein Status offline setzen. Hierzu könnte man den alten Topic (inverter)/status verwenden, würde wesentlich besser passen.“

Neu:

  • alle Inverter online -> online
  • alle Inverter offline -> offline
  • einer oder mehr, aber nicht alle online oder offline -> partial
    im status ausgeben.

@littlebilly
Copy link

Danke für das tolle Project!
Gibt es eigentlich irgendwo eine Topic Liste?

lumapu added a commit that referenced this issue Dec 14, 2022
@knickohr
Copy link
Author

52 funktioniert alles soweit, zumindest heute mal. Ich würde gerne noch ein paar Tage abwarten bevor wir das zu machen. Will testen ob es Auswirkungen hat wenn das Wetter gut ist und es länger hell ist, die Inverter länger (länger als Sonnenuntergang) arbeiten.

Eine kleine Anmerkung habe ich noch. Irgendwo kommt zwischendrin mal der available_text „not available and producing“. Das kann nicht sein 😉 Wenn nich da, dann kann nich produzieren. Ich glaube das tritt bei available (Status) 1 auf.

@knickohr
Copy link
Author

knickohr commented Dec 20, 2022

@lumapu
Ich muß das leider nochmal rauskamen 🤪

Jetzt mit dem Communication Start/Stop fällt mir auf, das der MQTT Topic available und available_text viel zu spät kommen am Ende des Tages. Morgens funktioniert es prima, aber Abends setzt er diese beiden Stati erst beim Communication Stop. Besser wäre es, er würde sie auch setzen wenn er es erkennt. Also so wie in der Webgui (not yet available).

lumapu added a commit that referenced this issue Dec 20, 2022
improved wifi initial connection - especially if station wifi is not available #509
removed new operators from web.h (reduce dynamic allocation)
improved sun calculation #515, #505
fixed wifi auto reconnect #509
added disable night communication flag to MQTT #505
changed MQTT publish of `available` and `available_text` to sunset #468
@knickohr
Copy link
Author

Ja, das sieht gut aus 👍

30E92B69-A73B-4257-A94A-F78BF1EECDB1

aus dem status und den available von den einzelnen Invertern leite ich mir einen 4. Status „missing“ ab. So kann ich erkennen ob unter Tags ein Inverter aussteigt. Tagsüber sollte es den available 0 nie geben und Nachts ist das normal „offline“.

Man kann auch die Summe aller available über alle Inverter bilden.

  • ist sie 0, dann. Offline
  • Ist sie 2x Anzahl der Inverter. Online
  • Ist sie irgendwo dazwischen (Dämmerungsphase). Partial
  • Aber ist unter Tags einer 0, dann stimmt was nicht. Missing

Ich beobachte mal die Tage ob das soweit paßt 😎

Also momentan kein weiteres ToDo 😅

@knickohr
Copy link
Author

Ich schließe das weil ich die letzte Anpassung in #522 neu definiert habe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request fixed dev fixed
Projects
None yet
Development

No branches or pull requests

6 participants