Slider - Positiv und Negativ in einem

Begonnen von Alveole, 13 Januar 2015, 23:01:00

Vorheriges Thema - Nächstes Thema

wthiess

ja ich hab ja deine config 1:1 kopiert
Raspberry Pi 3; 8xRelais; Aptodec Nano V3.0 Pro; FS1000a; RF-5V; Hama TS33C; 3x Brennerstuhl FunkSteckdosen; 9x Dooya funk Rollo; KWL Systemair VR400; Thermokon Modbusthermostat; diverse China Modbus Thermostate; 1-wire Bus; Telegram; QuickFhem; FhemNative; Firmata; Alexa ......

DeeSPe

#31
Ich kann Dir leider nichts Perfektes auf Dein System zuschneidern.
Ich kann Dir nur Tipps geben wie man es macht!
Ob das dann genau so richtig ist bei Deiner Gerätekonstellation und Readings kannst nur Du wissen!

Habe hier wieder mal eine dummy Konfig die Deinen Namen entspricht und hier funktioniert alles so wie es soll!

defmod Soll_WZ dummy
attr Soll_WZ readingList Sollof
attr Soll_WZ room TEST
attr Soll_WZ setList Sollof:slider,-150,5,50
attr Soll_WZ stateFormat {Value("Soll_WZd")}
attr Soll_WZ webCmd Sollof

defmod Soll_WZd dummy
attr Soll_WZd event-on-change-reading .*
attr Soll_WZd readingList realTemp
attr Soll_WZd room TEST
attr Soll_WZd setList realTemp:slider,5,0.5,25,1
attr Soll_WZd stateFormat realTemp °C
attr Soll_WZd webCmd realTemp

defmod Soll_WZd2 notify Soll_WZd:realTemp.* {fhem "set Soll_WZ Sollof ".(sprintf("%.1f",$EVTPART1) - 20) * 10}
attr Soll_WZd2 room TEST

defmod Soll_WZd3 notify Soll_WZ:Sollof.* {fhem "set Soll_WZd realTemp ".(sprintf("%.1f",$EVTPART1 / 10 + 20))}
attr Soll_WZd3 room TEST


Gruß
Dan

EDIT: Dateianhang entfernt.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

wthiess

Danke Dan nochmals für die Mühe. Ich denke das dieses Superthermostat das Problem macht. Ich werde das Ding mal Reseten. Sollte ich irgendwann erfolg haben werde ich hier berichten.


Lg Wolfgang
Raspberry Pi 3; 8xRelais; Aptodec Nano V3.0 Pro; FS1000a; RF-5V; Hama TS33C; 3x Brennerstuhl FunkSteckdosen; 9x Dooya funk Rollo; KWL Systemair VR400; Thermokon Modbusthermostat; diverse China Modbus Thermostate; 1-wire Bus; Telegram; QuickFhem; FhemNative; Firmata; Alexa ......

DeeSPe

#33
Ich habe nochmal was Anderes probiert!
In meinem dummy Setup funktioniert das auch wie gewünscht.
Statt mit zwei notify(s) habe ich nun nur 1x notify und 1x cmdalias.
Vielleicht klappt das besser mit Deinem Setup!?

define Soll_WZ dummy
attr Soll_WZ readingList Sollof
attr Soll_WZ room TEST
attr Soll_WZ setList Sollof:slider,-150,5,50
attr Soll_WZ stateFormat {sprintf("%.1f",ReadingsVal("Soll_WZ","Sollof",100)/10+20)." °C"}
attr Soll_WZ webCmd Sollof


define Soll_WZd dummy
attr Soll_WZd readingList realTemp
attr Soll_WZd room TEST
attr Soll_WZd setList realTemp:slider,5,0.5,25,1
attr Soll_WZd stateFormat realTemp °C
attr Soll_WZd webCmd realTemp


define Soll_WZ1 notify Soll_WZ:Sollof.* {fhem "setreading Soll_WZd realTemp ".sprintf("%.1f",$EVTPART1/10+20)}
attr Soll_WZ1 room TEST


defmod Soll_WZd_cmdalias cmdalias set Soll_WZd realTemp.* AS {fhem "set Soll_WZ Sollof ".sprintf("%.1f",$EVTPART2-20)*10}
attr Soll_WZd_cmdalias room TEST


Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

wthiess

#34
Danke Dan für Deine Mühe!

Hab jetzt folgendes geschafft: 10Grad Frostschutz oder 20-25 Grad in 0,5 Schritten.
Jeder Wert unter 20Grad funktioniert zwar aber der Slider springt sofort auf den niedrigsten Wert. Damit kann ich leben. Vielleicht sind meine Fhem Kenntnisse in Zukunft besser. Ich werde doch mal etwas Programmieren lernen müssen.

lg
Wolfgang
Raspberry Pi 3; 8xRelais; Aptodec Nano V3.0 Pro; FS1000a; RF-5V; Hama TS33C; 3x Brennerstuhl FunkSteckdosen; 9x Dooya funk Rollo; KWL Systemair VR400; Thermokon Modbusthermostat; diverse China Modbus Thermostate; 1-wire Bus; Telegram; QuickFhem; FhemNative; Firmata; Alexa ......

wthiess

Endlich geschafft!

Hier meine funktionierende Lösung: dev-h-defUnpack war das Problem. Das ist eine Sache vom Modul "ModbusAttr"

