Seite 1 von 2

openHAB 3 - NeoPool

Verfasst: 8. Sep 2021 09:36
von daniel_n100
Hallo!
Mein Name ist Daniel und ich bin ein absoluter Neuling. Ich beschäftige mit seit ca. zwei Wochen im dem Thema ESP8266, Tasmonta und nun auch mit openHAB. Grund dafür ist meine Poolsteuerung. Ich besitze eine Hidrolife 16 pH - Salzwasserelektrolyseanlage.
Ich bin über das Poolpowerform darauf gestoßen, dass man mittels ESP8266 und Tasmota die einzelnen Werte abfragen kann.
Zum Einsatz kommt ein ESP8266 mit Tasmota inkl. NeoPool geflasht und ein TTL zu RS485 Modul. Die Daten werden per MQTT an openHAB übermittelt.
https://tasmota.github.io/docs/NeoPool/

Zur Visualisierung und auch für den Zugriff außerhalb des Heimnetzes habe ich einen Raspberry pi 3b mit openHAB 3 installiert.
Bin auch schon so weit gekommen, dass ich sämtliche Werte abfragen und in myopenHAB anzeigen werden. So weit so gut.
Was mich aber etwas stört ist, dass der Status der Pumpe nur mit 0 für aus und 1 für ein angezeigt wird.
Wie bzw. wo kann ich das umstellen? Weiters möchte ich auch noch die Steuerung per openHAB realisieren.
Vielleicht kann mir von euch wer weiterhelfen bei meinen Fragen. Danke im Voraus!

mfg
Daniel

Re: openHAB 3 - NeoPool

Verfasst: 8. Sep 2021 11:26
von udo1toni
Kannst Du mal den Code vom Thing zeigen?

Re: openHAB 3 - NeoPool

Verfasst: 8. Sep 2021 15:30
von daniel_n100
Hier der Code von der Filterpumpe

Code: Alles auswählen

UID: mqtt:topic:85b41c5506:20435cb814
label: Filterpumpe Pool
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:85b41c5506
location: Garten
channels:
  - id: Cyrrent
    channelTypeUID: mqtt:number
    label: Neopool
    description: null
    configuration:
      transformationPattern: JSONPATH:$.NeoPool.Filtration.State
      stateTopic: tele/Neopool/SENSOR

Re: openHAB 3 - NeoPool

Verfasst: 8. Sep 2021 15:51
von udo1toni
Ändere den Channel auf Switch ab und ergänze ON und OFF Value. Sieht dann so aus:

Code: Alles auswählen

UID: mqtt:topic:85b41c5506:20435cb814
label: Filterpumpe Pool
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:85b41c5506
location: Garten
channels:
  - id: Cyrrent
    channelTypeUID: mqtt:switch
    label: Neopool
    description: null
    configuration:
      transformationPattern: JSONPATH:$.NeoPool.Filtration.State
      stateTopic: tele/Neopool/SENSOR
      on: "1"
      off: "0"
Das korrespondierende Item muss natürlich auch auf Switch geändert werden.

Re: openHAB 3 - NeoPool

Verfasst: 8. Sep 2021 16:25
von daniel_n100
Danke für deine schnelle Unterstützung!!
Hat perfekt funktioniert.

Kannst du mir vielleicht auch noch dabei weiterhelfen, wie ich auch die Steuerung über openHAB realisieren kann? Danke!

Re: openHAB 3 - NeoPool

Verfasst: 11. Mai 2022 15:08
von nibbler
@daniel_n100

Hey, hast du die Steuerung hinbekommen? Ich bin an der gleichen Stelle angelangt ;-)
Nach etwas holprigem Start habe den Output zumindest schonmal im HabPanel aber mit der Ansteuerung kämpfe ich noch.

Re: openHAB 3 - NeoPool

Verfasst: 11. Mai 2022 17:36
von udo1toni
Ah, sorry, irgendwie ist das bei mir nicht mehr aufgeploppt...

Für die Steuerung brauchst Du ein anderes Topic. Wie in der Tasmota Doku zu sehen geht es hier teilweise um umfangreiche Kommandos, die per Backlog gesendet werden müssen. Letztlich muss dann der Backlog Befehl zusammengesetzt werden und anschließend als String über cmnd/Neopool/backlog gesendet werden. Ansonsten gibt es auch etliche Kommandos, die direkt abgesetzt werden können. Wie immer gilt: Befehl = letztes Teil des Fulltopic (ersten Teil des Fulltopic ist cmnd/NeoPool/) Parameter = Payload des Fulltopic.

Re: openHAB 3 - NeoPool

Verfasst: 11. Mai 2022 19:13
von nibbler
Haha danke, ICH: Bahnhof! Ich werde mich einlesen :)

Re: openHAB 3 - NeoPool

Verfasst: 19. Mai 2022 20:00
von fuetzi
Hallo,
Ich bin nun endlich auch hier angelangt.
ESP8266 erkennt alle Daten (war eine lange Reise), aber ins Openhab bekomme ich sie nicht.
Ich versuche mich gerade einzulesen, aber , ganz ehrlich, ich verstehe és nicht :-(

Re: openHAB 3 - NeoPool

Verfasst: 20. Mai 2022 07:16
von udo1toni
Welcher Teil ist Dir nicht klar?

Welche Firmware verwendest Du auf dem ESP8266? Tasmota und ESPEasy sind gebräuchliche Firmwares, beide bringen die Option mit, Daten per MQTT auszutauschen (dies sollte auch der bevorzugte Weg sein).

Mit MQTT läuft die Kommunikation über einen Broker, gewöhnlich ist das mosquitto. mosquitto ist die zentrale Instanz, über die sämtliche Kommunikation läuft. Das heißt, der ESP8266 meldet sich bei mosquitto an und sendet alle Status über Topics an mosquitto. openHAB seinerseits meldet sich ebenfalls bei mosquitto und abonniert die Topics von Interesse. Sobald mosquitto eine Nachricht auf einem Topic empfängt, leitet es die Nachricht an alle Abonnenten weiter (im Beispiel also openHAB)

Du brauchst also neben openHAB, dem ESP8266 und dem MQTT Binding noch mosquitto (lässt sich einfach parallel zu openHAB einrichten). openHAB spricht nur mit mosquitto, wobei die physikalische Verbindung über TCP/IP läuft. in openHAB wird dazu eine Bridge zu mosquitto eingerichtet. für den ESP8266 legst Du dann in openHAB ein generic mqtt Thing an und verbindest dieses mit der Bridge. Im Thing trägst Du die stateTopics ein, welche der ESP8266 zum Senden verwendet. Umgekehrt kannst Du commandTopics definieren, über die openHAB dann Nachrichten an mosquitto senden kann. mosquitto sendet seinerseits die Nachrichten an den ESP8266 weiter, der die betreffenden Topics abonniert hat.