Home-Status via Lightscene umsetzen

Begonnen von LastActionHero, 16 Februar 2014, 16:29:25

Vorheriges Thema - Nächstes Thema

LastActionHero

Hi!

Ich mache mich gerade dran, eine Seite für den Homestatus zu erstellen wie hier:
http://www.fhemwiki.de/wiki/Zuhause-Status

Ich möchte die gleiche Anzeige wie dort abgebildet haben, nur eben mit meinen Aktoren drin. Damits übersichtlicher ist und überhaupt zu entwickeln bis es klappt, habe ich mich zunächst auf eine Steckdose und ein Heizkörperthermostat von Homematic beschränkt und nur die Zustände away und home gesetzt.

Mein Code bis jetzt:
define whg_HomeStat1 CUL_HM ****** 00
define whg_HomeStat2 CUL_HM ****** 01
define Homestatus LightScene Steckdose_TV Heizung.1_ClimRT_tr
attr Heizung.1_ClimRT_tr lightSceneParamsToSave desired-temp,controlMode
define Zuhause notify whg_HomeStat1 set Homestatus scene home
define Zuhause notify whg_HomeStat2 set Homestatus scene away
attr Homestatus room test

(***** ist mein Homecode)

wenn ich dann die fhem.conf speichere, kommt dieser Fehler:
HMid DEF already used by Steckdose_TV HMid DEF already used by Steckdose_TV Heizung.1_ClimRT_tr: unknown attribute lightSceneParamsToSave. Type 'attr Heizung.1_ClimRT_tr ?' for a detailed list. Zuhause already defined, delete it first

Im Test-Raum finde ich nur
"Homestatus   Initialized"

set Homestatus save home
über die Befehlszeile bringt keine Rückmeldung, auch nicht im LOG :(

ich hoffe ihr könnt mir helfen!!


PS: noch eine Frage dazu, wenn das denn klappt, ist das im Winter ja schön und gut, aber wie richte ich mir das gleiche für den Sommer am besten ein? Ein Button zum switchen zwischen Sommer- und Wintereinstellung wäre toll. Der Unterschied wäre nur die Heizung: Im Winter entsprechende Temp. eingestellt, im Sommer kont. auf Man.-Aus

justme1968

wenn lightSceneParamsToSave nicht bekannt ist ist deine fhem version zu alt.

mach mal ein update

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

LastActionHero

hab ich schon, habe die aktuelle version 5.5
2014-02-16 16:39:55 Global global update nothing to do...

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

LastActionHero

klaro :)


# $Id: fhem.pl 4935 2014-02-15 08:34:09Z rudolfkoenig $
# $Id: 10_CUL_HM.pm 4945 2014-02-15 22:34:51Z martinp876 $
# $Id: 01_FHEMWEB.pm 4910 2014-02-13 15:25:58Z rudolfkoenig $
# $Id: 92_FileLog.pm 4805 2014-02-04 12:56:51Z rudolfkoenig $
# $Id: 00_HMLAN.pm 4912 2014-02-13 19:33:59Z martinp876 $
# $Id: 99_SUNRISE_EL.pm 4537 2014-01-03 08:28:59Z rudolfkoenig $
# $Id: 98_SVG.pm 4689 2014-01-19 11:45:23Z rudolfkoenig $
# $Id: 99_Utils.pm 3595 2013-08-05 05:38:48Z tobiasfaust $
# $Id: 59_Weather.pm 4887 2014-02-11 19:27:08Z borisneubert $
# $Id: 98_autocreate.pm 4876 2014-02-10 19:59:14Z rudolfkoenig $
# $Id: 98_dummy.pm 4934 2014-02-15 08:23:12Z rudolfkoenig $
# $Id: 91_eventTypes.pm 2982 2013-03-24 17:47:28Z rudolfkoenig $
# $Id: 91_notify.pm 4933 2014-02-15 08:22:35Z rudolfkoenig $
# $Id: 33_readingsGroup.pm 4894 2014-02-12 15:09:51Z justme1968 $
# $Id: 98_telnet.pm 4844 2014-02-08 07:54:03Z rudolfkoenig $
# $Id: 98_weblink.pm 3770 2013-08-23 13:29:58Z rudolfkoenig $

justme1968

das attribut ist erst da nach dem das erste LigthScene device angelegt bzw. das modul geladen ist.

du solltest die defines direkt per telnet oder command box eingeben und nicht das config file editieren.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

LastActionHero

hab ich getan, das LightScene "Homestatus" wird ohne Murren angelegt, tippe ich danach
attr Heizung.1_ClimRT_tr lightSceneParamsToSave desired-temp,controlMode

bekomme ich
Heizung.1_ClimRT_tr: unknown attribute lightSceneParamsToSave. Type 'attr Heizung.1_ClimRT_tr ?' for a detailed list

lass ichs in der config, passiert das gleiche

justme1968

mach mal bitte ein list auf Homestatus und danach ein version und 'version LightScene'.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

LastActionHero

Internals:
   CFGFN     
   DEF        Steckdose_TV Heizung.1_ClimRT_tr
   HAS_DataDumper 1
   HAS_JSON   0
   NAME       Homestatus
   NR         99
   NTFY_ORDER 50-Homestatus
   STATE      Initialized
   TYPE       LightScene
   Content:
     Heizung.1_ClimRT_tr 1
     Steckdose_TV 1
   Scenes:
     Away:
       Steckdose_TV AUS
     Home:
       FileLog_Heizung.1_ClimRT_tr active
       Heizung.1_ClimRT_tr T: 18.5 desired: 17 valve: 0 %
       Steckdose_TV on
   Helper:
     Mydisplay:
       FHEMWEB:192.168.0.220:59947 1
Attributes:

Und LightScene:
# $Id: 31_LightScene.pm 4906 2014-02-13 10:06:44Z justme1968 $

justme1968

ich stehe gerade auf dem schlaucht und sehe den fehler nicht. eigentlich sollte es gehen.

gib mal bitte ein {Dumper $attr{global}{userattr}} ein.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

LastActionHero


syntax error at (eval 13899) line 1, near "$attr{global"
syntax error at (eval 13899) line 1, near "}}"
Bareword "userattr" not allowed while "strict subs" in use at (eval 13899) line 1.

justme1968

war das per telnet eingegeben ?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

LastActionHero

war per Befehlszeile, habs grade nochmal über telnet versucht, gleiches Ergebnis :(

LastActionHero

#14
Also, ich habe mich jetzt nochmal hier dran gesetzt, die ersten 2 zeilen sind schonmal falsch, bei homematic gibts ja keinen hauscode in dem sinne sondern für jedes gerät einen eigenen 6-digit code!

Wie realisiere ich jetzt die "taster" aus dem wiki "zuhause-status" mit homematic? Fernbedienung und wandschalter existiert erstmal nicht, ich möchte den status zunächst nur übers iphone schalten. Dummy müsste doch ausreichend sein, oder?

So, jetzt guck ich noch nach dem lghtscene fehler!

justme1968

wenn du keine 'echte' hardware hast nimm einen dummy oder einen FS20 device im dummy mode.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

LastActionHero

#16
Jep, hab ich grade schon gemacht, warst schneller als ich editieren konnte :)

Jetzt guck ich nochmal nach dem lightscenefehler

####edit

Ok, also den lightscenefehler bekomm ich immernoch.
Heizung.1_ClimRT_tr: unknown attribute lightSceneParamsToSave. Type 'attr Heizung.1_ClimRT_tr ?' for a detailed list.

Also wenn ich die syntax richtig verstehe, ordne ich mit diesem befehl ja der Heizung das Attribut "lightSceneParamsToSave" zu. Das ist ein Attribut aus dem Lightscenes Modul, sollte fhem also eigentlich verstehen.
Kann das vielleicht an meiner fhem installation liegen, dass irgendwelche Abhängigkeiten fehlen oder sowas? Ich betreibe fhem auf einem virtuellen Debian System, frisch mit minimalinstallation aufgesetzt. Vielleicht fehlt da irgendein paket?! Muss FHEM als root laufen?! Eigentlich doch nicht, oder (Höchstens auf ner Fritbox für Presence)?

