Problem mit sortby

Begonnen von heinzfo, 17 Dezember 2016, 11:06:45

Vorheriges Thema - Nächstes Thema

heinzfo

Hallo

Nach einem Save fhem.cfg oder Neustart von FHEM ist das attr sortby 01 immer wieder auf  sortby 07

Das passiert bei HeizungWz (Wohnzimmer) und HeizungEz (Esszimmer), die HeizungSz (Schlafzimmer) zeigt das Problem nicht.

Was kann das sein?

Beispiel aus der cfg für Heizung Wohnzimmer:

define HeizungWz CUL_HM 3F7FDB
attr HeizungWz userattr HeizungWg HeizungWg_map structexclude
attr HeizungWz HeizungWg HeizungWohnen
attr HeizungWz IODev CUL_1
attr HeizungWz actCycle 000:10
attr HeizungWz actStatus alive
attr HeizungWz autoReadReg 4_reqStatus
attr HeizungWz expert 2_raw
attr HeizungWz firmware 1.3
attr HeizungWz group Heizung Wohnen
attr HeizungWz icon hm-tc-it-wm-w-eu
attr HeizungWz model HM-TC-IT-WM-W-EU
attr HeizungWz msgRepeat 1
attr HeizungWz room CUL_HM
attr HeizungWz serialNr MEQ1572348
attr HeizungWz subType thermostat
attr HeizungWz webCmd getConfig:clear msgEvents

define FileLog_HeizungWz FileLog ./log/HeizungWz-%Y.log HeizungWz
attr FileLog_HeizungWz logtype text
attr FileLog_HeizungWz room CUL_HM

define HeizungWz_Weather CUL_HM 3F7FDB01
attr HeizungWz_Weather model HM-TC-IT-WM-W-EU
attr HeizungWz_Weather peerIDs 00000000,4FC5EE11,4FC5EE4F,E24F1101,E24F11FD,

define HeizungWz_Climate CUL_HM 3F7FDB02
attr HeizungWz_Climate userattr HeizungWg HeizungWg_map structexclude
attr HeizungWz_Climate HeizungWg HeizungWohnen
attr HeizungWz_Climate alias Bedienteil Wohnzimmer
attr HeizungWz_Climate event-on-update-reading humidity,desired-temp,measured-temp,controlMode
attr HeizungWz_Climate group Heizung Wohnen
attr HeizungWz_Climate icon hm-tc-it-wm-w-eu
attr HeizungWz_Climate model HM-TC-IT-WM-W-EU
attr HeizungWz_Climate peerIDs 00000000,4F11E202,4F11FD02,4FC5EE02,
attr HeizungWz_Climate room Wohnzimmer
attr HeizungWz_Climate sortby 01

define FileLog_HeizungWz_Climate FileLog ./log/HeizungWz_Climate-%Y.log HeizungWz_Climate
attr FileLog_HeizungWz_Climate logtype text
attr FileLog_HeizungWz_Climate room CUL_HM

define HeizungWz_WindowRec CUL_HM 3F7FDB03
attr HeizungWz_WindowRec model HM-TC-IT-WM-W-EU
attr HeizungWz_WindowRec peerIDs 00000000,
attr HeizungWz_WindowRec stateFormat last:trigLast

define HeizungWz_remote CUL_HM 3F7FDB06
attr HeizungWz_remote model HM-TC-IT-WM-W-EU
attr HeizungWz_remote peerIDs 00000000,

define HeizungWz_SwitchTr CUL_HM 3F7FDB07
attr HeizungWz_SwitchTr model HM-TC-IT-WM-W-EU
attr HeizungWz_SwitchTr peerIDs 00000000,

define HeizungMotor01Wz CUL_HM 4FC5EE
attr HeizungMotor01Wz IODev CUL_1
attr HeizungMotor01Wz actCycle 000:10
attr HeizungMotor01Wz actStatus alive
attr HeizungMotor01Wz autoReadReg 4_reqStatus
attr HeizungMotor01Wz expert 2_raw
attr HeizungMotor01Wz firmware 1.4
attr HeizungMotor01Wz group Heizung Wohnen
attr HeizungMotor01Wz icon hc_wht_regler
attr HeizungMotor01Wz model HM-CC-RT-DN
attr HeizungMotor01Wz room CUL_HM
attr HeizungMotor01Wz serialNr NEQ1227647
attr HeizungMotor01Wz subType thermostat
attr HeizungMotor01Wz webCmd getConfig:clear msgEvents:burstXmit

