modul LightScene

Begonnen von justme1968, 05 März 2013, 00:17:46

Vorheriges Thema - Nächstes Thema

FunkOdyssey

#300
Ich kann das definitiv nicht rekonstruieren.
Ich weiß nur, dass ich gerade wieder eine Scene aus einer LightScene in allen anderen Lightscenes enthalten habe. Da gehört die aber überhaupt nicht hin.
Viel ärgerlicher:
Man hat zwar das Gefühl, dass ein "remove falscheSzene" erst einmal funktioniert. Dies habe ich in allen LightScenes durchgeführt. Aber sobald man irgendeine Szene bearbeitet, so ist der falsche Eintrag wieder überall vorhanden. Ich muss jedesmal die Datei "LightScenes.save" bearbeiten. Ich weiß, dass dies natürlich stark fehleranfällig sein kann und dies nun im Vordergrund steht. Aber ich kann vergewissern, dass die Syntax korrekt ist.

Falls Bedarf besteht, kann ich gerne mal eine fehlerhafte "LightScenes.save" zusenden.




ich habe mir das gerade mal einfach gemacht und die defekte Datei in einen Online-JSON-Editor (http://jsoneditoronline.org/) gepackt. Hier konnte ich relativ elegant aufräumen und muss mir keine Gedanken über eine fehlerhafte Syntax machen. Danach ein Shutdown von Fhem und auf Systemebene die Datei ausgetauscht. So habe ich eine solide Basis zum Testen und für "Reproduzierversuche".




Ich glaube, dass ich es doch rekonstruieren kann. Ich habe Schritt für Schritt mitprotokolliert und die Dateien permanent weggesichert. Ich werde das gleich ausformulieren.

FunkOdyssey

Rekonstruktion des Fehlers (bei mir):
Bitte mehrere Detailansichten in jeweils eigenen Browser-Tabs öffnen und noch keine weitere Auswahl treffen.
Falls schon geöffnet, so bitte nicht mit F5 neu laden, sondern die URL per ENTER bestätigen, da sonst das FORM-GET neu abgesetzt wird.
Der Bereich "Edit scene" ist in allen Tabs noch nicht sichtbar.

Wähle im ersten Tab unter "Choose scene" irgendeine Szene aus. Nun erscheint der Bereich "Edit scene".
Führe nun ein Refresh (F5) der anderen Tabs durch.
Man erkennt, dass der Bereich "Edit scene" nun angezeigt wird.
Je nachdem wie oft man ein Refresh durchführt, in umso mehr LightScene-Definitionen taucht plötzlich genau die Szene auf, die im ersten Tab bewusst ausgewählt wurde. Was ich damit sagen will: Ich musste in den Tabs teilweise zweimal die Seite aktualisieren. Vermutlich weil dadurch das FORM-GET neu ausgelöst wird. Zuerst sehe ich die falsch hinzugefügt Szene oben im Lampentableau. Anschließend wird mir der falsche Eintrag auch unter "Choose scene" angezeigt.
Zuerst dachte ich, dass dies durchs "Save config" ausgelöst wird. Aber ein Refresh reicht scheinbar auch aus.

Und so richtig schlimm wird es dann natürlich nach einem "Save config", wenn dann die LightScenes.save geschrieben wird.

Ich bin echt mal gespannt, ob dies bei euch auch der Fall ist.

popy

Hallo.

Hab mir mehrere Szenen erstellt und will im FHEMWEB diese auch angezeigt bekommen.
Wenn ich das webcmd auf "scene" stelle dann wird ein DropDownBox angezeigt, ich möchte aber dass als Text der Szenenname steht, zB.: "Lesen" oder "Fernsehlicht"
Gesagt getan, als WebCmd z.B.: mal "Fernsehlicht" eingetragen.
Wird auch angezeigt, aber bei klick darauf erschein folgende Fehlermeldung: "Unknown argument Fernsehlicht, choose one of save scene"

Wäre über jeden Tipp dankbar.

Danke
pOpY

popy

Habe es jetzt geschafft wenn webcmd auf "scene Fernsehlicht" gesetzt wird klappt es.
Ist nicht ganz schön im FHEMWEB da steht dann natürlich genau der Text.

Wäre toll wenn jemand einen Tipp hätte  :P

Danke

ComputerZOO

Moin,
erstelle doch eine eventMap:

attr eventMap /scene Fernsehlicht:Fernsehlicht/scene Lesen:Lesen/

Damit kannst du das webCmd dann in der verkürzten Form benutzen.

popy

Danke, so klappt es  :)
Als Anfänger nicht ganz leicht, aber umso länger man sich damit Beschäftigt um klarer wird die ganze Struktur.

hauwech

Hallo zusammen,

kann ich in eine LightScene auch eine Hue Group stecken, Hue groups haben ja in fhem keinen state?
Hintergrund:
Im Alarmfall möchte ich eine Auswahl Lampen (Alarmgroup) rot blinken lassen und anschließend den vorherigen Zustand wieder herstellen. Wenn ich später in der Bridge die Gruppenmitglieder der Hue Alarmgroup ändere, sollen die Änderungen (ggfls. nach einem autocreate) quasi transparent durchgereicht werden.

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

Gunther

Was sagt mir die Meldung beim Klick auf meine Scene "aus"?
Unknown argument aus, choose one of save scene Unknown argument aus, choose one of save scene

Ich habe eine verschachtelte Struktur aufgebaut. Macht das Probleme?

So sieht die problembehaftete Lightscene aus:
Internals:
   CFGFN     
   DEF        ls_licht_kg_fo ls_licht_kg_fl
   HAS_DataDumper 1
   HAS_JSON   1
   NAME       ls_licht_kg
   NR         93746
   NTFY_ORDER 50-ls_licht_kg
   STATE      aus
   TYPE       LightScene
   mayBeVisible 1
   CONTENT:
     ls_licht_kg_fl 1
     ls_licht_kg_fo 1
   READINGS:
     2018-01-02 01:30:11   state           aus
   SCENES:
     aus:
       ls_licht_kg_fl aus
       ls_licht_kg_fo aus
   devices:
     ls_licht_kg_fl
     ls_licht_kg_fo
Attributes:
   group      Lightscene Gruppe Etagen
   room       Logik_Licht
   userattr   lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0


2. Frage: Kann die LS wenn sie nicht auf genau einer Scene steht den Status ändern, so dass ich in Tablet UI auf "!aus" den Button einstellen kann.
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gunther

Ich hänge mal einen Screenshot an womit ich etwas besser erläutern kann, was ich meine.

In dem Fall habe ich ein einfaches Beispiel. Eine LS mit nur zwei Lampen.
Eine ist an und eine ist aus. Damit würde ich erwarten, dass der state nicht mehr "aus" sondern "unknown" ist.

Wie kann ich das forcieren?

Hintergrund: Ich möchte eine verschachtelte Struktur aufbauen um in Tablet UI

  • Haus
  • Etagen
  • Räume
auszuschalten.

Die Etagen-Lightscenes hängen in der Haus-Lightscene
Die Raum-Lighscenes hängen in den Egagenlighscenes
(jeweils mit der Scene "aus")

FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gunther

OK, gelöst. Wer lesen kann ist klar im Vorteil.

Das Attribut Follow Devices muss auf "2" stehen.
Das scheint dann auf ein Event der beinhalteten Geräte zu reagieren und danach den state zu bestimmen.

Danke für das tolle Modul!
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gunther

#310
Hmm, jetzt brauche ich doch nochmal Eure Hilfe.

Gehen verschachtelte Lightscenes überhaupt?

Im Screenshot seht Ihr meine Erdgeschoss-Lightscene in der wiederum die Lightscenes der einzelnen Räume hängen.
Leider bleibt der state auf "aus", obwohl bei zwei Räumen Licht an ist und richtigerweise dort die states der LS auf "unknown" (mit dem Fragezeichen-Icon symbolisiert) stehen.
Eigentlich sollte die LS ebenfalls auf "unknown" stehen, da ich das Attribut follow auf 2 gesetzt habe.

Freue mich über Hilfe.

Edit:
In meiner LightScenes.save steht u.a.
"ls_licht_eg":{"aus":{"ls_licht_eg_ez":"aus","ls_licht_eg_ki":"aus","ls_licht_eg_wc":"aus","ls_licht_eg_fl":"aus","ls_licht_eg_wz":"aus","ls_licht_eg_ku":"aus"}}
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

FunkOdyssey

Zitat von: FunkOdyssey am 21 September 2017, 15:04:56
Rekonstruktion des Fehlers (bei mir):
Bitte mehrere Detailansichten in jeweils eigenen Browser-Tabs öffnen und noch keine weitere Auswahl treffen.
Falls schon geöffnet, so bitte nicht mit F5 neu laden, sondern die URL per ENTER bestätigen, da sonst das FORM-GET neu abgesetzt wird.
Der Bereich "Edit scene" ist in allen Tabs noch nicht sichtbar.

Wähle im ersten Tab unter "Choose scene" irgendeine Szene aus. Nun erscheint der Bereich "Edit scene".
Führe nun ein Refresh (F5) der anderen Tabs durch.
Man erkennt, dass der Bereich "Edit scene" nun angezeigt wird.
Je nachdem wie oft man ein Refresh durchführt, in umso mehr LightScene-Definitionen taucht plötzlich genau die Szene auf, die im ersten Tab bewusst ausgewählt wurde. Was ich damit sagen will: Ich musste in den Tabs teilweise zweimal die Seite aktualisieren. Vermutlich weil dadurch das FORM-GET neu ausgelöst wird. Zuerst sehe ich die falsch hinzugefügt Szene oben im Lampentableau. Anschließend wird mir der falsche Eintrag auch unter "Choose scene" angezeigt.
Zuerst dachte ich, dass dies durchs "Save config" ausgelöst wird. Aber ein Refresh reicht scheinbar auch aus.

Und so richtig schlimm wird es dann natürlich nach einem "Save config", wenn dann die LightScenes.save geschrieben wird.

Ich bin echt mal gespannt, ob dies bei euch auch der Fall ist.

Ich komme noch einmal auf das Problem von vor einigen Monaten zurück, da ich wieder einmal alle meine Lightscenes kaputt gemacht habe. Tatsache ist, dass man auf keinen Fall mehrere Lightscene-Devices in mehreren Browser-Tabs öffnen darf. Dann ist es schon fast zu spät. Leider gerade wieder am eigenen Leibe bemerkt.

@justme1968: Du hast nicht zufälligerweise einen Ansatz, oder?

FlorianZ

Hallo Andre,

Ich habe ein Problem mit einen Z Wave RGBW Controller in Verbindung mit LightScene.
Der RGBW Controller sendet leider alle Werte im state Reading, also RGB,Dim,On,Off usw.
Das Reading habe ich zerlegt und lasse sie in einzelne Userreadings schreiben.

Setze ich jetzt im RGBW Controller
attr <name> lightSceneParamsToSave userstate -> set state,rgb -> set rgb,dim -> set dim
Funktioniert das soweit mit LightScene.
Die Werte für state rgb und dim werden in LightScene richtig gespeichert und auch wieder gesetzt.
Nur bleibt beim Aufrufen einer scene der state von LightScene immer unknown.
followDevices 2 ist gesetzt.
Setze ich nur
attr <name> lightSceneParamsToSave userstate -> set state
Würde die scene richtig erkannt werden.

Hier noch ein list vom RGBW Controller

