KikiFUNstyle a écrit:Mes 2 broadlink RM pro et RM mini ne répondent plus aux consignes
Ça fonctionne depuis l'application
D'autres personnes sont de le même cas ?
Discovering...
###########################################
RM2
Type: 0x272a, IP: 192.168.X.XX, MAC: 34XXXXXXXXX Utiliser dans eedomus
temperature = 27.4
###########################################
RM2
Type: 0x2737, IP: 192.168.X.XX, MAC: B4XXXXXXXXX Utiliser dans eedomus
temperature = 14.1
rover820i a écrit:Punaise moi plus rien ne fonctionne, ni le RM Mini, ni le RM Pro ! Après mise à jour du script et des adresses, que dalle, aucune réponse !!
Et bien sûr, si je lance un scan, aucun des deux n'apparait. Il sont bien connectés à mon réseau local, car je les vois connectés sur mon routeur, et ils répondaient aux ordres 2h avant.
rover820i a écrit:Salut merguez,
Merci de ton retour !
J'avais bien tenté d'installer un nouveau, mais le scan ne trouvait aucun RM sur mon réseau alors que j'en ai 3 (détectés par l'appli broadlink). Impossible donc d'en réinstaller un nouveau pour retrouver leur fonctionnement
Attendons donc lundi de pouvoir récupérer une ancienne version du fichier
En tout cas merci d'avoir fait le relais !
<?
// eedomus script for Broadlink RM Pro infrared hub
// this script won't validate if your upload it manually
$action = getArg('action');
define('BROADLINK_PATH', '/mnt/flash/puch/www/script/variables/broadlink');
// show an image on the page
function sdk_show_header()
{
echo "<img src='https://secure.eedomus.com/img/mdm/periph/broadlink.png'><br>";
}
// first available button value
function sdk_get_next_button()
{
$button_id = 1;
for ($i = 1; $i < 500; $i++)
{
if (!file_exists(BROADLINK_PATH.'/button'.$i))
{
$button_id = $i;
break;
}
}
return $button_id;
}
switch ($action)
{
case 'scan':
sdk_show_header();
$cmd = "/usr/local/bin/python3 /mnt/flash/puch/modules/broadlink_python/broadlink_discovery";
exec($cmd, $output);
/*
Discovering...
###########################################
RM4
# broadlink_cli --type 0x6026 --host 192.168.1.244 --mac 24dfa7f93260
Device file data (to be used with --device @filename in broadlink_cli) :
0x6026 192.168.1.244 24dfa7f93260
temperature = 0.0
*/
foreach($output as $line)
{
$line = str_replace("'", "", $line);
$line = str_replace(", 80", "", $line);
if (strpos($line, 'Device file') === false && strpos($line, 'broadlink_cli') === false)
{
if (substr($line, 0, 2) == '0x')
{
$tok = explode(' ', $line);
//var_dump($tok);
$type = $tok[0];
$ip = $tok[1];
$mac = strtoupper($tok[2]);
echo "<b>Type:</b> $type, <b>IP:</b> $ip, <b>MAC:</b> $mac ";
echo '<button onclick="javascript:configure(\''.$type.'\', \''.$ip.'\', \''.$mac.'\');">Utiliser dans eedomus</button> <br>';
}
else
{
echo $line;
echo "<br>";
}
}
$i++;
}
?><script>
function configure(type, ip, mac)
{
window.opener.document.getElementById('periph_param[`BROADLINK_TYPE`]').value = type;
window.opener.document.getElementById('periph_param[`BROADLINK_TYPE`]').focus();
window.opener.document.getElementById('periph_param[`BROADLINK_IP`]').value = ip;
window.opener.document.getElementById('periph_param[`BROADLINK_IP`]').focus();
window.opener.document.getElementById('periph_param[`BROADLINK_MAC`]').value = mac;
window.opener.document.getElementById('periph_param[`BROADLINK_MAC`]').focus();
window.close();
}
</script><?
break;
case 'delete':
$button_id = getArg('button_id');
unlink(BROADLINK_PATH.'/button'.$button_id);
//break; // no break, we want to show setup page after deletio
case 'setup':
sdk_show_header();
echo "Actual learned IR codes :<br><ul>";
// 50 buttons maximum, change here if more needed
for ($i = 1; $i < 500; $i++)
{
if (file_exists(BROADLINK_PATH.'/button'.$i))
{
$query_learn = $_GET;
$query_learn['action'] = 'learn';
$query_learn['mode'] = 'ir';
$query_learn['button_id'] = $i;
$learn_link = http_build_query($query_learn);
$query_delete = $_GET;
$query_delete['action'] = 'delete';
$query_delete['button_id'] = $i;
$delete_link = http_build_query($query_delete);
$query_test = $_GET;
$query_test['action'] = 'send';
$query_test['button_id'] = $i;
$test_link = http_build_query($query_test);
echo "<li>Button $i - Learn again <a href='?$learn_link'>IR</a>";
$query_learn['mode'] = 'rf';
$learn_link = http_build_query($query_learn);
echo " <a href='?$learn_link'>RF</a>";
echo " - <a href='?$delete_link'>Delete</a> - <a href='?$test_link'>Test</a> </li>";
}
}
echo "</ul>";
$query = $_GET;
$query['action'] = 'learn';
$query['button_id'] = sdk_get_next_button();
$query['mode'] = 'ir';
$query_string = http_build_query($query);
echo "Learn a new button <a href='?".$query_string."'>IR</a>";
$query['mode'] = 'rf';
$query_string = http_build_query($query);
echo " <a href='?".$query_string."'>RF</a>";
break;
case 'learn':
sdk_show_header();
echo "The Broadlink RM Pro is now in learn mode (LED is orange), briefly press the target button on your ".strtoupper($_GET['mode'])." remote (The orange LED should turn off).<br><br>";
echo "(This page will timeout after a few seconds)";
$query = $_GET;
$query['action'] = 'do_learn';
$query_string = http_build_query($query);
echo "<script>window.location.href = '?$query_string';</script>";
break;
case 'do_learn':
$type = getArg('BROADLINK_TYPE');
$mac = getArg('BROADLINK_MAC');
$ip = sdk_get_ip_from_ip_or_mac($mac);
$button_id = getArg('button_id');
$mode = getArg('mode');
if ($mode == 'rf')
{
$mode_param = 'rfscanlearn';
}
else
{
$mode_param = 'learn';
}
$cmd = "/usr/local/bin/python3 /mnt/flash/puch/modules/broadlink_python/broadlink_cli --type $type --host $ip --mac ".str_replace(':', '', $mac)." --$mode_param --learnfile ".BROADLINK_PATH."/button".$button_id;
exec($cmd, $output);
$learned = false;
foreach($output as $line)
{
//var_dump($line);
if (strpos($line, "Base64") !== false)
{
$learned = true;
}
}
if ($learned)
{
echo "Code for button #$button_id learned<br><br>";
}
else
{
echo "Nothing learned, please try again<br><br>";
}
$query = $_GET;
$query['action'] = 'setup';
$query_string = http_build_query($query);
echo "<a href='?".$query_string."'>Setup</a>";
break;
case 'send':
$type = getArg('BROADLINK_TYPE');
$mac = getArg('BROADLINK_MAC');
$ip = sdk_get_ip_from_ip_or_mac($mac);
$button_id = getArg('button_id');
if (file_exists(BROADLINK_PATH.'/button'.$button_id))
{
$cmd = "/usr/local/bin/python3 /mnt/flash/puch/modules/broadlink_python/broadlink_cli --type $type --host $ip --mac ".str_replace(':', '', $mac)." --send @".BROADLINK_PATH."/button".$button_id;
exec($cmd, $output);
foreach($output as $line)
{
echo $line."<br>";
}
sdk_show_header();
echo "IR code for button #$button_id sent<br><br>";
$query = $_GET;
$query['action'] = 'setup';
$query_string = http_build_query($query);
echo "<a href='?".$query_string."'>Setup</a>";
}
else
{
sdk_show_header();
echo "IR code for button #$button_id is not set, press <b>Learn</b> to start<br><br>";
$query = $_GET;
$query['action'] = 'learn';
$query['action'] = 'ir';
$query_string = http_build_query($query);
echo "Learn <a href='?".$query_string."'>IR</a>";
$query['action'] = 'rf';
$query_string = http_build_query($query);
echo "Learn <a href='?".$query_string."'>RF</a>";
}
break;
case 'get_temperature':
$type = getArg('BROADLINK_TYPE');
$mac = getArg('BROADLINK_MAC');
$ip = sdk_get_ip_from_ip_or_mac($mac);
$cmd = "/usr/local/bin/python3 /mnt/flash/puch/modules/broadlink_python/broadlink_cli --type $type --host $ip --mac ".str_replace(':', '', $mac)." --sensors";
exec($cmd, $output);
// temperature 0.0
// humidity 0.0
$xml = '<root>';
foreach($output as $line)
{
$xml .= $line;
}
$xml = str_replace('temperature', '<temperature>', $xml);
$xml = str_replace('humidity', '</temperature><humidity>', $xml);
$xml = str_replace('> ', '>', $xml);
$xml .= '</humidity></root>';
// <temperature>22.4</temperature>
$tmp = str_replace('<temperature>', '', $xml);
$tmp = str_replace('</temperature>', '', $tmp);
$tmp = trim($tmp);
if (strlen($tmp) <= 0 || $tmp > 60 /*°C*/)
{
die("Temperature error (Newest models don't have a thermometer): $xml");
}
sdk_header('text/xml');
echo $xml;
break;
}
?>
http://localhost/script/?exec=broadlink.php&BROADLINK_IP=[VAR1]&BROADLINK_MAC=[VAR2]&BROADLINK_TYPE=[VAR3]&button_id=[RAW_VALUE]&action=send
mvermesse a écrit:Personnellement cela ne fonctionne toujours pas, j'arrive bien a scanner le RM Pro, mais cela me met un type différent du tiens, toi tu as 0x272a et moi il me met 0x27a9 donc lequel faut il prendre ?
Ainsi je n'arrive pas à ajouter des butons IR je suis a l'étape learn et quand je clic sur IR cela ne m'affiche jamais la led orange... Help pls
Ps est ce que cela fonctionne avec le RM pro +?
mvermesse a écrit:Saluut !! Avez-vous réussi avec le rm pro plus ? Si oui comment avez-vous fait ?
Retour vers Nouveautés & Annonces
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 23 invité(s)