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 3 invité(s)