(Erledigt) Vero 4k+ mit Fhem herunterfahren lasseen...

Begonnen von misux, 01 November 2018, 11:38:28

Vorheriges Thema - Nächstes Thema

misux

Hi!

Hat jemand Ahnung oder eine Idee ob oder wie man per Fhem Befehl einen Mediaplayer Vero4K+ herunterfahren lassen kann?

Wäre richtig klasse wenn das irgendwie gehen würde!

Vielen Dank!

Otto123

Hi,

ZitatOSMC is based on Debian which allows us to deliver a very powerful and expansive system.
Vero4k ist OSMC - Richtig?

also kannst Du per ssh von FHEM den Befehl schicken.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

misux

Ja genau! Ich habe auch schon im OSMC Forum nachgefragt was ich denn senden müsste damit es aus geht. Habe auch eine Antwort bekommen und stehe da wie ein Depp ;D denn ich habe keine Ahnung wie ich das in ein DOIF einbinden soll...

Hier der Code vom OSMC Forum:

Zitatcurl --data-binary '{"jsonrpc":"2.0","method":"System.Shutdown","id":1}' -H 'content-type: application/json;' http://ip_of_your_osmc_device:port_of_your_www_interface_in_kodi]/jsonrpc

Mein Gedanke:

DOIF:
([LGTv:state] eq "off") (set VERO off CODE)

attr: do always

Könnte mir jemand helfen wie ich den Code in das DOIF einbinden muss... :D

Vielen Dank!

schwatter

In etwa so

Ein Dummy,

defmod OSMC dummy
attr OSMC  setList state:shutdown
attr OSMC webCmd state


der ein Notify aufruft,

defmod OSMC_Setup notify OSMC:shutdown {system("curl --data-binary '{"jsonrpc":"2.0","method":"System.Shutdown","id":1}' -H 'content-type: application/json;' http://ip_of_your_osmc_device:port_of_your_www_interface_in_kodi]/jsonrpc")}

misux

Vielen Dank! Aber geht das nicht mit DOIF? Habe alles mit DOIF realisiert und würde gerne dabei bleiben..

Damian

Zitat von: misux am 01 November 2018, 20:42:58
Vielen Dank! Aber geht das nicht mit DOIF? Habe alles mit DOIF realisiert und würde gerne dabei bleiben..

genauso:

DOIF (<deine Bedingung>) {system("curl --data-binary '{"jsonrpc":"2.0","method":"System.Shutdown","id":1}' -H 'content-type: application/json;' http://ip_of_your_osmc_device:port_of_your_www_interface_in_kodi]/jsonrpc")}
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Otto123

#6
Versuch es erstmal in der FHEM Kommndozeile:
Schreib dies hier in ein Script
curl --data-binary '{"jsonrpc":"2.0","method":"System.Shutdown","id":1}' -H 'content-type: application/json;' http://ip_of_your_osmc_device:port_of_your_www_interface_in_kodi]/jsonrpc
Dann rufe folgendes auf:
"Dein Script"

Edit: ich schreib es trotzdem
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

misux

 :D

Krass! Werde es morgen testen... muss ins Bett, frühschicht ist furchtbar.... ;D

misux

#8
HI!

Sorry habe es jetzt erst testen können und leider mit einem Error im DOIF. Leider weiß ich nicht was da falsch sein könnte... Kann sich das vielleicht bitte jemand anschauen?

Mein DOIF:

([TVTime:state] eq "off" or [KINOTime:state] eq "off") {system("curl --data-binary '{"jsonrpc":"2.0","method":"System.Shutdown","id":1}' -H 'content-type: application/json;' http://192.168.1.40:80/jsonrpc")}

Die Fehlermeldung im Reading:

Zitat{system("curl --data-binary '{"jsonrpc":"2.0","method":"System.Shutdown","id":1}' -H 'content-type: application/json;' http://192.168.1.40:80/jsonrpc")}: syntax error at (eval 165367) line 1, near ""curl --data-binary '{"jsonrpc"


Habe auch schon im OSMC Forum nachgefragt, und der Kollege von dem ich den Code habe hat leider auch keide Idee...

ZitatJust a stabb in the dark, but since the command curl in needs " in the system call, like {system("
then in the curl command there is an other set of ", which might break the system string?

Don't know how fhem works, if you can escape those other "?

misux

@ Damian

Hast du eine Idee was da das Problem sein könnte?  :-\

Damian

Zitat von: misux am 07 November 2018, 21:50:58
@ Damian

Hast du eine Idee was da das Problem sein könnte?  :-\

Mein System läuft unter Windows, daher kann ich es bei mir nicht testen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

misux

Oha...  :-\

Okay... Dann versuche ich es mit Otto123 Variante... Muss aber erstmal schauen wie ich einen Script erstelle... Denke das wird erst zum Wochenende was... Danke erstmal...

Damian

Das Problem sind mit Sicherheit die geschachtelten Anführungszeichen: ...("curl --data-binary '{"...

Daher dürfte das Auslagern helfen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

misux

Hallo Otto123 ;D

So ich versuche mich an deimer Lösung... und hänge etwas...

Zitat von: Otto123 am 01 November 2018, 20:49:54
Versuch es erstmal in der FHEM Kommndozeile:
Schreib dies hier in ein Script
curl --data-binary '{"jsonrpc":"2.0","method":"System.Shutdown","id":1}' -H 'content-type: application/json;' http://ip_of_your_osmc_device:port_of_your_www_interface_in_kodi]/jsonrpc
Dann rufe folgendes auf:
"Dein Script"

Edit: ich schreib es trotzdem

Ich habe nun ein Notify erstellt:

Internals:
   CFGFN     
   DEF        curl --data-binary '{"jsonrpc":"2.0","method":"System.Shutdown","id":1}' -H 'content-type: application/json;' http://192.168.1.40:80/jsonrpc
   NAME       MediaplayerPower
   NR         98188
   NTFY_ORDER 50-MediaplayerPower
   REGEXP     curl
   STATE      active
   TYPE       notify
   READINGS:
     2018-11-10 17:22:20   state           active
Attributes:


Nun hänge ich etwas wie ich mein script aufrufen soll...  :-\

Kannst mir etwas auf die Sprünge helfen?


Otto123

#14
Du sollst Deinen Text curl --data-binary '{"jsonrpc":"2.0","method":"System.Shutdown","id":1}' -H 'content-type: application/json;' http://192.168.1.40:80/jsonrpc in eine Script Datei schreiben.
Also von mir aus in die Datei /opt/fhem/MeinScript.sh

Dann rufst Du im notify den Befehl "bash /opt/fhem/MeinScript.sh" auf.
Den gleichen Befehl kannst Du auch einfach in der FHEM Kommandozeile aufrufen.

Du kannst Dein jetziges notify so ändern (Ob der Trigger/Event so stimmt weiß ich nicht!):
defmod MediaplayerPower notify  LGTv:off "bash /opt/fhem/MeinScript.sh"

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz