FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Commander am 08 März 2018, 08:33:51

Titel: Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: Commander am 08 März 2018, 08:33:51
Hallo
ich habe mir ein Dreamscreen 4K gekauft. https://www.dreamscreentv.com/ (https://www.dreamscreentv.com/) Muss sagen es macht echt Spass und sieht fantastisch aus. Die Bedienung funktioniert bisher nur über die App. Jetzt hat jemand ein Pyhton Script erstellt und ich frage mich in wieweit man es damit in Fhem einbinden kann. Mein Ziel ist es das Gerät über meine Harmony zu steuern bzw. wenn ich bestimmt Aktionen wähle der Dreamscreen ein/aus und der richtige Eingang mit umgeschaltet wird. Das Script gibt es hier:https://github.com/genesisfactor/DreamScreenCommander (https://github.com/genesisfactor/DreamScreenCommander)
Bevor ich jetzt versuche das Teil in Fhem einzubinden hab ich aber noch ein paar Grundsatzfragen.
1. Wohin kopiere ich mir das Script am besten? /opt , /opt/fhem , /opt/fhem , /opt/fhem/FHEM,
2. Wie würdet ihr bestimmte Sachen damit auslösen? Mit einem DOIF und dann python <path-to-this-file> <option> <value>?

Vielen Dank
Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: Fixel2012 am 08 März 2018, 08:41:03
Zitat von: Commander am 08 März 2018, 08:33:51
1. Wohin kopiere ich mir das Script am besten? /opt , /opt/fhem , /opt/fhem , /opt/fhem/FHEM,

Dies ist dir überlassen, hauptsache Fhem hat die Berechtigung um auf das script zu zugreifen.

Macht aber wahrscheinlich am meisten Sinn, wenn du es unter /opt/fhem ablegst.

Zitat2. Wie würdet ihr bestimmte Sachen damit auslösen? Mit einem DOIF und dann python <path-to-this-file> <option> <value>?

Sollte zumindest so funktionieren.
Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: Commander am 08 März 2018, 09:33:11
Vielen Dank für deine Antwort.
hab jetzt folgendes probiert:
define Dreamdummy dummy
attr Dreamdummy webCmd on:off
define DS_on notify Dreamdummy:on {system('python /opt/fhem/dreamscreen.py m -1')}


Leider ohne Erfolg.

