Hallo,
wie kann ich mir den Status eines Devices als Status anzeigen lassen?
Tobias
Was meinst du mit "Status", das reading state oder das internal STATE?
Am besten ein list des Devices und den gewünschten sowie den aktuellen Zustan präzise beschreiben.
Vermutlich kommst du über stateFormat zum Ziel.
Kurz, weil mobil
Ich habe unter den Attributes "disable" welches mit 1 oder 0 ausgegeben wird.
Dieses möchte ich als internale State anzeigen lassen
Zitat von: TobiasR am 23 Dezember 2018, 18:43:33
Ich habe unter den Attributes "disable" welches mit 1 oder 0 ausgegeben wird.
Dieses möchte ich als internale State anzeigen lassen
das ist zwar mit stateformat machbar, doch eine änderung wird hier nur ausgeführt, wenn die readings aktualisiert weden. d.h steht das device auf disable und du setzt es auf disable 0 bleibt der status in der ansicht solange erhalten , bis readings im device aktualisiert werden .
wäre dann so :
attr TEST stateFormat {if ( AttrVal( $name, 'disable', "0" ) eq "1" ) {return "disabled"};;}
ansonsten sehe ich hier nür die Möglichkeit , mit einem weitern device ( Notify,Mswitch etc , ) auf eine Änderung des attributes zu triggern und darüber entsprechendes state zu generieren.
ggf. liege ich aber auch daneben.
gruss Byte09
Um welches Modul handelt es sich denn? Vielleicht mag der Modulautor ja einen disable-Befehl implementieren...
Kurz, weil mobil
Es handelt sich um ein Dummy-DOIF.
Zitat von: TobiasR am 23 Dezember 2018, 19:49:59
Es handelt sich um ein Dummy-DOIF.
Was ist denn ein Dummy-DOIF!?
Dummy...
...oder DOIF!?
Poste doch mal ein list...
Gruß, Joachim
Ein DOIF kann man über set disable disabeln, dann sollte sich auch der state ändern
Kurz, weil mobil
Hallo,
hier mal mein List der DOIF.
Dummy deshalb weil kein direkter Aktor oder Sensor dahinter steht
Internals:
COMMAND set $NAME thermostatSetpointSet $EVENT
CONDITION
DEF Thermostat_Flur 12345|05:20|23 12345|07:00|20 12345|11:30|23 12345|18:20|23 12345|20:00|18 67|07:30|23 67|20:30|18 set $NAME thermostatSetpointSet $EVENT
DEVICE Thermostat_Flur
GlobalDaylistSpec
LANGUAGE de
NAME Steuerung_Heizung_Flur
NR 521
Profil 0: Sonntag 07:30:00 23, 20:30:00 18
Profil 1: Montag 05:20:00 23, 07:00:00 20, 11:30:00 23, 18:20:00 23, 20:00:00 18
Profil 2: Dienstag 05:20:00 23, 07:00:00 20, 11:30:00 23, 18:20:00 23, 20:00:00 18
Profil 3: Mittwoch 05:20:00 23, 07:00:00 20, 11:30:00 23, 18:20:00 23, 20:00:00 18
Profil 4: Donnerstag 05:20:00 23, 07:00:00 20, 11:30:00 23, 18:20:00 23, 20:00:00 18
Profil 5: Freitag 05:20:00 23, 07:00:00 20, 11:30:00 23, 18:20:00 23, 20:00:00 18
Profil 6: Samstag 07:30:00 23, 20:30:00 18
Profil 7: Wochenende 07:30:00 23, 20:30:00 18
STATE disabled
STILLDONETIME 0
TYPE Heating_Control
.attraggr:
.attrminint:
READINGS:
2018-12-24 07:30:00 currValue 20
2018-12-23 21:08:31 disabled 1
2018-12-24 07:30:00 nextUpdate 2018-12-24 11:30:00
2018-12-24 07:30:00 nextValue 23
2018-12-24 07:00:00 state 20
SWITCHINGTIMES:
12345|05:20|23
12345|07:00|20
12345|11:30|23
12345|18:20|23
12345|20:00|18
67|07:30|23
67|20:30|18
TIMER:
HCB_SetTimerOfDay:
HASH Steuerung_Heizung_Flur
MODIFIER SetTimerOfDay
NAME HCB_SetTimerOfDay
SETTIMERATMIDNIGHT 1
Heizung_Flur_An_4:
HASH Steuerung_Heizung_Flur
MODIFIER 4
NAME Heizung_Flur_An_4
Heizung_Flur_An_5:
HASH Steuerung_Heizung_Flur
MODIFIER 5
NAME Heizung_Flur_An_5
Heizung_Flur_An_6:
HASH Steuerung_Heizung_Flur
MODIFIER 6
NAME Heizung_Flur_An_6
immerSchalten 1
Heizung_Flur_An_7:
HASH Steuerung_Heizung_Flur
MODIFIER 7
NAME Heizung_Flur_An_7
Heizung_Flur_An_SetTimerOfDay:
HASH Steuerung_Heizung_Flur
MODIFIER SetTimerOfDay
NAME Heizung_Flur_An_SetTimerOfDay
SETTIMERATMIDNIGHT 1
Heizung_Flur_An_delayed:
HASH Steuerung_Heizung_Flur
MODIFIER delayed
NAME Heizung_Flur_An_delayed
Steuerung_Heizung_Flur_1:
HASH Steuerung_Heizung_Flur
MODIFIER 1
NAME Steuerung_Heizung_Flur_1
Steuerung_Heizung_Flur_2:
HASH Steuerung_Heizung_Flur
MODIFIER 2
NAME Steuerung_Heizung_Flur_2
Steuerung_Heizung_Flur_3:
HASH Steuerung_Heizung_Flur
MODIFIER 3
NAME Steuerung_Heizung_Flur_3
Steuerung_Heizung_Flur_4:
HASH Steuerung_Heizung_Flur
MODIFIER 4
NAME Steuerung_Heizung_Flur_4
Steuerung_Heizung_Flur_5:
HASH Steuerung_Heizung_Flur
MODIFIER 5
NAME Steuerung_Heizung_Flur_5
Steuerung_Heizung_Flur_6:
HASH Steuerung_Heizung_Flur
MODIFIER 6
NAME Steuerung_Heizung_Flur_6
Steuerung_Heizung_Flur_7:
HASH Steuerung_Heizung_Flur
MODIFIER 7
NAME Steuerung_Heizung_Flur_7
Steuerung_Heizung_Flur_SetTimerOfDay:
HASH Steuerung_Heizung_Flur
MODIFIER SetTimerOfDay
NAME Steuerung_Heizung_Flur_SetTimerOfDay
SETTIMERATMIDNIGHT 1
Steuerung_Heizung_Flur_delayed:
HASH Steuerung_Heizung_Flur
MODIFIER delayed
NAME Steuerung_Heizung_Flur_delayed
dayNumber:
!$we 8
$we 7
di 2
do 4
fr 5
mi 3
mo 1
sa 6
so 0
helper:
daysRegExp (so|mo|di|mi|do|fr|sa|\$we|\!\$we)
daysRegExpMessage (so|mo|di|mi|do|fr|sa|$we|!$we)
SWITCHINGTIME:
0:
07:30:00 23
20:30:00 18
1:
05:20:00 23
07:00:00 20
11:30:00 23
18:20:00 23
20:00:00 18
2:
05:20:00 23
07:00:00 20
11:30:00 23
18:20:00 23
20:00:00 18
3:
05:20:00 23
07:00:00 20
11:30:00 23
18:20:00 23
20:00:00 18
4:
05:20:00 23
07:00:00 20
11:30:00 23
18:20:00 23
20:00:00 18
5:
05:20:00 23
07:00:00 20
11:30:00 23
18:20:00 23
20:00:00 18
6:
07:30:00 23
20:30:00 18
7:
07:30:00 23
20:30:00 18
longDays:
de:
Sonntag
Montag
Dienstag
Mittwoch
Donnerstag
Freitag
Samstag
Wochenende
Werktags
en:
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
weekend
weekdays
fr:
Dimanche
Lundi
Mardi
Mercredi
Jeudi
Vendredi
Samedi
weekend
jours de la semaine
profil:
1:
EPOCH 1545625200
PARA 23
TIME 05:20
TAGE:
1
2
3
4
5
2:
EPOCH 1545631200
PARA 20
TIME 07:00
TAGE:
1
2
3
4
5
3:
EPOCH 1545647400
PARA 23
TIME 11:30
TAGE:
1
2
3
4
5
4:
EPOCH 1545672000
PARA 23
TIME 18:20
TAGE:
1
2
3
4
5
5:
EPOCH 1545678000
PARA 18
TIME 20:00
TAGE:
1
2
3
4
5
6:
EPOCH 1545633000
PARA 23
TIME 07:30
TAGE:
6
7
7:
EPOCH 1545679800
PARA 18
TIME 20:30
TAGE:
6
7
profile_IDX:
0:
07:30:00 6
20:30:00 7
1:
05:20:00 1
07:00:00 2
11:30:00 3
18:20:00 4
20:00:00 5
2:
05:20:00 1
07:00:00 2
11:30:00 3
18:20:00 4
20:00:00 5
3:
05:20:00 1
07:00:00 2
11:30:00 3
18:20:00 4
20:00:00 5
4:
05:20:00 1
07:00:00 2
11:30:00 3
18:20:00 4
20:00:00 5
5:
05:20:00 1
07:00:00 2
11:30:00 3
18:20:00 4
20:00:00 5
6:
07:30:00 6
20:30:00 7
7:
07:30:00 6
20:30:00 7
shortDays:
de:
so
mo
di
mi
do
fr
sa
$we
!$we
en:
su
mo
tu
we
th
fr
sa
$we
!$we
fr:
di
lu
ma
me
je
ve
sa
$we
!$we
Attributes:
commandTemplate set Thermostat_Flur thermostatSetpointSet
devStateIcon disabled:remotecontrol/black_btn_GREEN:initialize:vent_ventilation_level_automatic@green:disable
disable 1
group Heizplan
icon sani_heating_timer
room Heizung
stateFormat {if ( AttrVal( $name, 'disable', "0" ) eq "1" ) {return "disabled"};;}
userattr Heizungen Heizungen_map structexclude
Das ist aber kein DOIF... ::)
Das ist ein Heating_Control device. Kann übrigens auch mit
set Steuerung_Heizung_Flur disable
deaktiviert werden.
VG Sebastian
Moin,
das Internal STATE steht doch wie es gewünscht ist?
ZitatSTATE disabled
Zitat von: TobiasR am 23 Dezember 2018, 18:43:33
Ich habe unter den Attributes "disable" welches mit 1 oder 0 ausgegeben wird.
Dieses möchte ich als internale State anzeigen lassen
Gruß Otto
hmm, ich gehe ja nach wie vor davon aus , das der te meint , dass er diesen Status im 'DeviceOverview' angezeigt haben möchte , womit wir wieder bei 'stateFormat' wären.
....... ist aber irgendwie alles rumraterei !
Eine klare Aussage 'das habe ich , das will ich , das ist mein Stand incl . allem was dazugehört ' wäre sicher äusserst Hilfreich .
Zitatwie kann ich mir den Status eines Devices als Status anzeigen lassen?
... ist echt etwas dürftig !
gruss Byte09
Wobei für das list ist alles in Ordnung - eventuell ist es aber das falsche list (DOIF?)
ZitatstateFormat
Modifies the STATE of the device, shown by the list command or in the room overview in FHEMWEB. If not set, its value is taken from the state reading.
STATE steht ja richtig - damit auch overview?
Schöne Weihnachten
Otto
Zitat von: Otto123 am 24 Dezember 2018, 10:33:56
Wobei für das list ist alles in Ordnung - eventuell ist es aber das falsche list (DOIF?)STATE steht ja richtig - damit auch overview?
Schöne Weihnachten
Otto
... kein geheimniss , dass ich mich mit DOIF im speziellen nicht auskenne, habe es aber bei mir eben mal definiert. Im device overview wird dieser status nur angezeigt wenn 'stateFormat mode' gesetzt ist .
... aber egal , solange sich der TE nicht äussert .
gruss Byte09
Moin,
jetzt habe ich wohl mit meinen Fragen zu einer maximale Verwirrung beigetragen.
Ich habe jetzt einfach mal ein Bild von dem was ich möchte gemacht.
Diese "1" (oder "0") die dort steht möchte ich, am liebsten mit einem Symbol in der Leiste als Status angezeigt bekommen.
Der Code von Byte09 funktioniert leider nur sporadisch.
Und die vielen tatsächlich hilfreichen Antworten dazu in diesem Thread hast du auch gelesen?
bin immernoch der meinung 'stateFormat mode' führt fast zum gewünschten ergebniss . Anzeige zwar als text , der rest ist aber mit ein wenig perl im stateFormat auch zu machen.
gruss Byte09
Statt AttrVal -> ReadingsVal? Aber ob es das besser (sporadisch?) macht?
ReadingsVal( $name, 'disabled', "0" )
Zitat von: Byte09 am 24 Dezember 2018, 10:54:19
bin immernoch der meinung 'stateFormat mode' führt fast zum gewünschten ergebniss . Anzeige zwar als text , der rest ist aber mit ein wenig perl im stateFormat auch zu machen.
gruss Byte09
Naja aber das gezeigte Device ist kein DOIF... Gibt es denn beim Heating_Control stateFormat mode ?
Gruß Otto
Zitat von: Otto123 am 24 Dezember 2018, 10:55:53
...... Naja aber das gezeigte Device ist kein DOIF... Gibt es denn beim Heating_Control stateFormat mode ?
Gruß Otto
ups, nehme alles zurück
Zitat von: Byte09 am 24 Dezember 2018, 11:23:47
ups, nehme alles zurück
Naja. Der TE macht es aber auch nicht leicht.
Zitat von: marvin78 am 24 Dezember 2018, 11:27:22
Naja. Der TE macht es aber auch nicht leicht.
versuch mal bitte stateFormat :
{ if (ReadingsVal( $name, 'disabled', "0" ) eq "1"){return "disabled"} else {return ReadingsVal( $name, 'currValue', "0" )};}
... ob man da nachher ein symbol draus macht sei jetzt erstmal dahingestellt .
gruss Byte09