define FileLog_HeizungMotor01Wz FileLog ./log/HeizungMotor01Wz-%Y.log HeizungMotor01Wz
attr FileLog_HeizungMotor01Wz logtype text
attr FileLog_HeizungMotor01Wz room CUL_HM

define HeizungMotor01Wz_Weather CUL_HM 4FC5EE01
attr HeizungMotor01Wz_Weather model HM-CC-RT-DN
attr HeizungMotor01Wz_Weather peerIDs 00000000,

define HeizungMotor01Wz_Climate CUL_HM 4FC5EE02
attr HeizungMotor01Wz_Climate model HM-CC-RT-DN
attr HeizungMotor01Wz_Climate peerIDs 00000000,3F7FDB02,

define HeizungMotor01Wz_WindowRec CUL_HM 4FC5EE03
attr HeizungMotor01Wz_WindowRec model HM-CC-RT-DN
attr HeizungMotor01Wz_WindowRec peerIDs 00000000,
attr HeizungMotor01Wz_WindowRec stateFormat last:trigLast

define HeizungMotor01Wz_Clima CUL_HM 4FC5EE04
attr HeizungMotor01Wz_Clima group Heizung Wohnen
attr HeizungMotor01Wz_Clima icon hc_wht_regler
attr HeizungMotor01Wz_Clima model HM-CC-RT-DN
attr HeizungMotor01Wz_Clima peerIDs 00000000,
attr HeizungMotor01Wz_Clima room Wohnzimmer
attr HeizungMotor01Wz_Clima sortby 03

define HeizungMotor01Wz_ClimaTeam CUL_HM 4FC5EE05
attr HeizungMotor01Wz_ClimaTeam model HM-CC-RT-DN
attr HeizungMotor01Wz_ClimaTeam peerIDs 00000000,

define HeizungMotor01Wz_remote CUL_HM 4FC5EE06
attr HeizungMotor01Wz_remote model HM-CC-RT-DN
attr HeizungMotor01Wz_remote peerIDs 00000000,

define HeizungMotor02Wz CUL_HM 4F11E2
attr HeizungMotor02Wz IODev CUL_1
attr HeizungMotor02Wz actCycle 000:10
attr HeizungMotor02Wz actStatus alive
attr HeizungMotor02Wz autoReadReg 4_reqStatus
attr HeizungMotor02Wz expert 2_raw
attr HeizungMotor02Wz firmware 1.4
attr HeizungMotor02Wz group Heizung Wohnen
attr HeizungMotor02Wz icon hc_wht_regler
attr HeizungMotor02Wz model HM-CC-RT-DN
attr HeizungMotor02Wz room CUL_HM
attr HeizungMotor02Wz serialNr NEQ1229442
attr HeizungMotor02Wz subType thermostat
attr HeizungMotor02Wz webCmd getConfig:clear msgEvents:burstXmit

define FileLog_HeizungMotor02Wz FileLog ./log/HeizungMotor02Wz-%Y.log HeizungMotor02Wz
attr FileLog_HeizungMotor02Wz logtype text
attr FileLog_HeizungMotor02Wz room CUL_HM

define HeizungMotor02Wz_Weather CUL_HM 4F11E201
attr HeizungMotor02Wz_Weather model HM-CC-RT-DN
attr HeizungMotor02Wz_Weather peerIDs 00000000,

define HeizungMotor02Wz_Climate CUL_HM 4F11E202
attr HeizungMotor02Wz_Climate model HM-CC-RT-DN
attr HeizungMotor02Wz_Climate peerIDs 00000000,3F7FDB02,

define HeizungMotor02Wz_WindowRec CUL_HM 4F11E203
attr HeizungMotor02Wz_WindowRec model HM-CC-RT-DN
attr HeizungMotor02Wz_WindowRec peerIDs 00000000,
attr HeizungMotor02Wz_WindowRec stateFormat last:trigLast

define HeizungMotor02Wz_Clima CUL_HM 4F11E204
attr HeizungMotor02Wz_Clima group Heizung Wohnen
attr HeizungMotor02Wz_Clima icon hc_wht_regler
attr HeizungMotor02Wz_Clima model HM-CC-RT-DN
attr HeizungMotor02Wz_Clima peerIDs 00000000,
attr HeizungMotor02Wz_Clima room Wohnzimmer
attr HeizungMotor02Wz_Clima sortby 04

