DOIF State als Reading -> Schaltbar

Begonnen von gary822, 08 April 2019, 09:17:36

Vorheriges Thema - Nächstes Thema

gary822

Moin an alle :)

hab da mal ein (für mich) etwas kniffliges Problem :D

Ich habe MAX Thermostate welche ich über DOIFs steuere.
Ich habe pro Raum ein Thermostat mit dazugehörigem DOIF.

Nun habe zusätzlich noch eine readingsGroup um alles schön übersichtlich darzustellen.
Nun möchte ich gern in dem Thermostat ein UserReading hinzufügen welches mir ein Umschalten der DOIFs ermöglicht.
Aktuell habe ich nur den Status in dem Reading und würde diesen gern über die readingsGroup Umschalten können wie bei dem DOIF selber über das definierte devStateIcon.
Den Batteriestatus sowie den Shutterstatus habe ich nur mit drin als Reading, da ich es in der readingsgroup irgendwie nicht verknüpft bekommen habe.

Sollten noch Fragen auftauchen reiche ich natürlich gern Infos nach.
Anbei die Defs der beteiligten Geräte.

MAX Thermostat:
defmod MAX_12b1de MAX HeatingThermostat 12b1de
attr MAX_12b1de userattr scnProcessByDesiChange:0,1 scnShutterList scnModeHandling:NOCHANGE,AUTO,MANUAL
attr MAX_12b1de IODev MAXCube
attr MAX_12b1de alias Gemeinschaftsraum_Thermoastat
attr MAX_12b1de group Heizung
attr MAX_12b1de icon temp_control
attr MAX_12b1de room Gemeinschaftsraum
attr MAX_12b1de scanTemp 1
attr MAX_12b1de scnModeHandling MANUAL
attr MAX_12b1de userReadings Shutterbatterie { ReadingsVal("MAX_1584c5","battery",0)}, \
Shutterstate { ReadingsVal("MAX_1584c5","state",0)}, \
Batterie { ReadingsVal("MAX_12b1de","battery",0)},\
Steuerung { ReadingsVal("Heizungssteuerung_Gemeinschaftsraum","state",0)}
attr MAX_12b1de webCmdLabel Temperaturänderung ;


DOIF:
efmod Heizungssteuerung_Gemeinschaftsraum DOIF (\
([05:30-23:30|Mo Di Mi Do Fr So]||[08:30-01:30|Fr Sa]) and \
[MAX_12b1de:temperature] < 20 and \
[MAX_1584c5] eq 'closed'||[MAX_1584c5] eq 'closed (rf error)' and \
([Danny] eq 'present'||[Lucia] eq 'present'||[Gabi] eq 'present'||[Linda] eq 'present') and\
([Ausensensor:Heizung] eq 'on')) \
(set MAX_12b1de desiredTemperature manual comfort) \
DOELSE \
(set MAX_12b1de desiredTemperature manual eco)
attr Heizungssteuerung_Gemeinschaftsraum devStateIcon cmd_1:status_automatic@green:cmd_2 cmd_2:status_automatic@red:cmd_2 initialize:status_automatic@orange:checkall
attr Heizungssteuerung_Gemeinschaftsraum group Anwesenheit
attr Heizungssteuerung_Gemeinschaftsraum icon status_automatic
attr Heizungssteuerung_Gemeinschaftsraum room Gemeinschaftsraum
attr Heizungssteuerung_Gemeinschaftsraum setList state:cmd_1,cmd_2,checkall
attr Heizungssteuerung_Gemeinschaftsraum webCmd state
attr Heizungssteuerung_Gemeinschaftsraum webCmdLabel Statusänderung&nbsp;;


readingsGroup:
defmod Thermostate readingsGroup <Raum>,<Ist-Temperatur>,<Soll-Temperatur>,<Ventilstellung>,<Fenster>,<Fensterbatterie>,<Batterie>,<Steuerung>\
TYPE=MAX:temperature,desiredTemperature,valveposition,Shutterstate,Shutterbatterie,Batterie,Steuerung
attr Thermostate commands { 'desiredTemperature' => 'desiredTemperature:' }
attr Thermostate mapping {\
'MAX_12b1de' => 'Gemeinschaftsraum',\
}
attr Thermostate nameStyle style="color:black;;font-weight:bold"
attr Thermostate room Übersicht
attr Thermostate sortby B03
attr Thermostate style style="text-align:center"
attr Thermostate valueColumn {\
'temperatur' => 1,\
'desiredTemperature' => 2,\
'valveposition' => 3,\
'Shutterstate' => 4,\
'Shutterbatterie' => 5,\
'Batterie' => 6,\
'Steuerung' => 7\
}
attr Thermostate valueFormat {\
'temperature' => "%.1f °C", \
'desiredTemperature' => "%.1f °C", \
'valveposition' =>"%.0f %%", \
'maxValveSetting' =>"%.0f %%" \
}
attr Thermostate valueIcon {\
'Batterie.ok' => 'batterie@green', \
'Batterie.none' => 'batterie@gray', \
'Batterie.low' => 'batterie@red', \
'Shutterbatterie.ok' => 'batterie@green', \
'Shutterbatterie.low' => 'batterie@red', \
'Shutterstate.closed' => 'fts_window_1w@green', \
'Shutterstate.opened' => 'fts_window_1w_open@red', \
'Shutterstate.closed (rf error)'=> 'fts_window_1w@green', \
'Shutterstate.opened (rf error)' => 'fts_window_1w_open@red',\
'MAX_12b1de.Steuerung.initialize' => 'status_automatic@orange',\
'MAX_12b1de.Steuerung.cmd_1' => 'status_automatic@green',\
'MAX_12b1de.Steuerung.cmd_2' => 'status_automatic@red',\
}

Ellert

#1
Das ist ein readingsGroup Problem: Wie realisiere ich die devState-Funktionalität in einer ReadingsGroup? Auf diese Frage erhältst Du im dem Forenbereich sicher qualifiziertere Antworten.

DOIF kannst Du per set-Befehl ohne Bedingungsprüfung umschalten. Ich meine die FHEMWEB-Widgets kann man auch in rG einbinden https://wiki.fhem.de/wiki/FHEMWEB/Widgets

Wenn Du nicht auf readingsGroup fixiert bist, könntest Du es mit dem uiTable von DOIF versuchen. Ein wenig Zeit muss man für uiTable auch investieren, um ein Frontend, wie hier zu erstellen: https://forum.fhem.de/index.php/topic,77690.0.html

gary822

Hallo @Ellert,

danke für die Rückmeldung.
Nein ich würde schon gern bei der readingsGroup bleiben.

Kannst du den Beitrag verschieben?

VG
gary822

moonsorrox

#3
das kannst du selber einen Beitrag verschieben unten links über den Button "Thema verschieben"
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Ellert