Neues Modul: 22_HOMEMODE.pm - grundlegende Automationen und mehr

Begonnen von DeeSPe, 07 Januar 2017, 15:59:43

Vorheriges Thema - Nächstes Thema

DeeSPe

Hab soeben v1.0.6 eingecheckt welche die von Amenophis86 gemeldete Warnmeldung korrigieren sollte.
Dabei habe ich noch eine andere beim Start von FHEM erschienene Warnung gefixt.

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

binford6000

Bin gerade etwas am Verzweifeln...  >:(

Ich versuche vergeblich, diesen

"perl /opt/fhem/fhem.pl 10.3.3.40:7072 "set Tablet.PC screen off""

FHEM-Systembefehl in ein HomeCMD-Attribut zu stecken.
Aber ich habe jetzt glaube alle FHEM-Syntax-Fehler mal gesehen...

Über die FHEM-Kommandozeile funktioniert es einwandfrei...

Hat noch jemand einen Tipp für mich?


DeeSPe

Zitat von: binford6000 am 13 Mai 2017, 22:40:52
Bin gerade etwas am Verzweifeln...  >:(

Ich versuche vergeblich, diesen

"perl /opt/fhem/fhem.pl 10.3.3.40:7072 "set Tablet.PC screen off""

FHEM-Systembefehl in ein HomeCMD-Attribut zu stecken.
Aber ich habe jetzt glaube alle FHEM-Syntax-Fehler mal gesehen...

Über die FHEM-Kommandozeile funktioniert es einwandfrei...

Hat noch jemand einen Tipp für mich?

Ich denke so sollte es gehen:
{ fhem '"perl /opt/fhem/fhem.pl 10.3.3.40:7072 set Tablet.PC screen off"' }

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

binford6000

ZitatIch denke so sollte es gehen:
Code: [Auswählen]
{ fhem '"perl /opt/fhem/fhem.pl 10.3.3.40:7072 set Tablet.PC screen off"' }

Gruß
Dan

Hi Dan,
danke für die rasche Antwort...
HOMEMODE akzeptiert den Code und lässt mich abspeichern.
HOMEMODE führt auch ohne Fehler aus aber im Log erscheint:

Unknown command Tablet.PC, try help.
Unknown command screen, try help.
Unknown command off, try help.


Der zu übergebende FHEM-Befehl bei perl /opt/fhem/fhem.pl... muss wohl zwingend in " " gesetzt werden?!

VG Sebastian

DeeSPe

Dann probier mal:
{ fhem '"perl /opt/fhem/fhem.pl 10.3.3.40:7072 \"set Tablet.PC screen off\""' }

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

binford6000

{ fhem '"perl /opt/fhem/fhem.pl 10.3.3.40:7072 \"set Tablet.PC screen off\""' }

bringt

Unknown command "set, try help.
Unknown command Tablet.PC, try help.
Unknown command screen, try help.
Unknown command off", try help.


VG Sebastian

DeeSPe

Zitat von: binford6000 am 13 Mai 2017, 23:28:20
{ fhem '"perl /opt/fhem/fhem.pl 10.3.3.40:7072 \"set Tablet.PC screen off\""' }

bringt

Unknown command "set, try help.
Unknown command Tablet.PC, try help.
Unknown command screen, try help.
Unknown command off", try help.


VG Sebastian

Dann bleiben ja nur noch:
{ fhem '"perl /opt/fhem/fhem.pl 10.3.3.40:7072 "set Tablet.PC screen off""' }
oder:
{ fhem '"perl /opt/fhem/fhem.pl 10.3.3.40:7072 \'set Tablet.PC screen off\'"' }

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

binford6000

Moin,

Zitat{ fhem '"perl /opt/fhem/fhem.pl 10.3.3.40:7072 "set Tablet.PC screen off""' }

hat funktioniert. Danke, wieder was gelernt  ;)

VG Sebastian

DeeSPe

Zitat von: binford6000 am 14 Mai 2017, 09:52:00
Moin,

hat funktioniert. Danke, wieder was gelernt  ;)

VG Sebastian

Sehr ungewöhnlich dass die inneren " nicht escaped werden müssen.
Aber Hauptsache es funktioniert!

Habe gestern noch zwei Mini-Fehler gefunden, diese behoben und soeben als v1.0.7 in SVN eingecheckt.

Changelog:

  • fixed GUEST not set location to arrival after none
  • fixed UWZ text counter

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

Esjay

#444
Hi Dan,
wäre es vll möglich,den Alias des Hauptresident mit in %ALIAS% zu übernehmen?Ich habe ein Zwave Keypad, welches 3 User hinterlegt hat.Meinereiner,meine bessere Hälfte, und wenn wir zusammen nach Hause kommen. Wenn wir einzeln nach Hause kommen, steht in %Alias% das richtige drin, aber wenn wir beide zusammen nach Hause kommen und somit die roommates über das Hauptresident auf Home geschaltet werden, steht der roommate drin, welcher zuletzt auf Home gestellt wurde.
Dank dir!

DeeSPe

#445
Zitat von: Esjay am 14 Mai 2017, 18:55:23
Hi Dan,
wäre es vll möglich,den Alias des Hauptresident mit in %ALIAS% zu übernehmen?Ich habe ein Zwave Keypad, welches 3 User hinterlegt hat.Meinereiner,meine bessere Hälfte, und wenn wir zusammen nach Hause kommen. Wenn wir einzeln nach Hause kommen, steht in %Alias% das richtige drin, aber wenn wir beide zusammen nach Hause kommen und somit die roommates über das Hauptresident auf Home geschaltet werden, steht der roommate drin, welcher zuletzt auf Home gestellt wurde.
Dank dir!

Hallo,

Dein Problem resultiert m.E. aus Deiner Umsetzung und nicht aus fehlenden Möglichkeiten des Moduls.
Hast Du HomeAutoPresence und HomeAutoArrival im Einsatz? Das würde sich dafür perfekt eignen.
Wie werden denn die Aktionen vom Keypad an FHEM gemeldet/umgesetzt? Sicherlich per notify/DOIF!?
Ich würde empfehlen statt der dritten Aktion, das RESIDENTS Device einfach auf home zu setzen, jeweils beide ROOMMATE(s) auf home zu setzen. Danach hast Du dann im Platzhalter %ARRIVERS% für die Zeit aus HomeAutoArrival beide Aliases der ROOMMATE(s)/GUEST(s).

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

Esjay

Zitat von: DeeSPe am 14 Mai 2017, 22:14:45
Hallo,

Dein Problem resultiert m.E. aus Deiner Umsetzung und nicht aus fehlenden Möglichkeiten des Moduls.
Hast Du HomeAutoPresence und HomeAutoArrival im Einsatz? Das würde sich dafür perfekt eignen.
Wie werden denn die Aktionen vom Keypad an FHEM gemeldet/umgesetzt? Sicherlich per notify/DOIF!?
Ich würde empfehlen statt der dritten Aktion, das RESIDENTS Device einfach auf home zu setzen, jeweils beide ROOMMATE(s) auf home zu setzen. Danach hast Du dann im Platzhalter %ARRIVERS% für die Zeit aus HomeAutoArrival beide Aliases der ROOMMATE(s)/GUEST(s).

Gruß
Dan

Guten Morgen,
danke für deine/n Rückmeldung/Vorschlag. HomeAutoArrival werde ich mir mal anschauen. Ist soweit richtig, per Doif. Wenn Key oder rfid User 1 = 1, dann User 1 = Home..usw. Somit würden dann in %ARRIVERS% nur die 2 Namen stehen. Würde also bedeuten "Willkommen Name1 Name2" da fehlt mir ein "und". Durch den Alias des Residents hätte ich " ihr beiden" ausgeben können.Aber gut, dann muss ich mal schauen.

Grüße

DeeSPe

Schau es Dir am Besten mal an.
Es wird ein HR-String (HR=Human Readable) auch bei den %ARRIVERS% gebildet. Wenn Du die Übersetzungen angegeben hast, dann wird aus "and" auch "und".
Die Ansprache kannst Du zum Beispiel so lösen:
my $arr = "%ARRIVERS%";
my $ansprache = "Hallo";
$ansprache = "Hallo Ihr beiden" if ($arr =~ /und/);
my $text = "$ansprache, $arr."


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

Sunless

Hallo und vorab Dank für das Modul.
Benutze es derzeit noch eher rudimentär zum Sammeln von Infos weiterer Gerätschaften.
Daraus resultiert auch meine Frage, ob es möglich ist statt den Wert für "Pressure" - Luftdruck nicht zwingend von der Yahoo-Wetter-Api zu beziehen sondern (wie bei Temp+Hum) ein lokales Device anzugeben?
Habe hier einen selbstgebauten Außensensor, der u.a. auch den Luftdruck per BMP 180 misst, einen Dummy mit allen Werten füllt und regelmäßig akualisiert.

Mir ist noch aufgefallen, dass vor Angabe des Devices für die Helligkeit (HomeSensorsLuminance) erst "HomeSensorsLuminanceReading" gesetzt werden muss, wenn das bereitgestellte Reading nicht "luminance" lautet (bei mir z.B. "lux"). Dies nur kurz zur Info, obwohl ich dies nicht als Bug einschätzen würde.

Grüße ...
Sebastian
FHEM-Master@Raspi2B (CUL433,etliche CUL_TCM97001-Sensoren, zig IT-Steckdosenschalter, Squeezelite)
FHEM-Slave@Raspi (via RFHEM,wired Bewegungsmelder, Sqeezelite)
DS212+ (LMS für Squeezelite-Clients, Surveillance, Mediaserver und Datengrab)
Billig-Tablets zum Steuern (TabletUI)

DeeSPe

Zitat von: Sunless am 15 Mai 2017, 13:53:01
Hallo und vorab Dank für das Modul.
Benutze es derzeit noch eher rudimentär zum Sammeln von Infos weiterer Gerätschaften.
Daraus resultiert auch meine Frage, ob es möglich ist statt den Wert für "Pressure" - Luftdruck nicht zwingend von der Yahoo-Wetter-Api zu beziehen sondern (wie bei Temp+Hum) ein lokales Device anzugeben?
Habe hier einen selbstgebauten Außensensor, der u.a. auch den Luftdruck per BMP 180 misst, einen Dummy mit allen Werten füllt und regelmäßig akualisiert.

Mir ist noch aufgefallen, dass vor Angabe des Devices für die Helligkeit (HomeSensorsLuminance) erst "HomeSensorsLuminanceReading" gesetzt werden muss, wenn das bereitgestellte Reading nicht "luminance" lautet (bei mir z.B. "lux"). Dies nur kurz zur Info, obwohl ich dies nicht als Bug einschätzen würde.

Grüße ...
Sebastian

Andere (eigene) Sensoren mit einzubinden ist in Planung und die Möglichkeit wird es auch irgendwann geben.
Bitte nagle mich nicht auf einen Termin dazu fest, denn meine Modulentwicklung ist reine (unbezahlte) Freizeitbeschäftigung. 8)
Im Moment bin ich erst mal froh wenn alles fehlerfrei und so wie es gedacht ist läuft. Feature Erweiterungen kommen dann Stück für Stück.

Ich habe die commandref auf Deinen Hinweis hin erweitert, dass vor dem Hinzufügen von HomeSensorsLuminance das Reading erst gesetzt werden muss wenn es abweichend zu "luminance" ist.
Mehr kann ich an dieser Stelle m.E. nicht tun.

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