justme1968

ich habe über haupt keine idee warum das attribut bei dir nicht funktioniert und warum das {Dumper $attr{global}{userattr}}bei dir einen fehler produziert.

welche perl version ist bei dir intalliert? hast du JSON installiert ?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

LastActionHero

#18
Perl ist die 5.14.2

Json glaub ich garnicht?! Ich hab perl mit paar abhängigkeiten installiert und das fhem debian package installiert.


Komischerweise, wenn ich den befehl jetzt eingebe, kommt das: $VAR1 = 'devStateIcon devStateStyle icon sortby webCmd';

Scheint also zu funktionieren?!

justme1968

aber das LightScene modul ist nicht geladen.

mach mal ein 'reload 31_LightScene' und schau ins log.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

LastActionHero

#20
Hab ich gemacht, keine rückmeldung in der shell, kein eintrag im log.

Also das wird mir langsam unheimlich :)

### edit

Hab verbose mal auf 5 gesetzt, dann steht im log mein cmd, danach Loading ./FHEM/31_LightScene.pm
Ohne Fehlermeldung
Habe auch mal das log weiter durchsucht, mit verbose5 steht das modul zusammen mit den anderen in der liste und wird abgearbeitet, zumindest kommt kein error oder sowas

### edit2
An perl komponenten habe ich installiert:
Perl
Libdevice_serialport_perl
libio-socket-ssl-perl
libwww-perl

LastActionHero

#21
apt-get install libjason-perl war die lösung, jetzt gehts!! :))

Wie kann ich anstelle "Homestatus initialized" den inhalt der tabelle direkt einem raum zuordnen?

UND: ich habe eine Heizungssteurung mit Sommer/Winterschaltung über einen dummy mit status on/off. wie stelle ich am besten in der scene ein, dass wenn der status WinterSommerHeizung OFF ist, keine änderung an desired-temp zu erfolgen hat?

Man könnte jede szene einmal für Winter, einmal für Sommer erstellen und im Sommer einfach kein kommando zuordnen, aber einfacher und unabhängiger wäre es doch mit einer if-abfrage?!

justme1968

um die tabelle selber im einem raum oder floorplan anzuzeigen musst du zur zeit noch über einen weblink gehen. siehe commandref.

das werde ich aber noch ändern.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

LastActionHero

#23
Ok, das versuch ich gleich!
Hast du auch ne idee zur verschachtelung der sommer/winter heizung und den scenes?

Ich möchte bewirken, dass wenn der dummy winter=off ist, keine desired-temp gesetzt wird.

justme1968

du kannst z.b. das setcmd in verbindung mit dem IF von damian verwenden oder auch einfach ein normales perl if.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ulli

Gibt es auch eine Möglichkeit in LightScene ein Gerät in einer Scene auf z.B. on zu setzen und in einer anderen Scene das Gerät unverändert zu lassen?
Anders gesagt kann man ein in der define angegebenes Gerät beim Scenewechsel beim setzten auslassen?

justme1968

du kannst mit set oder setcmd ein kommando hinterlegen das nichts tut.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ulli


ulli

Blockiert ein Sleep im setCmd eigentlich die Weiterverarbeitung in FHEM?
z.B. wie in folgender Zeile?
  set HomeScene setcmd Zuhause SZ_HeatingValve sleep 10;;set SZ_HeatingValve setMode night

Schläft da das gesamte FHEM (Keine Verarbeitung von anderen Kommandos..) oder wird das darauf folgende Kommando nur später ausgeführt?

justme1968

das ist ein fhem sleep und das verzögert nur das folgende kommando.

fhem läuft wärend dessen weiter.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ulli

Danke jetzt lauft alles soweit.
ich bekomme nur beim Scene Wechsel einen Logfileeintrag der wie folgt aussieht
2014.12.14 13:26:48 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/31_LightScene.pm line 631.

Woran kann das liegen?

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ulli