Internals:
   DEF        0184cd86 72
   IODev      ZWDongle_0
   LASTInputDev ZWDongle_0
   MSGCNT     2
   NAME       Licht_Kueche_RGB_Strip
   NR         217
   STATE      off
   TYPE       ZWave
   ZWDongle_0_MSGCNT 2
   ZWDongle_0_RAWMSG 000400480326031d
   ZWDongle_0_TIME 2018-03-09 14:05:33
   ZWaveSubDevice no
   cmdsPending 0
   endpointChildren ZWave_SWITCH_MULTILEVEL_72.01,ZWave_SWITCH_MULTILEVEL_72.02,ZWave_SWITCH_MULTILEVEL_72.03,ZWave_SWITCH_MULTILEVEL_72.04,Licht_Kueche_RGB_Strip_Weiss
   homeId     0184cd86
   isWakeUp   
   lastMsgSent 1520620050.0442
   nodeIdHex  48
   READINGS:
     2017-11-10 16:54:21   CMD             ZW_APPLICATION_UPDATE
     2017-11-10 16:47:45   assocGroup_1    Max 5 Nodes
     2017-11-10 16:47:45   assocGroup_2    Max 5 Nodes
     2017-11-10 16:47:45   assocGroup_3    Max 5 Nodes
     2017-11-10 16:47:45   assocGroup_4    Max 5 Nodes
     2017-11-10 16:47:46   assocGroup_5    Max 1 Nodes ZWDongle_0
     2017-11-10 16:47:45   assocGroups     5
     2017-12-03 00:20:41   basicReport     0
     2017-11-10 16:53:30   configActivePROGRAMAlarmTime 600
     2017-11-10 16:53:30   configAlarm     INACTIVENoResponseToAlarmFrames
     2017-11-10 16:53:30   configAlarmSequenceProgram 10
     2017-11-10 16:53:30   configAssociationsCommandClassChoice NormalDimmerBASICSETSWITCHMULTIL0
     2017-11-10 16:53:31   configCommandClassReportingOutputs42 ReportingAsAResultOfInputsAnd0
     2017-11-10 16:53:31   configDimmingStepValueForMODE1 1
     2017-11-10 16:53:31   configEnableDisableALLONOFF ALLONActiveALLOFFActive
     2017-11-10 16:53:31   configInputsOutputsConfiguration 4369
     2017-11-10 16:53:31   configMaximumDimmerLevel 255
     2017-11-10 16:53:31   configMinimumDimmerLevel 2
     2017-11-10 16:53:31   configOptionDoubleClick DoubleClickEnabled
     2017-11-10 16:53:31   configOutputsStateChangeMode MODE1ConstantSpeedSpeedIsDefined0
     2017-11-10 16:53:31   configPowerLoadReportingFrequency 30
     2017-11-10 16:53:31   configReporting010vAnalogInputsChange43 5
     2017-11-10 16:53:31   configReportingChangesInEnergyConsumed45 10
     2017-11-10 16:53:31   configResponseToBRIGHTNESSSetTo0 LastSetColourIsMemorized
     2017-11-10 16:53:31   configSavingStateBeforePowerFailure StateNOTSavedAtPowerFailureAll0
     2017-11-10 16:53:31   configStartingPredefinedProgram 8
     2017-11-10 16:53:31   configTimeBetweenDimmingStepsForMODE1 10
     2017-11-10 16:53:31   configTimeToCompleteTheEntire11 67
     2017-11-10 16:53:31   configTripleClickAction NODEINFOControlFrameIsSent
     2018-03-09 19:27:30   currentPredefinedProgram none
     2018-03-09 16:02:27   dim             20
     2017-11-25 21:38:09   energy          0.4 kWh
     2017-11-10 15:44:39   mcCapability_01 SWITCH_MULTILEVEL
     2017-11-10 15:44:39   mcCapability_02 SWITCH_MULTILEVEL
     2017-11-10 15:44:39   mcCapability_03 SWITCH_MULTILEVEL
     2017-11-10 15:44:39   mcCapability_04 SWITCH_MULTILEVEL
     2017-11-10 15:44:39   mcCapability_05 SWITCH_MULTILEVEL
     2017-11-10 15:44:39   mcEndpoints     total 5, identical
     2017-11-10 15:44:39   model           FIBARO System FGRGBWM441 RGBW Controller
     2017-11-10 15:44:39   modelConfig     fibaro/fgrgbwm441.xml
     2017-11-10 15:44:39   modelId         010f-0900-1000
     2018-03-09 14:05:25   power           3.0 W
     2018-03-09 14:05:33   reportedState   dim 29
     2018-03-09 15:23:20   rgb             184a0e
     2018-03-09 17:42:52   state           off
     2018-03-09 19:27:30   timeToAck       0.047
     2018-03-09 19:27:30   transmit        OK
     2018-03-09 19:27:30   userstate       off
     2017-11-11 16:13:22   version         Lib 3 Prot 3.52 App 25.25