also in der Linux Shell reicht ein einfaches python /opt/fhem/dreamscreen.py m -1 um das Gerät einzuschalten.
Ich befürchte es hat was mit den Rechten zutun.  :-[ hab das Script zu testen mit Chmod 777 freigegeben aber läuft leider nicht
Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: Otto123 am 08 März 2018, 10:15:37
Hi,

was sagt die Fehlermeldung?

Sonst schreib alles einfach in eine Datei script.sh und rufe diese auf mit "script.sh"
https://fhem.de/commandref_DE.html#command

Gruß Otto
Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: CoolTux am 08 März 2018, 10:31:17

define DS_on notify Dreamdummy:on "python /opt/fhem/dreamscreen.py m -1"


Und wenn Du es mal so machst
Das Notify triggert aber?

Das Beispiel sieht aber anders aus


python dreamscreen.py -i 192.168.1.2 -m 0


Hast Du Deine IP vergessen?
Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: Commander am 08 März 2018, 10:47:55
Erstmal vielen Dank für die tolle Hilfe.
die IP muss man nur angeben wenn man selbere im Script keine IP angegeben hat bzw mehrere Geräte besitzt.
Ich habs jetzt hinbekommen mit:
define DS_on notify Dreamdummy:on  {system("sudo python /opt/fhem/dreamscreen.py -m 1")}

Jetzt überlege ich halt wie ich am besten die gesamten Befehle einbinde.
-Changing Modes: -m (off,1,2,3)
-Changing Brightness: -b (0-100)
-Changing Sources: -s (1-3)

Bekommt dann z.B. jeder Mode ein Dummy OFF,1,2,3 oder kann man dies in ein Dummy packen?
Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: CoolTux am 08 März 2018, 10:51:30
define DS_on notify Dreamdummy:on  {system("sudo python /opt/fhem/dreamscreen.py -m 1")}

Das blockiert aber Dein FHEM.
define DS_on notify Dreamdummy:on "sudo python /opt/fhem/dreamscreen.py -m 1"

Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: Commander am 08 März 2018, 11:04:52
Oh vielen Dank für den Hinweis.
FUnktioniert aber beides.
Was meinßt du mit blockieren?
Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: Otto123 am 08 März 2018, 11:05:52
Ein Python Script welches über eine IP irgendwas steuert braucht sudo? Wie dumm ist das denn?!
Warum geht es - wie Du sagst einfach in der linux shell?

sudo auf alles für fhem ist ein potentielles Sicherheitsrisiko!

Aber das will ja meist keiner hören  :-[

blockieren heisst: Dein script läuft 10 min und während dieser Zeit läuft dein FHEM nicht!

Gruß Otto
Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: Commander am 08 März 2018, 11:18:17
Auch dir vielen Dank für die Tipps. Hab`s jetzt geändert:
define Dreamdummy dummy
attr Dreamdummy webCmd off:Tv:Music:Ambient
define DS_off notify Dreamdummy:off  "python /opt/fhem/dreamscreen.py -m 0"
define DS_TV notify Dreamdummy:Tv  "python /opt/fhem/dreamscreen.py -m 1"
define DS_Music notify Dreamdummy:Tv  "python /opt/fhem/dreamscreen.py -m 2"
define DS_Ambient notify Dreamdummy:Ambient  "python /opt/fhem/dreamscreen.py -m 3"


Kann ich dem Dummy noch irgendwie die Brightness hinzufügen?
Changing Brightness: -b (0-100)
Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: CoolTux am 08 März 2018, 11:30:25
Mach es mal bitte so


Internals:
   CFGFN     
   NAME       Dreamdummy
   NR         86
   STATE      on
   TYPE       dummy
   READINGS:
     2018-03-08 11:29:41   ambient         20
     2018-03-08 11:29:38   state           on
Attributes:
   readingList ambient input
   room       Test
   setList    on:noArg off:noArg input:TV ambient:slider,0,5,100
Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: CoolTux am 08 März 2018, 11:37:14
Hier ein passendes Notify

Internals:
   CFGFN     
   DEF        Dreamdummy.* {
fhem("python /opt/fhem/dreamscreen.py -m 0") if( $EVENT eq 'off');
fhem("python /opt/fhem/dreamscreen.py -m 1") if( $EVTPART1 eq 'TV');
fhem("python /opt/fhem/dreamscreen.py -m 3 -b $EVTPART1") if( $EVTPART0 eq 'ambient:');
}
   NAME       notifyDreamDummy
   NOTIFYDEV  Dreamdummy.*
   NR         142
   NTFY_ORDER 50-notifyDreamDummy
   REGEXP     Dreamdummy.*
   STATE      active
   TYPE       notify
   READINGS:
     2018-03-08 11:36:24   state           active
Attributes:


Wirst aber noch kleine Fehlermeldung bekommen. Das schauen wir uns dann an.
Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: Commander am 08 März 2018, 11:47:18
Danke werd ich probieren. Werd jetzt aber erstmal zur Arbeit fahren  :)
Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: CoolTux am 08 März 2018, 11:48:23
Hier ist ein sauberes Notify


Internals:
   CFGFN     
   DEF        Dreamdummy.* {
my ($cmd,$value) = split(':',$EVENT);
fhem("python /opt/fhem/dreamscreen.py -m 0") if( $cmd eq 'off');
if( defined($value) ) {
fhem("python /opt/fhem/dreamscreen.py -m 1") if( $value eq 'TV');
fhem("python /opt/fhem/dreamscreen.py -m 3 -b $value") if( $cmd eq 'ambient:');
}
}
   NAME       notifyDreamDummy
   NOTIFYDEV  Dreamdummy.*
   NR         142
   NTFY_ORDER 50-notifyDreamDummy
   REGEXP     Dreamdummy.*
   STATE      active
   TYPE       notify
   READINGS:
     2018-03-08 11:47:39   state           active
Attributes:
   room       Test




Viel Erfolg
Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: Badflex am 01 Dezember 2018, 10:46:24
Hat es denn geklappt?
Mir würde es schon reichen wenn es über eine alexa routine mit an oder aus geht.
Titel: Antw:Dreamscreen Ambilight Phyton Script in Fhem einbinden
Beitrag von: Toto1973 am 28 September 2019, 10:22:32
Das Thema ist zwar schon alt aber ich greife es mal wieder auf.
Bin nämlich gerade dabei, mir auch eine Steuerung in FHEM für den Dreamscreen einzurichten.