Wiffi-Pump in fhem einbinden

Begonnen von Tsturm, 13 November 2016, 17:19:11

Vorheriges Thema - Nächstes Thema

Tsturm

Hallo zusammen,

hat jemand schon mal die Wiffi Pump in FHEM eingebunden? Sie hat JSON Telegramme, ich habe aber noch keine Erfahrung mit einer Implementierung in FHEM.

VG Timmo

http://www.stall.biz/produkt/wiffi-pump-2-die-perfekte-zirkulationspumpensteuerung-mit-heizungsueberwachung


treborst

Schade dass hierzu niemand antwortet, ich suche auch nach einer Einbindung der Wiffi-pump in FHEM

Hat das wirklich noch niemand gemacht?

Gruß
Robert

Tsturm

Hi Robert,
Mittlerweile werte ich die JSON-Telegramme mit httpmod aus, die ich regelmässig vom Wiffi abrufe. Steuern geht ebenfalls mit httpmod.

Schöner wäre die Nutzung der Jsons, die das Wiffi bei Events verschicken kann (an die Homematic- Standardzentrale), aber die Auswertung erfordert verlängertes FHEM- Basteln...da fehlt mir die Zeit und Erfahrung, mich einzuarbeiten. Sollte analog ESPeasy funktionieren, das solche Telegramme sehr nett zu devices und readings verarbeitet.

Vielleicht hat ein Experte ein bisserl Musse...

Viele Grüße - Timmo

treborst

Hallo Timmo,

danke für die Antwort, an HTTPMOD habe ich auch schon gedacht aber noch keine Erfahrung damit.
Kannst du mir zeigen wie du das umgesetzt hast?

Gruß
Robert

Tsturm

Hi Robert,

das ist der Code. Ich habe sowohl ein JSON extract all (mit dem Attr "attr wiffi1 extractAllJSON 1") als auch definierte Reg ex verwendet - muss ich mal aufräumen (die Regex sind eigentlich netter; man kann das auch mit extractJSON machen, war mit aber nach einigem Probieren zu fummelig..)

Erster test - den Wiffi anpingen, um ein JSON telegramm zu bekommen (natürlich die IP des Wiffi überall eintragen):
http://192.168.178.42/?json

Dann bekommst Du das JSON Telegramm im Browser:
{"modultyp":"wiffi-pump","vars":[{"name":"0","homematic_name":"wiffi_pump_ip","desc":"ip des wiffi-pump","type":"string","unit":"","value":"192.168.178.42"},{"name":"4","homematic_name":"wiffi_ntc","desc":"Temperatur_NTC","type":"number","unit":"%","value":40.10},{"name":"2","homematic_name":"wiffi_ww_temp","desc":"Temperatur_A","type":"number","unit":"gradC","value":125.0},{"name":"3","homematic_name":"wiffi_vorlauftemp","desc":"Temperatur_B","type":"number","unit":"gradC","value":125.0},{"name":"1","homematic_name":"wiffi_pump","desc":"Zirkulationspumpe","type":"boolean","unit":"","value":false}
],"Systeminfo":{"MAC-Adresse":"85:f0:1d:7f:cf:5c","Homematic_CCU_ip":"192.168.178.2","WLAN_ssid":"sturmrepeater","WLAN_Signal_dBm":-44,"sec_seit_reset":42132,"zeitpunkt":" 7 16:42","firmware":"wiffi_pump2_78a"}}


Jetzt einen HTTPMOD definieren, der den Wiffi regelmässig anruft, und das JSON auswertet:

defmod wiffi1 HTTPMOD http://192.168.178.42/?json 600
attr wiffi1 userattr get06Name get06OMap get06Regex get07Name get07Regex getURL reading01Name reading01OExpr reading01Regex reading02Name reading02OExpr reading02Regex reading03Name reading03Regex reading04Name reading07Name reading07OMap reading07Regex reading08Name reading08Regex set01Data set01Name set01URL set02Name set02URL set03Name set03URL
attr wiffi1 event-on-change-reading .*
attr wiffi1 extractAllJSON 1
attr wiffi1 getURL http://192.168.178.42/?json
attr wiffi1 reading01Name Systeminfo_std_seit_reset
attr wiffi1 reading01OExpr $val /3600
attr wiffi1 reading01Regex "sec_seit_reset":(\d*)
attr wiffi1 reading02Name Systeminfo_wiffizeit
attr wiffi1 reading02Regex "zeitpunkt":" \d (\d*:\d\d)
attr wiffi1 reading03Name Systeminfo_firmware
attr wiffi1 reading03Regex "firmware":"(.*)"}
attr wiffi1 reading04Name Systeminfo_ip_Homematic_CCU
attr wiffi1 reading07Name Wiffi_Pumpe_Status
attr wiffi1 reading07OMap false:0, true:1
attr wiffi1 reading07Regex boolean","unit":"","value":(false|true)
attr wiffi1 reading08Name Wiffi_NTC_Temp
attr wiffi1 reading08Regex Temperatur_NTC","type":"number","unit":"%","value":(\d*.\d*)
attr wiffi1 room 5_Keller,9.0_System
attr wiffi1 set01Name param1
attr wiffi1 set01URL http://192.168.178.42/?param:1:$val:
attr wiffi1 set02Name param11
attr wiffi1 set02URL http://192.168.178.42/?param:11:$val:
attr wiffi1 set03Name trigger
attr wiffi1 set03URL http://192.168.178.42/?trigger:$val:
attr wiffi1 timeout 20
attr wiffi1 verbose 0


Die Attribute "set01URL http://192.168.178.42/?param:1:$val:" habeich, um den Wiffi zu steuern - so kannst du über HTTPMOD auch Befehle an den Wiffi schicken (ich hatte mal damit gespielt, die Parameter des Wiffi nachts abzuändern). Ist aber eigentlich nicht notwendig.

Mit den Readings kann man dann Charts bauen, die die Einschaltzeiten etc darstellen.

Viel Spass!
Timmo

mikawood

Hallo Timmo

vielen Dank für die Beschreibung.  Klappt soweit prima.

Wie können die beiden Temperaturen Temperatur_A und Temperatur_B in das reading aufgenommen werden?
Verwendest du das integrierte Zeit Programm oder steuerst du die Pumpe von Fhem?

grüsse
Micha
raspberry 2a - raspberry 3
Vailant Atmo Tec clasic -
15 * HM-CC-RT-DN - 1 * HM-SWI-3-FM - 4 * HM-Sen-DB-PCB - 2 * HM-PB-2-WM55 - 1 *    
HM-PB-6-WM55

Tsturm

Die beiden Temperaturen nutze ich nicht... meine Version der Platine hatte da Probleme. Ich habe nebendran noch einen ESP, mit dem ich 12 digitale Temperatursensoren auslese, das reicht.

Die Schaltuhr habe ich vom Wiffi genutzt, aber über httpmod kannst Du auch Befehle an den Wiffi schicken. Habe ich mal eine Zeitlang gemacht, um die Parameter in der Nacht anzupassen. ,,Set01url"... etc dient im Listing unten dazu, da musst Du nur einen weiteren http-Befehl einrichten.

Viele Grüße - Timmo 

kb958291

Hallo,

der erste bzw letzte Beitrag ist zwar schon älter, aber ich suche auch nach einer Einbindung der Wiffi-pump in FHEM

Hat das noch niemand gemacht?
Hab da leider wenig Programier-Skills...
Ich verwende das integrierte Zeit Programm der Wiffi-Pump4 und würde gerne mit Fhem schalten und Pumpenlaufzeit (on/off) erfassen/darstellen...

Gruß,

Stefan
FHEM@ASUS-PN40, HM-CFG-LAN, CUL868, CUL433, HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-LC-Bl1PBU-FM, IT1500, Elero, Tasmota