Hallo zusammen,
ich möchte einen tasmotisiertem Shelly 1 U2 welcher mit einem SI7021 ausgestattet ist zum Thermostat missbrauchen.
Ziel: Ich stell am FTUI eine Solltemperatur ein, der Shelly macht das Relais zu, der Stellmotor geht an bis die Temperatur erreicht ist.. soweit alles easy.
Jetzt hat der aber von Haus aus keine Einstellwerte die man schreiben könnte wie desired Temp etc. ich habe im Forum schon jemanden gefunden der so etwas ohne FTUI per Dummy umgesetzt hat aber ich glaube das müsste einfacher gehen.
LINK: https://wiki.fhem.de/wiki/Sonoff#Sonoff_Switch_als_Thermostat_verwenden_mit_MQTT
Für alternative Hardwarevorschläge bin ich offen, allerdings müsste diese in eine tiefe 60er Dose passen ;)
Internals:
CID thermostat.buero
DEF thermostat.buero
DEVICETOPIC MQTT2_thermostat.buero
FUUID 5e650608-f33f-20ab-007e-b999ed857c9e7b68
IODev m2server
LASTInputDev m2server
MSGCNT 11
NAME MQTT2_thermostat.buero
NR 320
STATE 58.0% - 22.9°C - off
TYPE MQTT2_DEVICE
m2server_MSGCNT 11
m2server_TIME 2020-03-08 17:16:57
JSONMAP:
Channel_0 0
Channel_1 0
Channel_2 0
Channel_3 0
Channel_4 0
Color 0
Dimmer 0
HSBColor 0
POWER1 0
POWER2 0
POWER3 0
POWER4 0
READINGS:
2020-03-08 16:31:37 FallbackTopic cmnd/thermostat.buero_fb/
2020-03-08 16:31:37 GroupTopic cmnd/tasmotas/
2020-03-08 17:16:57 Heap 27
2020-03-08 16:31:37 Hostname thermostat_buero-3939
2020-03-08 16:31:37 IPAddress 192.168.178.104
2020-03-08 16:55:00 LWT Online
2020-03-08 17:16:57 LoadAvg 19
2020-03-08 16:31:37 Module Shelly 1 U2
2020-03-08 17:16:57 MqttCount 3
2020-03-08 16:31:37 RestartReason Power on
2020-03-08 17:16:57 SI7021_Humidity 58.0
2020-03-08 17:16:57 SI7021_Temperature 22.9
2020-03-08 15:50:47 SaveData on
2020-03-08 15:50:46 SetOption26 on
2020-03-08 17:16:57 Sleep 50
2020-03-08 17:16:57 SleepMode Dynamic
2020-03-08 15:50:45 StateText1 off
2020-03-08 15:50:46 StateText2 on
2020-03-08 15:50:46 StateText3 toggle
2020-03-08 15:50:46 StateText4 hold
2020-03-08 17:16:57 Switch1 off
2020-03-08 17:16:57 TempUnit C
2020-03-08 17:16:57 Time 2020-03-08T17:16:57
2020-03-08 17:16:57 Uptime 0T00:45:27
2020-03-08 17:16:57 UptimeSec 2727
2020-03-08 16:31:37 Version 8.1.0.8(643d3d0-tasmota)
2020-03-08 16:31:37 WebServerMode Admin
2020-03-08 17:16:57 Wifi_AP 1
2020-03-08 17:16:57 Wifi_BSSId B4:FB:E4:4D:94:2C
2020-03-08 17:16:57 Wifi_Channel 1
2020-03-08 17:16:57 Wifi_Downtime 0T00:00:06
2020-03-08 17:16:57 Wifi_LinkCount 1
2020-03-08 17:16:57 Wifi_RSSI 70
2020-03-08 17:16:57 Wifi_SSId
2020-03-08 17:16:57 Wifi_Signal -65
2020-03-08 16:31:37 state off
2020-03-08 16:55:52 subscriptions cmnd/tasmotas/# cmnd/thermostat.buero_fb/# cmnd/thermostat_buero/#
Attributes:
IODev m2server
autocreate 0
comment NOTE: For on-for-timer SetExtensions are used. You may add on-for-timer option running on the device. The following is limited to 1h max duration, but will not affect future simple "on" commands:<br>on-for-timer {my $duration = $EVTPART1*10; 'cmnd/cmnd/thermostat_buero/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}<br>See the "Praxisbeispiele" in the wiki for "pulseTime1" alternative option and it's restrictions.
event-on-change-reading .*
icon hue_filled_outlet
jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0
model tasmota_basic_state_power1
readingList tele/thermostat_buero/LWT:.* LWT
tele/thermostat_buero/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/thermostat_buero/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/thermostat_buero/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/thermostat_buero/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }
stat/thermostat_buero/POWER1:.* state
stat/thermostat_buero/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
room MQTT2_DEVICE
setList off:noArg cmnd/thermostat_buero/POWER1 0
on:noArg cmnd/thermostat_buero/POWER1 1
toggle:noArg cmnd/thermostat_buero/POWER1 2
setOtaUrl:textField cmnd/thermostat_buero/OtaUrl $EVTPART1
upgrade:noArg cmnd/thermostat_buero/upgrade 1
setStateList on off toggle
stateFormat SI7021_Humidity% - SI7021_Temperature°C - state
Hi,
Umsetzung per FTUI ist nicht mein Ding.
Das hohe Endziel wäre, wenn Du das Ganze per Regeln im Tasmota machen würdest! dann läuft es von FHEM unabhängig.
https://github.com/arendst/Tasmota/wiki/Rule-Cookbook#thermostat-example
Bis dahin hätte ich den Vorschlag es mit einem extra Device zu machen, entweder THRESHOLD oder einem DOIF.
Für eine DOIF hätte ich folgenden Vorschlag von einem meiner Feuchtigkeitsregler:
defmod di_threshold_WG DOIF ([SensorWG:humidity]<([$SELF:desired]-[$SELF:hysterese]/2)) \
(set PSD1_Sw off) \
DOELSEIF ([SensorWG:humidity]>([$SELF:desired]+[$SELF:hysterese]/2)) \
(set PSD1_Sw on)
attr di_threshold_WG checkall event
attr di_threshold_WG cmdState off|on
attr di_threshold_WG readingList desired,hysterese
attr di_threshold_WG room Wintergarten
attr di_threshold_WG setList desired:60,62,64,66,68,70 hysterese:2,5,10
attr di_threshold_WG webCmd desired:hysterese
Du müsstest Sensor, Werte in der setList und die Schaltkommandos anpassen (tauschen on und off)
Gruß Otto
Hi ,
danke, klappt super! Aber du hast recht, das ding muss auch ohne Server funktionieren.. Kackt der Raspi ab wird die Bude kalt, ganz schlecht.
define di_therm_buero DOIF ([MQTT2_thermostat.buero:SI7021_Temperature]<([$SELF:desired]-[$SELF:hysterese]/2)) \
(set MQTT2_thermostat.buero on) \
DOELSEIF ([MQTT2_thermostat.buero:SI7021_Temperature]>([$SELF:desired]+[$SELF:hysterese]/2)) \
(set MQTT2_thermostat.buero off)
setuuid di_therm_buero 5e66642c-f33f-20ab-e010-f9d7b61a3a061c2a
attr di_therm_buero alias Thermostat Buero Sollwert
attr di_therm_buero icon temp_control
attr di_therm_buero checkall event
attr di_therm_buero cmdState off|on
attr di_therm_buero readingList desired,hysterese
attr di_therm_buero room MQTT2_DEVICE
attr di_therm_buero setList desired:18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0 hysterese:0.5,1,2,4,5
attr di_therm_buero webCmd desired:hysterese
Kann nicht sagen, ob das die beste firmware-Variante ist, aber eigentlich sollte sowas mit einer Raumthermostat-Funktionalität ohne FHEM abbildbar sein bzw. nur mit einer Solltemperaturstellung via FHEM.
Suche liefert z.B. https://github.com/klausahrenberg/WThermostatBeca (ist aber andere Hardware und wäre ggf. auf den shelly anzupassen, was aber vermutlich nicht der große Act wäre).
Auf alle Fälle ist es m.E. zu empfehlen, sowas auf autonom entscheidende Hardware auszulagern (ob es undbedingt mit WLAN sein muß ist eine andere Frage), aber leider ist da die Auswahl an bezahlbaren Alternativen nicht so groß. Es könnte auch Sinn machen, mal bei den "Tasmota-Jungs" anzuklopfen, ob die sowas implementieren können (ggf. als speziellen "flavour", wie bei den Rollladen-Geschichten auch).
Wenn ihr den MQTT2-Weg weitergeht, gibt's für "gute" firmware auch gerne ein attrTemplate ;) .
Zitat von: Beta-User am 09 März 2020, 17:13:23
Auf alle Fälle ist es m.E. zu empfehlen, sowas auf autonom entscheidende Hardware auszulagern (ob es undbedingt mit WLAN sein muß ist eine andere Frage), aber leider ist da die Auswahl an bezahlbaren Alternativen nicht so groß. Es könnte auch Sinn machen, mal bei den "Tasmota-Jungs" anzuklopfen, ob die sowas implementieren können (ggf. als speziellen "flavour", wie bei den Rollladen-Geschichten auch).
Hallo,
oder einfach diesen Typ benutzen ;) https://forum.fhem.de/index.php/topic,80703.0.html (https://forum.fhem.de/index.php/topic,80703.0.html)
Gibt es mittlerweile in verschiedenen Versionen. Wzut hat ein Modul dafür geschrieben, welches offiziell in FHEM ist. https://fhem.de/commandref_DE.html#BEOK (https://fhem.de/commandref_DE.html#BEOK)
Weekprofil funktioniert auch damit und kostet so um die 30- 40€. Was will man mehr :) https://www.amazon.de/s?k=beok+thermostat+wifi (https://www.amazon.de/s?k=beok+thermostat+wifi)
Gruß
Nachdem ich mich jetzt schon einige Zeit mit dem Thema auseinandergesetzt habe, glaube ich einen ganz anderen Weg einzuschlagen..
HmIP-FALMOT-C12 + MIOB + Raspberrymatic (gibts sowas evtl. auch opensource)
Habt Ihr Erfahrung damit oder sogar sowas im Betrieb?
Mir würde vorschweben:
- Nachrüstung Heizkreisverteiler mit motorischem Abgleich (Wie stellt man dann die Durchflussventile ein oder kommen die raus?)
- dynamische PWM oder PID Regelung der Heizkreis pumpe je nach Anforderung
- Dazu müsste aber m.E. nach an jedem VL/RL ein Fühler dran um per Hysterese die Ventilstellung zu beeinflussen was der Homematic anscheinend nicht macht. (vllt. Blödsinn nur so ein Gedanke)
- Das ganze Geraffel kostet eine hübsche Stange geld, allein 3 Aktoren sind 600.- dann das MIOB für 100 und den ccu + Raumthermostate etc. etc. würde mal sagen das mal 1,5k bluten muss.
- Den Fußboden als thermischen Speicher benutzen, wenn am Tag die Solarthermische über 35°C läuft einfach alle Heizkreise aufmachen um die Temperaturspreizung besser auszunutzen.
Eigentlich würde ich gern den MQTT2 Weg weitergehen weil das recht gut funktioniert..
Zitat von: kabanett am 09 März 2020, 18:12:10
Hallo,
oder einfach diesen Typ benutzen ;) https://forum.fhem.de/index.php/topic,80703.0.html (https://forum.fhem.de/index.php/topic,80703.0.html)
Gibt es mittlerweile in verschiedenen Versionen. Wzut hat ein Modul dafür geschrieben, welches offiziell in FHEM ist. https://fhem.de/commandref_DE.html#BEOK (https://fhem.de/commandref_DE.html#BEOK)
Weekprofil funktioniert auch damit und kostet so um die 30- 40€. Was will man mehr :) https://www.amazon.de/s?k=beok+thermostat+wifi (https://www.amazon.de/s?k=beok+thermostat+wifi)
Gruß
Genau das will ich nicht mehr, das irgendwelche Kinder/Besuch etc. am Thermostat rumspielen.. Ihr kennt das sicher ;) Das soll fix mit 2-4 Zeiten eingestellt werden oder per anwesenheitskennung und aus der Dose hängt ein DS1820 oder ein AM2301 etc. dann ist damit ruhe :)