Hallo zusammen,
ich habe heute meinen Bayernlüfter mit WLAN Modul in Betrieb genommen.
Hat schon jemand so ein Teil an FHEM angebunden?
Grüße Mave
Ich kann jetzt per HTTPMOD die Daten des Bayernlüfters auslesen und versuche noch, die Steuerung mittels HTTPMOD zu realisieren.
Hallo Mave,
bist Du mit der Ansteuerung schon weiter gekommen? Ich hätte interesse an deinem Lösungsansatz. Ich hoffe das ich mein Bayernlüfter mit WLAN Modul bald in Betrieb nehmen kann, warte auf die Kernbohrungen durch 25cm Beton Kellerwand.
Grüße Brezel
Ich habe eine simple ansteuerung bereits realisiert, mithilfe von HTTPMOD ist das kein großes problem.
defmod LueftungBadEG HTTPMOD http://192.168.1.152/ 43
attr LueftungBadEG userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex set01Name set01NoArg:0,1 set01URL set02Hint set02Max set02Min set02Name set02URL set03Name set03NoArg:0,1 set03URL
attr LueftungBadEG enableControlSet 1
attr LueftungBadEG reading01Name AbluftStufe
attr LueftungBadEG reading01Regex >Abluft:(...)<
attr LueftungBadEG reading02Name ZuluftStufe
attr LueftungBadEG reading02Regex >Frischluft:(...)<
attr LueftungBadEG reading03Name AussenLuftTemperatur
attr LueftungBadEG reading03Regex id='frischluft_temp'>(....)
attr LueftungBadEG reading04Name ZuluftTemperatur
attr LueftungBadEG reading04Regex id='zuluft_temp'>(....)
attr LueftungBadEG reading05Name ZuluftFeuchtigkeit
attr LueftungBadEG reading05Regex id='zuluft_feuchte_rel'>(....)
attr LueftungBadEG reading06Name AbluftTemperatur
attr LueftungBadEG reading06Regex id='abluft_temp'>(....)
attr LueftungBadEG reading07Name AbluftFeuchtigkeit
attr LueftungBadEG reading07Regex id='abluft_feuchte_rel'>(....)
attr LueftungBadEG reading08Name WRG
attr LueftungBadEG reading08Regex id='wrg'>(....)
attr LueftungBadEG room 90-Testumgebung,95-Lüftung
attr LueftungBadEG set01Name Power
attr LueftungBadEG set01NoArg 1
attr LueftungBadEG set01URL http://192.168.1.152/?button=power
attr LueftungBadEG set02Hint 1,2,3,4,5,6,7,8,9,10
attr LueftungBadEG set02Max 10
attr LueftungBadEG set02Min 1
attr LueftungBadEG set02Name SpeedSelect
attr LueftungBadEG set02URL http://192.168.1.152/?speed=$val
attr LueftungBadEG set03Name Automatik
attr LueftungBadEG set03NoArg 1
attr LueftungBadEG set03URL http://192.168.1.152/?speed=0
attr LueftungBadEG stateFormat AbluftStufe
attr LueftungBadEG verbose 2
attr LueftungBadEG webCmd Power
attr LueftungBadEG widgetOverride userattr:textField-long
setstate LueftungBadEG 01
setstate LueftungBadEG 2018-02-18 10:02:52 AbluftFeuchtigkeit 46,5
setstate LueftungBadEG 2018-02-18 10:02:52 AbluftStufe 01
setstate LueftungBadEG 2018-02-18 10:02:52 AbluftTemperatur 20,7
setstate LueftungBadEG 2018-02-18 10:02:52 AussenLuftTemperatur 9,3
setstate LueftungBadEG 2018-02-18 10:02:52 WRG 85,2
setstate LueftungBadEG 2018-02-18 10:02:52 ZuluftFeuchtigkeit 22,8
setstate LueftungBadEG 2018-02-18 10:02:52 ZuluftStufe 01
setstate LueftungBadEG 2018-02-18 10:02:52 ZuluftTemperatur 19,0
Internals:
BUSY 0
DEF http://192.168.1.152/ 43
Interval 43
LASTSEND 1518944829.34848
MainURL http://192.168.1.152/
ModuleVersion 3.4.1 - 18.1.2018
NAME LueftungBadEG
NR 118
STATE 01
TRIGGERTIME 1518944872.34802
TRIGGERTIME_FMT 2018-02-18 10:07:52
TYPE HTTPMOD
addr http://192.168.1.152:80
auth 0
code 200
compress 1
conn
data
displayurl http://192.168.1.152/
header
host 192.168.1.152
httpheader HTTP/1.1 200 OK
Content-Type: text/html
httpversion 1.0
hu_blocking 0
hu_filecount 82
hu_port 80
hu_portSfx
ignoreredirects 0
loglevel 4
path /
protocol http
redirects 0
timeout 2
url http://192.168.1.152/
value 0
QUEUE:
READINGS:
2018-02-18 10:07:10 AbluftFeuchtigkeit 46,5
2018-02-18 10:07:10 AbluftStufe 01
2018-02-18 10:07:10 AbluftTemperatur 20,7
2018-02-18 10:07:10 AussenLuftTemperatur 9,0
2018-02-18 10:07:10 WRG 84,1
2018-02-18 10:07:10 ZuluftFeuchtigkeit 21,8
2018-02-18 10:07:10 ZuluftStufe 01
2018-02-18 10:07:10 ZuluftTemperatur 18,8
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url http://192.168.1.152/
value 0
defptr:
readingBase:
AbluftFeuchtigkeit reading
AbluftStufe reading
AbluftTemperatur reading
AussenLuftTemperatur reading
WRG reading
ZuluftFeuchtigkeit reading
ZuluftStufe reading
ZuluftTemperatur reading
readingNum:
AbluftFeuchtigkeit 07
AbluftStufe 01
AbluftTemperatur 06
AussenLuftTemperatur 03
WRG 08
ZuluftFeuchtigkeit 05
ZuluftStufe 02
ZuluftTemperatur 04
readingOutdated:
requestReadings:
update:
AbluftFeuchtigkeit reading 07
AbluftStufe reading 01
AbluftTemperatur reading 06
AussenLuftTemperatur reading 03
WRG reading 08
ZuluftFeuchtigkeit reading 05
ZuluftStufe reading 02
ZuluftTemperatur reading 04
helper:
bm:
HTTPMOD_Get:
cnt 2
dmx -1000
dtot 0
dtotcnt 0
mTS 18.02. 10:03:00
max 5.60283660888672e-05
tot 0.000108957290649414
mAr:
HASH(0x42cc720)
LueftungBadEG
?
HTTPMOD_Set:
cnt 317
dmx -1000
dtot 0
dtotcnt 0
mTS 17.02. 13:16:11
max 0.00157308578491211
tot 0.137276411056519
mAr:
HASH(0x42cc720)
LueftungBadEG
SpeedSelect
3
sslargs:
Attributes:
enableControlSet 1
reading01Name AbluftStufe
reading01Regex >Abluft:(...)<
reading02Name ZuluftStufe
reading02Regex >Frischluft:(...)<
reading03Name AussenLuftTemperatur
reading03Regex id='frischluft_temp'>(....)
reading04Name ZuluftTemperatur
reading04Regex id='zuluft_temp'>(....)
reading05Name ZuluftFeuchtigkeit
reading05Regex id='zuluft_feuchte_rel'>(....)
reading06Name AbluftTemperatur
reading06Regex id='abluft_temp'>(....)
reading07Name AbluftFeuchtigkeit
reading07Regex id='abluft_feuchte_rel'>(....)
reading08Name WRG
reading08Regex id='wrg'>(....)
room 90-Testumgebung,95-Lüftung
set01Name Power
set01NoArg 1
set01URL http://192.168.1.152/?button=power
set02Hint 1,2,3,4,5,6,7,8,9,10
set02Max 10
set02Min 1
set02Name SpeedSelect
set02URL http://192.168.1.152/?speed=$val
set03Name Automatik
set03NoArg 1
set03URL http://192.168.1.152/?speed=0
stateFormat AbluftStufe
userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex set01Name set01NoArg:0,1 set01URL set02Hint set02Max set02Min set02Name set02URL set03Name set03NoArg:0,1 set03URL
verbose 2
webCmd Power
widgetOverride userattr:textField-long
funktioniert soweit - es gibt allerdings des öfteren Time Outs im Log, es wurde angekündigt das die schnittstelle in das JSON Format verändert wird, bis das geschehen ist gebe ich mich mit der ergebnis zufrieden...
Hallo Lolo,
vielen Dank für dein Device es funktioniert Prima, mit dem HTTPMOD habe ich mich noch nicht beschäftigt, toll das ich dabei auch noch was dabei lernen kann. Heute war es so weit und ich konnte endlich auch mein Bayernlüfter in Betrieb nehmen. ;-)
Lolo,
super, vielen Dank.
Die Steuerung habe ich jetzt von Dir übernommen und bin total zufrieden.
Hast Du eine Idee, wie ich die Steuerung in Abhängigkeit von einem Fensterkontakt realisieren kann?
Ich würde gerne über z.B. ein notify den Lüfter abschalten, wenn das Fenster geöffnet wurde und erst wieder einschalten, wenn das Fenster geschlossen wurde.
Gerade im Sommer, wenn das Fenster den ganzen Tag offen ist, muss der Lüfter nicht laufen.
Vielen Dank.
Grüße Mave
So etwas habe ich noch nicht realisiert - die "Power" funktion des Bayernlüfters scheint mir hierzu zu unzuverlässig zu sein. Ich habe ein DOIF welches je nach Feuchtigkeit eine Lüfterstufe wählt.
Im Winter hatte ich nun in diesem DOIF ein Doelseif wenn die feuchtigkeit geringer als 40% ist abschalten der Lüftung. Meistens hat der Lüfter aber dann in seinen eigenen Automatik Modus gewechselt, es war mir jedenfalls zu unzuverlässig. Ich hätte dann ja auch noch einen "Schnüffelmodus" gebraucht um zu schauen ob es mittlerweile wieder feuchter geworden ist.
Deswegen habe ich das wieder rausprogrammiert...
Ich warte auf die JSON-Schnittstelle bevor ich mich mehr mit dem gerät beschäftige.
Mit DOIF sollte aber der Fensterkontakt recht einfach integrierbar sein.
aus dem Bauch geschossen :
([Fenster] ne "open" and [Feuchte] > 40) (set Luefter SpeeSelect 1)
DOELSE (set Luefter Power)
sollte dazu führen das der DOELSE Pfad ausgeführt wird wenn das Fenster offen ist.
Wie gesagt "power" funktionierte in meinen Tests nicht zuverlässig.
Okay. Vielen Dank.
Leider kann man aktuell nicht Ein oder Aus schalten. Mit Power kann man nur toggeln. Man muss also immer prüfen, welchen Status der Lüfter gerade hat.
genau, das meinte ich...
Ich hab es mal versucht, scheitere aber noch an der Definition des DOIF. Der Lüfter geht aus, sobald ich die Türe öffne, danach passiert aber nichts mehr.
Es wäre super, wenn mir jemand sagen könnte, wie die richtige DOIF Definition aussehen müsste.
Vielen Dank.
define doif_kf_Luefterautomat DOIF ([kf_Tuere] eq "open" and [kf_Bayernluft:abluft_motorstufe] ne "00") (set kf_Bayernluft Power) DOELSEIF ([kf_Tuere] eq "closed" and [kf_Bayernluft:abluft_motorstufe] eq "00") (set kf_Bayernluft Power)
Guten Morgen Mave,
ich würde das anders aufbauen - noch dazu frage ich mich wie Du in die einzelnen Lüfterstufen schaltest...
Zum wiedereinschalten in den Bayernlüfter Automatik modus soll glaube ich ein "Speedselect 0" benutzt werden.
Ich selbst schalte je nach Feuchtigkeit selbst die einzelnen Lüfterstufen.
defmod VEmodeSwitchEG DOIF ([LueftungBadEG:AbluftFeuchtigkeit:d] > 65) (set LueftungBadEG SpeedSelect 10)\
DOELSEIF ([LueftungBadEG:AbluftFeuchtigkeit:d] > 59) (set LueftungBadEG SpeedSelect 8)\
DOELSEIF ([LueftungBadEG:AbluftFeuchtigkeit:d] > 54) (set LueftungBadEG SpeedSelect 6)\
DOELSEIF ([LueftungBadEG:AbluftFeuchtigkeit:d] > 52) (set LueftungBadEG SpeedSelect 5)\
DOELSEIF ([LueftungBadEG:AbluftFeuchtigkeit:d] > 50) (set LueftungBadEG SpeedSelect 3)\
DOELSEIF ([LueftungBadEG:AbluftFeuchtigkeit:d] > 45) (set LueftungBadEG SpeedSelect 1)\
attr VEmodeSwitchEG cmdState 10|8|6|5|3|1|off
attr VEmodeSwitchEG devStateIcon off:general_aus
attr VEmodeSwitchEG room 08-BadUnten,95-Lüftung
Deine Version würde ich zumindest noch mit ? versehen - im moment triggert es nur wenn beide Events gleichzeitig kommen...
etwa so:
define doif_kf_Luefterautomat DOIF ([kf_Tuere] eq "open" and [?kf_Bayernluft:abluft_motorstufe] ne "00") (set kf_Bayernluft Power) DOELSEIF ([kf_Tuere] eq "closed" and [?kf_Bayernluft:abluft_motorstufe] eq "00") (set kf_Bayernluft Power)
Das ? bewirkt das das reading nur ausgewertet wird, wenn also ein trigger vom kf_Tuere kommt und das Reading "abluft" den abgefragten wert hat...
Weiteres hat dann glaube ich eher mit DOIF zu tun als mit dem Luefter - vielleicht solltest Du im DOIF Bereich einen neuen Thread öffnen, da wird dir mit sicherheit geholfen.
Moin Lolo,
vielen Dank, das war der entscheidende Hinweis mit dem Fragezeichen. Wieder etwas dazugelernt.
Ich schalte tagsüber eine höhere Stufe als nachts, ansonsten aber nicht abhängig von den Bedingungen.
Ich muss jetzt nur noch das DOIF dahingehend erweitern, dass die Statusänderung der Motorstufe sofort bei Auslösung in das Reading geschrieben wird. Ansonsten wird die Motorstufe erst mit dem Intervall von 5 min aktualisiert.
Hättest Du mir für die Reading Aktualisierung noch einen Tipp? Oder kann ich eventuell nach Auslösung des DOIF das httpmod triggern, damit alle Readings aktualisiert werden?
Vielen Dank.
Ich frage das httpmod alle 45sek. ab, verursacht ja nur internen traffic - im DOIF kannst Du wiederum mit wait arbeiten, siehe commandref (er wartet die wait Zeit ab bevor er einen befehl ausführt)
Wenn Du den Befehl an den Lüfter gibst heist das ja noch nicht das der auch umgesetzt ist. Das Reading welches dann erst beim nächstem durchlauf kommt ist quasi Deine rückmeldung. Zum Befehlszeitpunkt kann der Lüfter ja noch nicht laufen.
In der Comandref gibt es glaube ich auch ein Beispiel dazu:
vom prinzip her - Lüfterstufe schalten, kurz warten, httpmod mithilfe von reread aktualisieren.
Okay, vielen Dank.
Hallo Mave,
gerade habe ich Dein HTTPMOD mit einem Bayernlüfter in Betrieb genommen, hat sofort tadellos funktioniert, große Klasse! Danke fürs Bereitstellen!!
Eine Anmerkung habe ich noch: in meinem fhem-System werden die Readings (Temperaturen und Luftfeuchtigkeiten) mit Komma als Dezimaltrennung angezeigt, das ist für weitergehende Rechungen oder plots ungeeignet. Durch ein einfaches Attribut a la:
attr LueftungBadEG readingOExpr $val =~ s/,/\./; $val;
kann man die Dezimalkommata durch Dezimalpunkte ersetzen, dann funzt es auch mit Plots und Co.
Viele liebe Grüße nochmals,
Daniel
Hallo synaps-o-dan,
kannst Du bitte mal ein list vom Device machen? Bei mir funktioniert das glaube ich noch nicht wie gewünscht...
Lolo,
hast Du schon die neueste Firmware für das WLAN Modul?
Ich lasse mir jetzt die Daten als XML exportieren und frage sie per HTTPMOD ab.
Den Schalter Start/Stop gibt es ja mittlerweile.
Mit Timeout 60 klappen jetzt so gut wie alle Abfragen und Befehle.
Die Kommas ersetze ich auch durch Punkte, sonst funktionieren die Plots nicht.
Ich bestelle mir bald den zweiten Bayernlüfter.
Nein, ich bin noch auf dem alten stand, ich denke ich nehme mir das update fürs Wochenende vor...
Bin noch nicht sicher wie ich das mache, ich hab im ganzem Haus keine möglichkeit den Lüfter per WEP zu verbinden.
Zitat von: der-Lolo am 04 Oktober 2018, 21:08:56
Hallo synaps-o-dan,
kannst Du bitte mal ein list vom Device machen? Bei mir funktioniert das glaube ich noch nicht wie gewünscht...
Kein Problem, hier ist ein List des Bayernlüfters:
Internals:
BUSY 0
CFGFN ./Bayernluft.cfg
DEF http://192.168.0.39/ 300
Interval 300
LASTSEND 1538753513.07142
MainURL http://192.168.0.39/
ModuleVersion 3.5.1 - 5.7.2018
NAME Luefter_Heizung
NR 41
STATE Lüfter: 00 / 00 Wrg=N/A % T: 20.9/19.9°C H: 43.7/47.0% T_a=18.0°C
TRIGGERTIME 1538753813.06895
TRIGGERTIME_FMT 2018-10-05 17:36:53
TYPE HTTPMOD
addr http://192.168.0.39:80
auth 0
code 200
compress 1
conn
data
displayurl http://192.168.0.39/
header
host 192.168.0.39
httpheader HTTP/1.1 200 OK
Content-Type: text/html
httpversion 1.0
hu_blocking 0
hu_filecount 1
hu_port 80
hu_portSfx
ignoreredirects 0
loglevel 4
path /
protocol http
redirects 0
timeout 2
url http://192.168.0.39/
value 0
QUEUE:
READINGS:
2018-10-05 17:31:54 AbluftFeuchtigkeit 43.7
2018-10-05 17:31:54 AbluftStufe 00
2018-10-05 17:31:54 AbluftTemperatur 20.9
2018-10-05 17:31:54 AussenLuftTemperatur 18.0
2018-10-05 17:31:54 WRG N/A
2018-10-05 17:31:54 ZuluftFeuchtigkeit 47.0
2018-10-05 17:31:54 ZuluftStufe 00
2018-10-05 17:31:54 ZuluftTemperatur 19.9
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url http://192.168.0.39/
value 0
defptr:
readingBase:
AbluftFeuchtigkeit reading
AbluftStufe reading
AbluftTemperatur reading
AussenLuftTemperatur reading
WRG reading
ZuluftFeuchtigkeit reading
ZuluftStufe reading
ZuluftTemperatur reading
readingNum:
AbluftFeuchtigkeit 07
AbluftStufe 01
AbluftTemperatur 06
AussenLuftTemperatur 03
WRG 08
ZuluftFeuchtigkeit 05
ZuluftStufe 02
ZuluftTemperatur 04
readingOutdated:
requestReadings:
update:
AbluftFeuchtigkeit reading 07
AbluftStufe reading 01
AbluftTemperatur reading 06
AussenLuftTemperatur reading 03
WRG reading 08
ZuluftFeuchtigkeit reading 05
ZuluftStufe reading 02
ZuluftTemperatur reading 04
sslargs:
Attributes:
enableControlSet 1
reading01Name AbluftStufe
reading01Regex >Abluft:(...)<
reading02Name ZuluftStufe
reading02Regex >Frischluft:(...)<
reading03Name AussenLuftTemperatur
reading03Regex id='frischluft_temp'>(....)
reading04Name ZuluftTemperatur
reading04Regex id='zuluft_temp'>(....)
reading05Name ZuluftFeuchtigkeit
reading05Regex id='zuluft_feuchte_rel'>(....)
reading06Name AbluftTemperatur
reading06Regex id='abluft_temp'>(....)
reading07Name AbluftFeuchtigkeit
reading07Regex id='abluft_feuchte_rel'>(....)
reading08Name WRG
reading08Regex id='wrg'>(....)
readingOExpr $val =~ s/,/\./; $val;
room Heizung
set01Name Power
set01NoArg 1
set01URL http://192.168.0.39/?button=power
set02Hint 1,2,3,4,5,6,7,8,9,10
set02Max 10
set02Min 1
set02Name SpeedSelect
set02URL http://192.168.0.39/?speed=$val
set03Name Automatik
set03NoArg 1
set03URL http://192.168.0.39/?speed=0
stateFormat Lüfter: AbluftStufe /ZuluftStufe Wrg=WRG% T: AbluftTemperatur/ZuluftTemperatur°C H: AbluftFeuchtigkeit/ZuluftFeuchtigkeit% T_a=AussenLuftTemperatur°C
userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex readingOExpr readingsExpr03 readingsExpr04 readingsExpr05 readingsExpr06 readingsExpr07 readingsExpr08 set01Name set01NoArg:0,1 set01URL set02Hint set02Max set02Min set02Name set02URL set03Name set03NoArg:0,1 set03URL
verbose 2
webCmd Power
widgetOverride userattr:textField-long
Wie gesagt, ich habe in den Readings noch das Komma durch einen Dezimalpunkt ersetzt und das stateFormat angepasst, aber ansonsten alles übernommen. Ich steuere den Lüfter aber auch (noch) nicht über fhem, sondern logge nur seinen Betriebszustand mit.
LG,
Daniel
Heute ist unser neues Gerät zum entfeuchten der Waschküche eingetroffen - ich habe es mit der neuen Firmware bespielen lassen, hat jemand die neue Firmware schon integriert?
Also am Beispiel von Antwort #3 Seite 1 was vom User der-Lolo stammt:
Zeile
defmod LueftungBadEG HTTPMOD http://192.168.1.152/ 43
gegen
defmod LueftungBadEG HTTPMOD http://192.168.1.152/?export=1 43
und Zeilen
attr LueftungBadEG reading01Name AbluftStufe
attr LueftungBadEG reading01Regex >Abluft:(...)<
attr LueftungBadEG reading02Name ZuluftStufe
attr LueftungBadEG reading02Regex >Frischluft:(...)<
attr LueftungBadEG reading03Name AussenLuftTemperatur
attr LueftungBadEG reading03Regex id='frischluft_temp'>(....)
attr LueftungBadEG reading04Name ZuluftTemperatur
attr LueftungBadEG reading04Regex id='zuluft_temp'>(....)
attr LueftungBadEG reading05Name ZuluftFeuchtigkeit
attr LueftungBadEG reading05Regex id='zuluft_feuchte_rel'>(....)
attr LueftungBadEG reading06Name AbluftTemperatur
attr LueftungBadEG reading06Regex id='abluft_temp'>(....)
attr LueftungBadEG reading07Name AbluftFeuchtigkeit
attr LueftungBadEG reading07Regex id='abluft_feuchte_rel'>(....)
attr LueftungBadEG reading08Name WRG
attr LueftungBadEG reading08Regex id='wrg'>(....)
gegen
attr LueftungBadEG reading01Name AbluftStufe
attr LueftungBadEG reading01Regex Speed_Out: (..)
attr LueftungBadEG reading02Name ZuluftStufe
attr LueftungBadEG reading02Regex Speed_In: (..)
attr LueftungBadEG reading03Name AussenLuftTemperatur
attr LueftungBadEG reading03Regex Temp_Fresh: (....)
attr LueftungBadEG reading04Name ZuluftTemperatur
attr LueftungBadEG reading04Regex Temp_Out: (....)
attr LueftungBadEG reading05Name ZuluftFeuchtigkeit
attr LueftungBadEG reading05Regex rel_Humidity_In: (....)
attr LueftungBadEG reading06Name AbluftTemperatur
attr LueftungBadEG reading06Regex Temp_In: (....)
attr LueftungBadEG reading07Name AbluftFeuchtigkeit
attr LueftungBadEG reading07Regex rel_Humidity_Out: (....)
attr LueftungBadEG reading08Name WRG
attr LueftungBadEG reading08Regex Efficiency: (....)
auswechseln
und dann sollte die Integration wieder mit der neuen Firmware WS181011 funktionieren.
LG
brezel
Hallo Brezel,
hast Du das so in betrieb, oder aus dem Bauch geschossen?
Ich bekomme fehler im Log wenn ich das so versuche..
Hi der-Lolo,
janee bei mir läuft es ohne Fehler im Log, ich habe hier die Readings aus dem Bauch in deinem Device 1:1 editiert wie es bei mir läuft, nach nochmaliger Überprüfung fällt mir jetzt auch kein übertragungs Fehler auf. Ich lese allerdings nur die aktuellen Werte aus und zeige sie an, bei mir läuft der Bayernlüfter im Keller im Kellermodus. Was für Einträge hast du den im Log?
Grüße
Brezel
Im Log finde ich TimeOut fehler...
2018.11.02 18:50:38 3: LueftungWaschenKG: Read callback: Error: read from http://192.168.1.154:80 timed out
2018.11.02 18:49:47 3: LueftungWaschenKG: Defined with URL http://192.168.1.154/?export=1 and interval 47
Habe auch schon im HTTPMOD Faden versucht das problem zu lösen - leider erfolglos..
versuche mal den Timeout zu erhöhen
attr LueftungWaschenKG timeout 3
wenn du mit 3 immernoch einen Timeout hast dan mit 4 usw. versuchen
Danke, das hat geholfen.. damit hatte ich nicht gerechnet, die ältere Version kommt ohne zusätzliches TimeOut Attribut zurecht..
PS: Zuluft und Abluft Temperatur sind in deinem Beispiel vertauscht...
Hallo zusammen,
das Template funktioniert bei mir auch soweit perfekt.
Habe jetzt das Aktualisierungsintervall auf 300 sec gestellt.
Allerdings bekomme ich die Userreadings nicht aktualisiert. Diese stehen seit über 30 Minuten auf den alten Werten.
Habt Ihr einen Tipp für mich?
VG
Obelix
userreadings? gibts doch im Beispiel gar keine...
Hmmm,
vielleicht habe ich mich falsch ausgedrückt, aber wenn ich die Attribute anlege, bekomme ich doch "User-"Readings?
Also: AbluftFeuchtigkeit, AbluftStufe, AbluftTemperatur, etc.
VG
obelix
nein, im HTTPMOD Device werden readings erzeugt, User-Readings ist was anderes..
Wenn die sich nicht aktualisieren funktioniert etwas noch nicht richtig, hast Du mal ins Log geschaut - oder den Eventmonitor beobachtet?
Hi Lolo,
OK verstanden.
Weder im Log noch im Eventmonitor sehe ich Einträge.
Anbei das List von dem Device:
Internals:
BUSY 0
CHANGED
DEF http://192.168.123.84/?export=1 60
Interval 60
LASTSEND 1541259179.87231
MainURL http://192.168.123.84/?export=1
ModuleVersion 3.5.1 - 5.7.2018
NAME LueftungWaschkueche
NR 445
STATE 10
TRIGGERTIME 1541259239.86976
TRIGGERTIME_FMT 2018-11-03 16:33:59
TYPE HTTPMOD
addr http://192.168.123.84:80
auth 0
buf HTTP/1.0 200 OK
Content-Type: text/plain
Connection: close
Date: 03.11.2018
Time: 16:32:57
DeviceName: ECFABC07115C
MAC: ECFABC07115C
LocalIP: 192.168.123.84
RSSI: -72
FW_MainController: 1838000A
FW_WiFi: WS181004
SystemMode: Kellermode
Speed_In: 10
Speed_Out: 10
Speed_AntiFreeze: 00
Temp_In: 18,0
Temp_Out: 19,5
Temp_Fresh: 14,4
rel_Humidity_In: 55,5
rel_Humidity_Out: 62,9
abs_Humidity_In: 8,6
abs_Humidity_Out: 10,6
Efficiency: 71,0
Humidity_Transport: -975
0
data
displayurl http://192.168.123.84/?export=1
header
host 192.168.123.84
httpdatalen -2
httpversion 1.0
ignoreredirects 0
loglevel 4
path /?export=1
protocol http
redirects 0
timeout 2
url http://192.168.123.84/?export=1
value 0
QUEUE:
READINGS:
2018-11-03 14:34:31 AbluftFeuchtigkeit 65,1
2018-11-03 14:34:31 AbluftStufe 10
2018-11-03 14:34:31 AbluftTemperatur 18,4
2018-11-03 14:34:31 AussenLuftTemperatur 14,7
2018-11-03 14:34:31 WRG 70,9
2018-11-03 14:34:31 ZuluftFeuchtigkeit 54,8
2018-11-03 14:34:31 ZuluftStufe 10
2018-11-03 14:34:31 ZuluftTemperatur 19,9
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url http://192.168.123.84/?export=1
value 0
sslargs:
Attributes:
enableControlSet 1
reading01Name AbluftStufe
reading01Regex Speed_Out: (..)
reading02Name ZuluftStufe
reading02Regex Speed_In: (..)
reading03Name AussenLuftTemperatur
reading03Regex Temp_Fresh: (....)
reading04Name ZuluftTemperatur
reading04Regex Temp_Out: (....)
reading05Name ZuluftFeuchtigkeit
reading05Regex rel_Humidity_In: (....)
reading06Name AbluftTemperatur
reading06Regex Temp_In: (....)
reading07Name AbluftFeuchtigkeit
reading07Regex rel_Humidity_Out: (....)
reading08Name WRG
reading08Regex Efficiency: (....)
room Waschküche
set01Name Power
set01NoArg 1
set01URL http://192.168.123.84/?button=power
set02Hint 1,2,3,4,5,6,7,8,9,10
set02Max 10
set02Min 1
set02Name SpeedSelect
set02URL http://192.168.123.84/?speed=$val
set03Name Automatik
set03NoArg 1
set03URL http://192.168.123.84/?speed=0
stateFormat AbluftStufe
userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex set01Name set01NoArg:0,1 set01URL set02Hint set02Max set02Min set02Name set02URL set03Name set03NoArg:0,1 set03URL
verbose 2
webCmd Power
widgetOverride userattr:textField-long
Die Readings sind von 14:34.
VG
obelix
Ich vermute mal Du hast das gleiche problem wie ich hatte - Du siehst nichts im Log weil verbose 2 gesetzt ist.
Wenn Du verbose mal auf 3 oder gar 4 setzt siehst Du vielleicht auch die TimeOut einträge im Log die ich hatte.
Falls das der Fall ist kannst du das TimeOut Attribut auf 3 setzen.
Wenn alles läuft wie gewünscht kannst Du das verbose Attribut meiner meinung nach auch löschen...
PS: bei Bayernluft gibt es updates - die letzte firmware die zur verfügung gestellt wurde ist vom 31.10.18 Du bist noch bei 04.10.18
Hi Lolo,
danke das war es wohl. Aber da wäre ich tatsächlich nicht allein drauf gekommen.
Nachdem ich ja neue Daten vom Lüfter bekomme hatte (internals: buf), bin ich stark davon ausgegangen, dass es kein Kommunikations-Timeout sein kann, nur dass die Daten nicht sauber geparst und damit aufbereitet werden.
Anscheinend muss ich an meinem Grundverständnis bzgl. FHEM und HTTPMOD noch etwas arbeiten.
Danke
obelix
Kein problem - ich wusste das auch nur weil ich das selbe problem hatte...
Vielleicht sollten wir Herrn Akontz mal sagen das die antwort auf die ?export=1 anfrage länger als gewöhnlich brauch.
Hallo zusammen,
bei mir hat es so funktioniert. Ich fasse es zusammen damit der Nächte nicht alles neu machen muss:
Fehler die ich durchgemacht habe standen auch alle schon irgendwo.
1. Verbose mode und timeout.
2. Komma durch Punkt ersetzten
3. logdatei erstellen
Hier das Device:
defmod Lueftung_EGH HTTPMOD http://192.168.6.222/?export=1 43
attr Lueftung_EGH userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex readingEncode readingOExpr set01Name set01NoArg:0,1 set01URL set02Hint set02Max set02Min set02Name set02URL set03Name set03NoArg:0,1 set03URL
attr Lueftung_EGH enableControlSet 1
attr Lueftung_EGH reading01Name AbluftStufe
attr Lueftung_EGH reading01Regex Speed_Out: (..)
attr Lueftung_EGH reading02Name ZuluftStufe
attr Lueftung_EGH reading02Regex Speed_In: (..)
attr Lueftung_EGH reading03Name AussenLuftTemperatur
attr Lueftung_EGH reading03Regex Temp_Fresh: (....)
attr Lueftung_EGH reading04Name ZuluftTemperatur
attr Lueftung_EGH reading04Regex Temp_Out: (....)
attr Lueftung_EGH reading05Name ZuluftFeuchtigkeit
attr Lueftung_EGH reading05Regex rel_Humidity_In: (....)
attr Lueftung_EGH reading06Name AbluftTemperatur
attr Lueftung_EGH reading06Regex Temp_In: (....)
attr Lueftung_EGH reading07Name AbluftFeuchtigkeit
attr Lueftung_EGH reading07Regex rel_Humidity_Out: (....)
attr Lueftung_EGH reading08Name WRG
attr Lueftung_EGH reading08Regex Efficiency: (....)
attr Lueftung_EGH readingEncode utf8
attr Lueftung_EGH readingOExpr $val =~ s/,/\./;; $val;;
attr Lueftung_EGH room 90-Testumgebung,95-Lüftung
attr Lueftung_EGH set01Name Power
attr Lueftung_EGH set01NoArg 1
attr Lueftung_EGH set01URL http://192.168.6.222/?button=power
attr Lueftung_EGH set02Hint 1,2,3,4,5,6,7,8,9,10
attr Lueftung_EGH set02Max 10
attr Lueftung_EGH set02Min 1
attr Lueftung_EGH set02Name SpeedSelect
attr Lueftung_EGH set02URL http://192.168.6.222/?speed=$val
attr Lueftung_EGH set03Name Automatik
attr Lueftung_EGH set03NoArg 1
attr Lueftung_EGH set03URL http://192.168.6.222/?speed=0
attr Lueftung_EGH stateFormat AbluftStufe
attr Lueftung_EGH timeout 3
attr Lueftung_EGH verbose 3
attr Lueftung_EGH webCmd Power
attr Lueftung_EGH widgetOverride userattr:textField-long
setstate Lueftung_EGH 10
setstate Lueftung_EGH 2019-09-04 09:15:29 AbluftFeuchtigkeit 68.1
setstate Lueftung_EGH 2019-09-04 09:15:29 AbluftStufe 10
setstate Lueftung_EGH 2019-09-04 09:15:29 AbluftTemperatur 19.1
setstate Lueftung_EGH 2019-09-04 09:15:29 AussenLuftTemperatur 17.9
setstate Lueftung_EGH 2019-09-04 09:15:29 WRG 62.3
setstate Lueftung_EGH 2019-09-04 09:15:29 ZuluftFeuchtigkeit 63.7
setstate Lueftung_EGH 2019-09-04 09:15:29 ZuluftStufe 10
setstate Lueftung_EGH 2019-09-04 09:15:29 ZuluftTemperatur 19.8
Hier die Logdatei:
defmod Lueftung_EGH_FileLog_1 FileLog ./log/Lueftung_EGH_FileLog_1.log Lueftung_EGH:AbluftFeuchtigkeit:(...)|Lueftung_EGH:AbluftStufe:(..)|Lueftung_EGH:AbluftTemperatur:(...)|Lueftung_EGH:AussenLuftTemperatur:(...)|Lueftung_EGH:WRG:..*|Lueftung_EGH:ZuluftFeuchtigkeit:(...)|Lueftung_EGH:ZuluftStufe:(..)|Lueftung_EGH:ZuluftTemperatur:...*|
attr Lueftung_EGH_FileLog_1 room 95-Lüftung
setstate Lueftung_EGH_FileLog_1 active
setstate Lueftung_EGH_FileLog_1 2019-09-04 09:17:38 linesInTheFile 5978
Hallo zusammen,
mittlerweile gibt es mehr Werte die abgefragt werden können. leider schaffe ich es nicht den Code entsprechend zu erweitern.
Das sind die auslesbaren Werte.
Date: 13.09.2019
Time: 11:38:07
DeviceName: ECFABC0D662A
MAC: ECFABC0D662A
LocalIP: 192.168.6.222
RSSI: -91
FW_MainController: 1838000A
FW_WiFi: WS181130
SystemMode: Kellermode
Speed_In: 00
Speed_Out: 00
Speed_AntiFreeze: 00
Temp_In: 19,4
Temp_Out: 20,6
Temp_Fresh: 19,0
rel_Humidity_In: 85,3
rel_Humidity_Out: 78,6
abs_Humidity_In: 14,2
abs_Humidity_Out: 14,1
Efficiency: N/A
Humidity_Transport: 0
SystemOn = 1
AntiFreeze = 0
Fixed_Speed = 0
Defrosting = 0
Landlord_Mode = 0
Cross_Ventilation = 0
Timer_active = 0
Leider wird z.B. abs_Humidity_Out angezeigt aber abs_Humidity_In nicht. Ich sehe keinen Unterschied warum nicht.
Hat jemand eine Idee?
So sieht das Device aus.
defmod Lueftung_EGH HTTPMOD http://192.168.6.222/?export=1 43
attr Lueftung_EGH userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading10Name reading10Regex reading11Name reading11Regex reading12Name reading12Regex readingEncode readingOExpr set01Name set01NoArg:0,1 set01URL set02Hint set02Max set02Min set02Name set02URL set03Name set03NoArg:0,1 set03URL
attr Lueftung_EGH enableControlSet 1
attr Lueftung_EGH reading01Name ZuluftStufe
attr Lueftung_EGH reading01Regex Speed_In: (..)
attr Lueftung_EGH reading02Name ZuluftTemperatur
attr Lueftung_EGH reading02Regex Temp_In: (....)
attr Lueftung_EGH reading03Name AbluftTemperatur
attr Lueftung_EGH reading03Regex Temp_Out: (....)
attr Lueftung_EGH reading04Name AussenLuftTemperatur
attr Lueftung_EGH reading04Regex Temp_Fresh: (....)
attr Lueftung_EGH reading05Name ZuluftFeuchtigkeit
attr Lueftung_EGH reading05Regex rel_Humidity_In: (....)
attr Lueftung_EGH reading06Name AbluftFeuchtigkeit
attr Lueftung_EGH reading06Regex rel_Humidity_Out: (....)
attr Lueftung_EGH reading07Name Abs_Feuchtigkeit_Zuluft
attr Lueftung_EGH reading07Regex abs_Humidity_In: (....)
attr Lueftung_EGH reading08Name Abs_Feuchtigkeit_Abluft
attr Lueftung_EGH reading08Regex abs_Humidity_Out: (....)
attr Lueftung_EGH reading09Name WRG
attr Lueftung_EGH reading09Regex Efficiency: (....)
attr Lueftung_EGH reading10Name Humidity_Transport
attr Lueftung_EGH reading10Regex Humidity_Transport: (.....)
attr Lueftung_EGH reading11Name abs_Humidity_In
attr Lueftung_EGH reading11Regex abs_Humidity_In: (....)
attr Lueftung_EGH readingEncode utf8
attr Lueftung_EGH readingOExpr $val =~ s/,/\./;; $val;;
attr Lueftung_EGH room 90-Testumgebung,95-Lüftung
attr Lueftung_EGH set01Name Power
attr Lueftung_EGH set01NoArg 1
attr Lueftung_EGH set01URL http://192.168.6.222/?button=power
attr Lueftung_EGH set02Hint 1,2,3,4,5,6,7,8,9,10
attr Lueftung_EGH set02Max 10
attr Lueftung_EGH set02Min 1
attr Lueftung_EGH set02Name SpeedSelect
attr Lueftung_EGH set02URL http://192.168.6.222/?speed=$val
attr Lueftung_EGH set03Name Automatik
attr Lueftung_EGH set03NoArg 1
attr Lueftung_EGH set03URL http://192.168.6.222/?speed=0
attr Lueftung_EGH stateFormat AbluftStufe
attr Lueftung_EGH timeout 8
attr Lueftung_EGH verbose 3
attr Lueftung_EGH webCmd Power
attr Lueftung_EGH widgetOverride userattr:textField-long
setstate Lueftung_EGH AbluftStufe
setstate Lueftung_EGH 2019-09-13 11:36:25 AbluftFeuchtigkeit 78.2
setstate Lueftung_EGH 2019-09-13 11:36:25 AbluftTemperatur 20.7
setstate Lueftung_EGH 2019-09-13 11:36:25 Abs_Feuchtigkeit_Abluft 14.1
setstate Lueftung_EGH 2019-09-13 11:36:25 Abs_Feuchtigkeit_Zuluft 14.3
setstate Lueftung_EGH 2019-09-13 11:36:25 AussenLuftTemperatur 19.0
setstate Lueftung_EGH 2019-09-10 21:46:38 Humidity_Transport -1023
setstate Lueftung_EGH 2019-09-13 11:34:16 WRG 34.2
setstate Lueftung_EGH 2019-09-13 11:36:25 ZuluftFeuchtigkeit 84.5
setstate Lueftung_EGH 2019-09-13 11:36:25 ZuluftStufe 00
setstate Lueftung_EGH 2019-09-13 11:36:25 ZuluftTemperatur 19.6
setstate Lueftung_EGH 2019-09-13 11:36:25 abs_Humidity_In 14.3
Ok es liegt am HTTPMOD und zwar je nach dem wie die Werte definiert sind.
attr Lueftung_EGH reading01Name ZuluftStufe:
attr Lueftung_EGH reading01Regex Speed_In: (..)
oder
attr Lueftung_EGH reading03Name ZuluftTemperatur
attr Lueftung_EGH reading03Regex Temp_In: (....)
Das Problem ist wenn (....) dann funktioniert es mit zweistelligen Temperatur Werten wenn die Temperatur einstellig wird nicht mehr.
Kann mir jemand sagen wie man das relativ statt absolut definiert?
UPDATE: 23.09.2019
So funktioniert es:
defmod Lueftung_EGH HTTPMOD http://192.168.6.222/?export=1 43
attr Lueftung_EGH userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading10Name reading10Regex reading11Name reading11Regex reading12Name reading12Regex readingEncode readingOExpr set01Name set01NoArg:0,1 set01URL set02Hint set02Max set02Min set02Name set02URL set03Name set03NoArg:0,1 set03URL
attr Lueftung_EGH enableControlSet 1
attr Lueftung_EGH reading01Name AbluftStufe
attr Lueftung_EGH reading01Regex Speed_Out: (..)
attr Lueftung_EGH reading02Name ZuluftStufe
attr Lueftung_EGH reading02Regex Speed_In: (..)
attr Lueftung_EGH reading03Name ZuluftTemperatur
attr Lueftung_EGH reading03Regex Temp_In: (.*)
attr Lueftung_EGH reading04Name AbluftTemperatur
attr Lueftung_EGH reading04Regex Temp_Out: (.*)
attr Lueftung_EGH reading05Name AussenLuftTemperatur
attr Lueftung_EGH reading05Regex Temp_Fresh: (.*)
attr Lueftung_EGH reading06Name ZuluftFeuchtigkeit
attr Lueftung_EGH reading06Regex rel_Humidity_In: (.*)
attr Lueftung_EGH reading07Name AbluftFeuchtigkeit
attr Lueftung_EGH reading07Regex rel_Humidity_Out: (.*)
attr Lueftung_EGH reading08Name Abs_Feuchtigkeit_Zuluft
attr Lueftung_EGH reading08Regex abs_Humidity_In: (.*)
attr Lueftung_EGH reading09Name Abs_Feuchtigkeit_Abluft
attr Lueftung_EGH reading09Regex abs_Humidity_Out: (.*)
attr Lueftung_EGH reading10Name WRG
attr Lueftung_EGH reading10Regex Efficiency: (.*)
attr Lueftung_EGH reading11Name Humidity_Transport
attr Lueftung_EGH reading11Regex Humidity_Transport: (.*)
attr Lueftung_EGH reading12Name SystemOn
attr Lueftung_EGH reading12Regex SystemOn: (.*)
attr Lueftung_EGH readingEncode utf8
attr Lueftung_EGH readingOExpr $val =~ s/,/\./;; $val;;
attr Lueftung_EGH room 90-Testumgebung,95-Lüftung
attr Lueftung_EGH set01Name Power
attr Lueftung_EGH set01NoArg 1
attr Lueftung_EGH set01URL http://192.168.6.222/?button=power
attr Lueftung_EGH set02Hint 1,2,3,4,5,6,7,8,9,10
attr Lueftung_EGH set02Max 10
attr Lueftung_EGH set02Min 1
attr Lueftung_EGH set02Name SpeedSelect
attr Lueftung_EGH set02URL http://192.168.6.222/?speed=$val
attr Lueftung_EGH set03Name Automatik
attr Lueftung_EGH set03NoArg 1
attr Lueftung_EGH set03URL http://192.168.6.222/?speed=0
attr Lueftung_EGH stateFormat AbluftStufe
attr Lueftung_EGH timeout 8
attr Lueftung_EGH verbose 5
attr Lueftung_EGH webCmd Power
attr Lueftung_EGH widgetOverride userattr:textField-long
setstate Lueftung_EGH 00
setstate Lueftung_EGH 2019-09-23 12:29:39 AbluftFeuchtigkeit 72.9
setstate Lueftung_EGH 2019-09-23 12:29:39 AbluftStufe 00
setstate Lueftung_EGH 2019-09-17 14:45:44 AbluftStufe: 10
setstate Lueftung_EGH 2019-09-23 12:29:39 AbluftTemperatur 19.8
setstate Lueftung_EGH 2019-09-23 12:29:39 Abs_Feuchtigkeit_Abluft 12.5
setstate Lueftung_EGH 2019-09-23 12:29:39 Abs_Feuchtigkeit_Zuluft 12.6
setstate Lueftung_EGH 2019-09-23 12:29:39 AussenLuftTemperatur 18.4
setstate Lueftung_EGH 2019-09-23 12:29:39 Humidity_Transport 0
setstate Lueftung_EGH 2019-09-23 12:29:39 WRG N/A
setstate Lueftung_EGH 2019-09-23 12:29:39 ZuluftFeuchtigkeit 80.2
setstate Lueftung_EGH 2019-09-23 12:29:39 ZuluftStufe 00
setstate Lueftung_EGH 2019-09-17 14:45:44 ZuluftStufe: 10
setstate Lueftung_EGH 2019-09-23 12:29:39 ZuluftTemperatur 18.3
setstate Lueftung_EGH 2019-09-17 09:04:54 abs_Humidity_In 10.0
Zitat von: Mikesch am 17 September 2019, 14:29:10
UPDATE: 23.09.2019
So funktioniert es:
Das kann ich bestätigen, klappt auf Anhieb.
Danke dafür,
Adolar