Attributes:
   IODev      ZWDongle_0
   alias      Ambilight Küche
   classes    SWITCH_ALL MANUFACTURER_SPECIFIC VERSION SWITCH_MULTILEVEL MULTI_CHANNEL CONFIGURATION METER SENSOR_MULTILEVEL ASSOCIATION COLOR_CONTROL
   group      03 Licht
   homebridgeMapping On=state,valueOff=off,cmdOn=on,cmdOff=off
   icon       light_led_stripe_rgb
   lightSceneParamsToSave userstate -> set state,rgb -> set rgb,dim -> set dim
   room       Alexa,Homekit,Küche
   stateFormat userstate
   userReadings rgb:rgb.* {
my @a=split(/ /,ReadingsVal("Licht_Kueche_RGB_Strip","state","00"));
sprintf("%02x%02x%02x", $a[1],$a[2],$a[3])},

userstate {
my $userstate = ReadingsVal("Licht_Kueche_RGB_Strip","state","");
if ($userstate eq "off")
{return $userstate;}
else
{return "on";}},

currentPredefinedProgram {
if((ReadingsVal("Licht_Kueche_RGB_Strip","state","")) =~ /^(configStartingPredefinedProgram.*)/)
{my @program = split(/ /, ReadingsVal("Licht_Kueche_RGB_Strip","state",""));
return $program[1];}
else {
return "none";}},

dim:dim.* {
my @dim=split(/ /,ReadingsVal("Licht_Kueche_RGB_Strip","state","00"));
return $dim[1];
}
   userattr   lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
   vclasses   ASSOCIATION:2 COLOR_CONTROL:1 CONFIGURATION:1 MANUFACTURER_SPECIFIC:1 METER:2 MULTI_CHANNEL:3 SENSOR_MULTILEVEL:2 SWITCH_ALL:1 SWITCH_MULTILEVEL:1 VERSION:1
   webCmd     rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:on:off


Hast du eine Idee, warum die scene nicht erkannt wird?

Gruß
Florian

stebar_

Hallo Zusammen,

vielen Dank für das LightScene Modul! Ich habe folgendes Problem, vielleicht kennt jemand eine Lösung. Ich habe am Wochenende FHEM herunter gefahren, das Log Verzeichnis geleert, FHEM gestartet, ein Update durchgeführt und anschließend neu gestartet. Jetzt sind alle Szenen weg. Das selbe hatte ich schon mal vor einiger Zeit gehabt, leider habe damals keine Ursache gefunden.

Vielen Dank!

DeeSPe

Zitat von: stebar_ am 22 Mai 2018, 21:51:23
Hallo Zusammen,

vielen Dank für das LightScene Modul! Ich habe folgendes Problem, vielleicht kennt jemand eine Lösung. Ich habe am Wochenende FHEM herunter gefahren, das Log Verzeichnis geleert, FHEM gestartet, ein Update durchgeführt und anschließend neu gestartet. Jetzt sind alle Szenen weg. Das selbe hatte ich schon mal vor einiger Zeit gehabt, leider habe damals keine Ursache gefunden.

Vielen Dank!

"./log/LightScenes.save" gelöscht!?

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