Danke nochmal
lg Wolfgang

#modbus thermostat

#ist Temperatur
define Temp_WZ ModbusAttr 2 30
attr Temp_WZ userattr IODev dev-h-combine dev-h-defPoll [b]dev-h-defUnpack[/b] obj-TempVR-showget obj-h258-expr obj-h258-reading obj-h258-showget stateFormat
attr Temp_WZ IODev VR400Mod
attr Temp_WZ dev-h-combine 5
attr Temp_WZ dev-h-defPoll 1
attr Temp_WZ group 1_Heizung_Wohnzimmer,Sensoren
attr Temp_WZ obj-h258-expr $val/10
attr Temp_WZ obj-h258-reading Temperatur
attr Temp_WZ obj-h258-showget 1
attr Temp_WZ room Haus,Heizung,Wohnzimmer
attr Temp_WZ stateFormat {sprintf("%.1f Grad", ReadingsVal($name,"Temperatur",0))}

#Heizung Wohnzimmer
define HZ_WZ RPI_GPIO 11
attr HZ_WZ active_low yes
attr HZ_WZ direction output
attr HZ_WZ group 1_Heizung_Wohnzimmer
attr HZ_WZ room Haus,Heizung,Wohnzimmer

define Temp_WZ1 THRESHOLD Temp_WZ:Temperatur:0.5:Temp_WZ_S:TemperaturSoll HZ_WZ|set @  off|set @ on
attr Temp_WZ1 group 1_Heizung_Wohnzimmer
attr Temp_WZ1 number_format %.1f
attr Temp_WZ1 room Schalten
attr Temp_WZ1 state_format _m _dv

#soll Temperatur
define Temp_WZ_S ModbusAttr 2 5
attr Temp_WZ_S userattr IODev dev-h-combine dev-h-defPoll dev-h-defUnpack obj-h260-expr obj-h260-reading obj-h260-showget stateFormat
attr Temp_WZ_S IODev VR400Mod
attr Temp_WZ_S dev-h-combine 5
attr Temp_WZ_S dev-h-defPoll 1
attr Temp_WZ_S group 1_Heizung_Wohnzimmer
attr Temp_WZ_S obj-h260-expr $val/10
attr Temp_WZ_S obj-h260-reading TemperaturSoll
attr Temp_WZ_S obj-h260-showget 1
attr Temp_WZ_S room Haus,Heizung,Wohnzimmer
attr Temp_WZ_S stateFormat {sprintf("%.1f Grad", ReadingsVal($name,"TemperaturSoll",0))}



#Soll_WZ offset schreiben
define Soll_WZ ModbusAttr 2 5
attr Soll_WZ userattr IODev dev-h-combine dev-h-defPoll obj-h260-reading obj-h523-reading obj-h523-set sortby stateFormat webCmd widgetOverride
attr Soll_WZ IODev VR400Mod
attr Soll_WZ dev-h-combine 5
attr Soll_WZ dev-h-defPoll 1
attr Soll_WZ dev-h-defUnpack s>
attr Soll_WZ group 1_Heizung_Wohnzimmer
attr Soll_WZ obj-h260-reading TemperaturSoll
attr Soll_WZ obj-h523-reading Sollof
attr Soll_WZ obj-h523-set 1
attr Soll_WZ room Unsorted
attr Soll_WZ sortby 1
attr Soll_WZ stateFormat {sprintf("%.0f", ReadingsNum($name,"TemperaturSoll",1) / 10)}
attr Soll_WZ webCmd Sollof
attr Soll_WZ widgetOverride obj-h523-reading Sollof:slider,-100,5,50

#attr Soll_WZ stateFormat {sprintf("%.0f", ReadingsVal($name,"TemperaturSoll",0))}

define Soll_WZd dummy
attr Soll_WZd group 1_Heizung_Wohnzimmer
attr Soll_WZd readingList realTemp
attr Soll_WZd room Haus,Heizung,Wohnzimmer
attr Soll_WZd setList realTemp:slider,5,0.5,25,1
attr Soll_WZd stateFormat realTemp °C
attr Soll_WZd webCmd realTemp

define Soll_WZ1 notify Soll_WZ:Sollof.* {fhem "setreading Soll_WZd realTemp ".sprintf("%.1f",$EVTPART1/10+20)}
attr Soll_WZ1 group 1_Heizung_Wohnzimmer
attr Soll_WZ1 room Unsorted

define Soll_WZd_cmdalias cmdalias set Soll_WZd realTemp.* AS {fhem "set Soll_WZ Sollof ".sprintf("%.1f",$EVTPART2-20)*10}
attr Soll_WZd_cmdalias group 1_Heizung_Wohnzimmer
attr Soll_WZd_cmdalias room Unsorted

define FileLog_Temp_WZ FileLog ./log/Temp_WZ-%Y.log Temp_WZ:.*
attr FileLog_Temp_WZ logtype text
attr FileLog_Temp_WZ room Unsorted
Raspberry Pi 3; 8xRelais; Aptodec Nano V3.0 Pro; FS1000a; RF-5V; Hama TS33C; 3x Brennerstuhl FunkSteckdosen; 9x Dooya funk Rollo; KWL Systemair VR400; Thermokon Modbusthermostat; diverse China Modbus Thermostate; 1-wire Bus; Telegram; QuickFhem; FhemNative; Firmata; Alexa ......