Retour d'Etat Freebox player

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Retour d'Etat Freebox player

Message par vil1driver »

jq est un utilitaire et doit être installé manuellement..
https://easydomoticz.com/tag/jq/
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
lestatcrog
Messages : 38
Inscription : 19 janv. 2016, 20:47
Localisation : Niort

Re: Retour d'Etat Freebox player

Message par lestatcrog »

Effectivement pour jq c'est un utilitaire, par contre pour la ponctuation je ne vois pas le problème sur la ligne 17.
Je viens de le tester chez moi ça fonctionne peut être un effet du manque de jq .
OyyoDams
Messages : 71
Inscription : 24 mars 2015, 15:07

Re: Retour d'Etat Freebox player

Message par OyyoDams »

Bonjour à tous,

Voici une autre méthode pour tester si la Freebox Player est allumée.

Dans mon cas, l'IP de ma Freebox Player est 192.168.0.29

Un script shell interroge le port 7000:

Code : Tout sélectionner

#/domoticz/scripts/check_freebox_player.sh
#!/bin/bash

EXTIP=$(sudo nmap 192.168.0.29 -p 7000 --host-timeout 100 -oG - | grep Ports | awk -F "/" '{print $2}')
echo $EXTIP
exit 0
Et voici le script lua qui l'appelle pour mettre à jour l'interrupteur virtuel:

Code : Tout sélectionner

--/domoticz/scripts/lua/script_time_check_freebox_server.lua
commandArray = {}

n = os.tmpname ()

os.execute('/domoticz/scripts/check_freebox_player.sh > '..n)

for line in io.lines (n) do
	local STATUS = line
	if (STATUS ~= 'open' and otherdevices['Etat Freebox TV'] == 'On') then
		commandArray['Etat Freebox TV']='Off'
	elseif (STATUS == 'open' and otherdevices['Etat Freebox TV'] == 'Off') then
		commandArray['Etat Freebox TV']='On'
	end
end

os.remove (n)
Domoticz sur Raspberry PI 3
Interfaces: razberry, rfxtrx433e, rflink
Périphériques: DI.O, Somfy RTS, Yeelight
L'excellent blog de mon ami Deennoo: http://www.domo-attitude.fr
jcligny
Messages : 5
Inscription : 18 mars 2017, 21:27

Re: Retour d'Etat Freebox player

Message par jcligny »

Bonjour à tous.

Si cela peut intéresser quelqu'un j'ai réussi à adapter un script LUA pour mettre à jour un interrupteur virtuel de statut du freebox player.

Code : Tout sélectionner

-- Path to curl
-- Windows: curl = 'C:\\bin\\curl.exe'
curl = "curl"

-- Devices (Switch On/Off on virtual hardware)
switchA = "FreeboxPlayerStatusDevice"


-- Function to get result of HTTP request
function os.capture(cmd, raw)
  local f = assert(io.popen(cmd, 'r'))
  local s = assert(f:read('*a'))
  f:close()
  if raw then return s end
  s = string.gsub(s, '^%s+', '')
  s = string.gsub(s, '%s+$', '')
  s = string.gsub(s, '[\n\r]+', ' ')
  return s
end

-- Function to update a switch
function updateZoneSwitch(switch)
  local cmd = curl .. " http://192.168.0.65:54243/device.xml"
  local vac = os.capture(cmd, true)

  if (vac == "") then
    if (otherdevices[switch] == "On") then
      commandArray[switch] = "Off";
    end
  else
    if (otherdevices[switch] == "Off") then
      commandArray[switch] = "On";
    end
  end
end


commandArray = {}
time = os.date("*t")

-- Trigger at 0:02 every day
--if (time.min == 2 and time.hour == 0) then

  -- Zone A
  updateZoneSwitch(switchA)
  
--end

return commandArray
Ce script est une adaptation du script de hobbe récupéré ici : viewtopic.php?t=234

Renseignez votre IP du Freebox Player et créer un interrupteur virtuel (le mien est FreeboxPlayerStatusDevice par la variable switchA

Script à enregistrer dans domoticz/scripts/lua en mode time ou directement dans les événements de Domoticz.

Bonne soirée
jcjames_13009
Messages : 105
Inscription : 23 févr. 2015, 15:27
Localisation : Marseille
Contact :

Re: Retour d'Etat Freebox player

Message par jcjames_13009 »

Salut jcligny

Merci pour le script :) Et en plus il semble fonctionner :lol:
Faut que je trouve une jolie icône pour l'inter virtuel Freebox Player

@+

JC
amelyfred
Messages : 103
Inscription : 29 mai 2016, 18:06

Re: Retour d'Etat Freebox player

Message par amelyfred »

Bonjour à tous
Est ce possible d allumer ou d éteindre le freebox player via cet interrupteur virtuel.
Merci d avance
Fred
amelyfred
Messages : 103
Inscription : 29 mai 2016, 18:06

Re: Retour d'Etat Freebox player

Message par amelyfred »

Bonjour,
Je me réponds à moi même et ou c'est faisable en faisant une requête :

Code : Tout sélectionner

http://hd1.freebox.fr/pub/remote_control?code=code_telecommande&key=power&long=true
Fred
amelyfred
Messages : 103
Inscription : 29 mai 2016, 18:06

Re: Retour d'Etat Freebox player

Message par amelyfred »

Bonjour à tous,
Je voudrais pouvoir récupérér l'état de mon player dans un device et utiliser ce même device pour allumer ou éteindre mon freebox player.
En effet, l'idée est de pouvoir aller la télé via domoticz ou via la télécommande de la freebox.

J'ai donc utilisé le script de ce sujet et j'ai ajouté dans le action on / off de mon device

Code : Tout sélectionner

http://hd1.freebox.fr/pub/remote_control?code=code_telecommande&key=power&long=true
Sauf que là ca tourne en boucle.
Si le player est allumé le script passe le device en On mais du coup la requête est envoyé au player et celui ci s'éteint. Lorsque le script retourne, le script passe le device en off et le requête est envoyer et le player se rallume et ainsi de suite.

Comment puis faire pour combiner les 2?

Merci d'avance pour votre aide.
fred
francklek
Messages : 82
Inscription : 08 janv. 2016, 19:54

Re: Retour d'Etat Freebox player

Message par francklek »

Javais essayé en faisant le contraire : créer un switch qui met en marche et éteint la freebox ( ça fonctionne très bien) avec

Code : Tout sélectionner

http://hd1.freebox.fr/pub/remote_control?code=codetélec&key=power
puis en dirigeant le script vers ce switch mais le résultat est le même
On se mort la queue. Quand on alume la box par le switch le script l'éteint quelques secondes après.

On va trouver !
Pi 2 / RFXtrx433E 251 / Stick Zwave Gen5 / Freebox Delta /Xiaomi gateway / Yeelight / Tablette android murale/ Google Home/RM3 mini / Domoticz V4....
banditos
Messages : 126
Inscription : 30 nov. 2016, 09:55

Re: Retour d'Etat Freebox player

Message par banditos »

@jcligny,

Merci, fonctionne tres bien!
Raspberry pi 3/Rasbian-Jessie/Domoticz/RFXtrx433 USB 433.92MHz/SSD 32gb
Répondre