define HeizungMotor02Wz_ClimaTeam CUL_HM 4F11E205
attr HeizungMotor02Wz_ClimaTeam model HM-CC-RT-DN
attr HeizungMotor02Wz_ClimaTeam peerIDs 00000000,

define HeizungMotor02Wz_remote CUL_HM 4F11E206
attr HeizungMotor02Wz_remote model HM-CC-RT-DN
attr HeizungMotor02Wz_remote peerIDs 00000000,

define HeizungMotor03Wz CUL_HM 4F11FD
attr HeizungMotor03Wz IODev CUL_1
attr HeizungMotor03Wz actCycle 000:10
attr HeizungMotor03Wz actStatus alive
attr HeizungMotor03Wz autoReadReg 4_reqStatus
attr HeizungMotor03Wz expert 2_raw
attr HeizungMotor03Wz firmware 1.4
attr HeizungMotor03Wz group Heizung Wohnen
attr HeizungMotor03Wz icon hc_wht_regler
attr HeizungMotor03Wz model HM-CC-RT-DN
attr HeizungMotor03Wz room CUL_HM
attr HeizungMotor03Wz serialNr NEQ1229436
attr HeizungMotor03Wz subType thermostat
attr HeizungMotor03Wz webCmd getConfig:clear msgEvents:burstXmit

define FileLog_HeizungMotor03Wz FileLog ./log/HeizungMotor03Wz-%Y.log HeizungMotor03Wz
attr FileLog_HeizungMotor03Wz logtype text
attr FileLog_HeizungMotor03Wz room CUL_HM

define HeizungMotor03Wz_Weather CUL_HM 4F11FD01
attr HeizungMotor03Wz_Weather model HM-CC-RT-DN
attr HeizungMotor03Wz_Weather peerIDs 00000000,

define HeizungMotor03Wz_Climate CUL_HM 4F11FD02
attr HeizungMotor03Wz_Climate model HM-CC-RT-DN
attr HeizungMotor03Wz_Climate peerIDs 00000000,3F7FDB02,

define HeizungMotor03Wz_WindowRec CUL_HM 4F11FD03
attr HeizungMotor03Wz_WindowRec model HM-CC-RT-DN
attr HeizungMotor03Wz_WindowRec peerIDs 00000000,
attr HeizungMotor03Wz_WindowRec stateFormat last:trigLast

define HeizungMotor03Wz_Clima CUL_HM 4F11FD04
attr HeizungMotor03Wz_Clima group Heizung Wohnen
attr HeizungMotor03Wz_Clima icon hc_wht_regler
attr HeizungMotor03Wz_Clima model HM-CC-RT-DN
attr HeizungMotor03Wz_Clima peerIDs 00000000,
attr HeizungMotor03Wz_Clima room Wohnzimmer
attr HeizungMotor03Wz_Clima sortby 05

define HeizungMotor03Wz_ClimaTeam CUL_HM 4F11FD05
attr HeizungMotor03Wz_ClimaTeam model HM-CC-RT-DN
attr HeizungMotor03Wz_ClimaTeam peerIDs 00000000,

define HeizungMotor03Wz_remote CUL_HM 4F11FD06
attr HeizungMotor03Wz_remote model HM-CC-RT-DN
attr HeizungMotor03Wz_remote peerIDs 00000000,


Beste Grüße
Heinz

CoolTux

Nimm mal die null am Anfang Weg. Also nur 1 oder 7 oder ...
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

heinzfo

Danke das versuche ich mal!

oder kann es daran liegen das die structure das sttr sortby 07 hat?

Aus der cfg:

define HeizungWohnen structure HeizungWg HeizungWz_Climate HeizungEz_Climate
attr HeizungWohnen alias Heizung WZ, EZ
attr HeizungWohnen async_delay 5
attr HeizungWohnen clientstate_behavior last
attr HeizungWohnen group Heizung Wohnen
attr HeizungWohnen icon sani_heating
attr HeizungWohnen room Esszimmer,Heizung,Wohnzimmer
attr HeizungWohnen sortby 07

heinzfo

Also wenn ich der structure das attr sortby 05 gebe dann bekommen auch die Teilnehmer sortby 05

Soll das so sein?

kumue

Da wir gerade bei sortby sind...
Scheint nur für einstellige Werte zu funktionieren.
Ein sortby 10 wurde bei mir nach der 1 eingruppiert und eben nicht nach der 9  :(

heinzfo

#5
Bei einstelligen Werten bleibt das Verhalten weiterhin das gleiche, gerade gestestet!
Der Value für attr sortby der structure wird an die Teilnehmer der sructure weitergegeben.
Das äußert sich dann nach FHEM neustart, wenn man die fhem.cfg speichert oder nach setzen des attr sortby in der structure.

Naja das hat den Vorteil das structure und dessen Teilnehmer gruppiert bleiben, das will man aber nicht immer so haben.

Jetzt merke ich gerade das structure zuerst und dann der/die Teilnehmer innerhalb der Gruppierung sortiert werden.

CoolTux

Das ist korrekt. Sämtliche Attribute einer Structure werden ein zu eins an die Teilhaber weiter gegeben. Hat mir auch mal das Genick gebrochen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

heinzfo

Das komische ist nur das bei jedem Browser refresh die structure und die Teilnehmer vertauscht werden,
mal steht die structure zuerst mal die/der Teilnehmer, das verwirrt.

Evtl. kann das mal überarbeitet werden

Beste Grüße
Heinz

Cluni

Morgen zusammen,

ich habe auch das Problem, dass meine Sortierung immer wieder "vergessen" wird. Wie mache ich denn eine Sortierung, wenn nicht über dieses Attribut?Ich möchte ungern eine Sortierung durch eine laufende Nummer vor dem Namen vornehmen. Wenn ich das aber machen wollen würde - wie müsste ich das angehen? Ich denke mal, dass es am einfachsten wäre die "fhem.cfg" zu sichern und dann bei herunter gefahrenem fhem zu editieren mit search & replace?! Oder sollte ich das lieber nicht machen?

Liebe Grüße, Bernd

rudolfkoenig

ZitatScheint nur für einstellige Werte zu funktionieren.
Sortby benutzt string-Compare. deswegen ist 01 sinnvoller als 1.

Zitatmeine Sortierung immer wieder "vergessen" wird.
Sollte nicht passieren, wenn ich eine reproduzierbare Anleitung bekomme, werde ich es fixen.
Sortiert wird nach sortby, alias und Name, in dieser Reihenfolge.

Wenn etwas umbenannt wird: bitte beachten, dass Namen neben fhem.cfg auch noch in anderen Dateien wie .gplot oder FHEM/FhemUtils/uniqueID hinterlegt sein koennen.

Cluni

Zitat von: rudolfkoenig am 27 Januar 2017, 10:41:17
Sollte nicht passieren, wenn ich eine reproduzierbare Anleitung bekomme, werde ich es fixen.
Puh, reproduzierbar wird schwierig. Es ist mir jetzt nur schon mehrmals aufgefallen, dass die Werte bei sortby plötzlich wieder auf eins standen und deshalb die Geräte wieder durcheinander waren. Bin mir jetzt aber nicht sicher, ob das nicht nur bei den dect200 von avm der Fall war. Ich versuche mal drauf zu achten...

Zitat von: rudolfkoenig am 27 Januar 2017, 10:41:17
Wenn etwas umbenannt wird: bitte beachten, dass Namen neben fhem.cfg auch noch in anderen Dateien wie .gplot oder FHEM/FhemUtils/uniqueID hinterlegt sein koennen.
Gibt es ggf eine Liste, in welchen Dateien man die Änderungen machen muss? Nur damit ich nicht aus versehen eine vergesse. Und kann ich die Änderungen direkt auf der SD-Karte unter macOS machen, oder sollte ich das aus irgendwelchen Gründen lieber unter Linux machen?

Viele Dank für deine tolle Arbeit! Kenne dein Projekt erst seit ca 2 Wochen, aber ich bin begeistert! Hast du eigentlich irgendwo ein Spendenkonto? Sowas muss doch honoriert werden!

rudolfkoenig

Wir haben ein Verein gegruendet, da kann man spenden.

Cluni

[OT]Spende erledigt![/OT]

Cluni

Gibt es nun irgendwo eine Liste, in welchen Dateien man die Änderungen machen muss?


Gesendet von iPhone mit Tapatalk