Poolsteuerung per Modbus auslesen

Begonnen von Fistandantilus, 18 August 2018, 18:15:54

Vorheriges Thema - Nächstes Thema

W_Esch

Hallo,
Wie immer lesen hilft. Jetzt habe ich verstanden, dass man entweder das ModbusAttr generisch verwenden kann und im Device einfach die passenden Attribute setzen muss, oder man schreibt ein neues Modul und definiert dort die Register. Manchmal dauert es bis der Groschen fällt. Nochmals vielen Dank an alle, die hier mitgearbeitet haben.

Grüße
FHEM, Viessmann 300, SMA inverter, Zaehler über OBIS, DeltaSol über VBUS, Bayrol SaltRelax über httpmod, MQTT, Firmata, Homematic, MAX, FS20, Gardena smart Bewässerung, OneWire, SONOS, InfluxDB, GRAFANA, alles integriert und alles auf Docker

JF Mennedy

Hallo Wolfgang,

die Register definierst Du wie folgt (1 Beispiel):
attr NaturallySalt obj-h00257-expr $val * 0.1
attr NaturallySalt obj-h00257-reading Hydro


h00257 ist das Holding-Register 257

Angeschlossen ist mein SR-Pro so:
Zitat von: JF Mennedy am 30 Juni 2020, 22:56:23
Anbei noch das Foto von den benutzten Pins...

Versuch doch einfach mal mein define anzulegen, schmeiss nur die Zeil mit dem Attribut userattr raus, das ist nicht komplett und wird sowieso automatisch angelegt...

Ich betreibe meine Anlage jetzt seit 3 Jahren so und funktioniert echt gut...

Gruss Jan

W_Esch

Hallo Jan,
vielen Dank. Es funktioniert einwandfrei!!! Es war viel einfacher als gedacht. Ich kann sogar die Filterpumpe von FHEM aus schalten. Genau was ich gesucht habe. Bin begeistert!!!
Vielen Dank und viele Grüße
Wolfgang
FHEM, Viessmann 300, SMA inverter, Zaehler über OBIS, DeltaSol über VBUS, Bayrol SaltRelax über httpmod, MQTT, Firmata, Homematic, MAX, FS20, Gardena smart Bewässerung, OneWire, SONOS, InfluxDB, GRAFANA, alles integriert und alles auf Docker

JF Mennedy

Hallo Wolfgang, freut mich, dass es klappt 👍 Wenn die Filter Pumpe es unterstützt, kannst Du sogar die Drehzahl einstellen ;-) Hab dafür extra eine gekauft damals von Speck, aber da ich aktiv überwinter, hilft das echt enorm. Alles läuft komplett automatisch und wenn der Stromzähler mal nix verbraucht und es frostet kommt ne Meldung aufs Handy 😊

W_Esch

Hallo Jan,
vielen Dank für die Tips. Ich habe mittlerweile auch noch etwas weiter am Thema gearbeitet.



Filterzeiten Slot 1 und Relaisstatus

Die Startzeit sieht man in Timer1On_f und die Endezeit in Timer1End_f

attr SaltRelax obj-h01076-expr $val * 1
attr SaltRelax obj-h01076-reading Timer1Enable
attr SaltRelax obj-h01077-expr $val * 1
attr SaltRelax obj-h01077-len 2
attr SaltRelax obj-h01077-reading Timer1On
attr SaltRelax obj-h01079-expr $val * 1
attr SaltRelax obj-h01079-len 2
attr SaltRelax obj-h01079-reading Timer1Off
attr SaltRelax obj-h01081-expr $val * 1
attr SaltRelax obj-h01081-len 2
attr SaltRelax obj-h01081-reading Timer1Period
attr SaltRelax obj-h01083-expr $val * 1
attr SaltRelax obj-h01083-len 2
attr SaltRelax obj-h01083-reading Timer1Interval
attr SaltRelax obj-h01085-expr $val * 1
attr SaltRelax obj-h01085-len 2
attr SaltRelax obj-h01085-reading Timer1Countdown
attr SaltRelax obj-h01087-expr $val * 1
attr SaltRelax obj-h01087-len 2
attr SaltRelax obj-h01087-reading Timer1Function
attr SaltRelax obj-h01089-expr $val * 1
attr SaltRelax obj-h01089-reading Timer1Worktime


Passende userReadings für Filterzeit und Relais Status

ReadingsNum($name,'Hydro',0),ReadingsVal($name,'pH-Minus',0)  )}
attr SaltRelax userReadings state { ReadingsVal($name,"FiltrationState",0) },\
PH_STATUS_B { sprintf("%016b",ReadingsNum($name,"pH-Status",0)) },\
RX_STATUS_B { sprintf("%016b",ReadingsNum($name,"RX-Status",0)) },\
RELAIS_STATUS_B { sprintf("%016b",ReadingsNum($name,"Relais-Status",0)) },\
pH-Modul { (split //,ReadingsVal($name,"RELAIS_STATUS_B","0000000000000000"))[15]},\
Filterpumpe { (split //,ReadingsVal($name,"RELAIS_STATUS_B","0000000000000000"))[14]},\
WT { (split //,ReadingsVal($name,"RELAIS_STATUS_B","0000000000000000"))[9]},\
Timer1On_f { strftime('%H:%M:%S', gmtime(ReadingsNum("SaltRelax", "Timer1On" , 0))) },\
Timer1End { ReadingsNum("SaltRelax", "Timer1On" , 0) + ReadingsNum("SaltRelax", "Timer1Interval" , 0)},\
Timer1End_f { strftime('%H:%M:%S', gmtime(ReadingsNum("SaltRelax", "Timer1End" , 0) )) }


Nochmals vielen
Dank
FHEM, Viessmann 300, SMA inverter, Zaehler über OBIS, DeltaSol über VBUS, Bayrol SaltRelax über httpmod, MQTT, Firmata, Homematic, MAX, FS20, Gardena smart Bewässerung, OneWire, SONOS, InfluxDB, GRAFANA, alles integriert und alles auf Docker

JoeALLb

Kann mir jemand eine aktuelle komplette Config zukommen lassen? Die Eizelstücke aus diesem Thread bekomme ich aktuell nicht sauber zusammen, immer scheint etwas zu fehlen oder anders zu heißen.

DANKE.
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270