a lot of debug
This commit is contained in:
@ -1,6 +1,5 @@
|
||||
<?php
|
||||
//TODO to test and debug
|
||||
var_dump($topics);
|
||||
if (!array_key_exists("linky2mqtt", $topics)) $topics["linky2mqtt"] = new topic;
|
||||
if (!array_key_exists("linky2mqtt", $devices)) $devices["linky2mqtt"] = array();
|
||||
|
||||
|
@ -11,50 +11,53 @@ function pws2mqttCallback($topic, $message)
|
||||
$device = & $devices[$topicName];
|
||||
$payloadArray = json_decode($message->payload, true);
|
||||
// friendlyname
|
||||
if (!array_key_exists($fn, $device))
|
||||
if ( $fn != "get")
|
||||
{
|
||||
echo "initializing $fn";
|
||||
$device[$fn] = array("device" => new device);
|
||||
$device = &$device[$fn];
|
||||
$device["device"]->friendlyName = $payloadArray["friendly_name"];
|
||||
$device["device"]->ieeeAddress = $payloadArray["ieeeAddress"];
|
||||
$device["device"]->type = $payloadArray["type"];
|
||||
$device["device"]->topic = $topicName;
|
||||
//$indexDevices[$device["device"]->ieeeAddress] = & $device["device"];
|
||||
//$indexFriendlyNames[$topicName][$fn] = & $device["device"];
|
||||
mkIndexes();
|
||||
if (!array_key_exists($fn, $device))
|
||||
{
|
||||
echo "initializing $fn";
|
||||
$device[$fn] = array("device" => new device);
|
||||
$device = &$device[$fn];
|
||||
$device["device"]->friendlyName = $payloadArray["friendly_name"];
|
||||
$device["device"]->ieeeAddress = $payloadArray["ieeeAddress"];
|
||||
$device["device"]->type = $payloadArray["type"];
|
||||
$device["device"]->topic = $topicName;
|
||||
//$indexDevices[$device["device"]->ieeeAddress] = & $device["device"];
|
||||
//$indexFriendlyNames[$topicName][$fn] = & $device["device"];
|
||||
mkIndexes();
|
||||
|
||||
}else
|
||||
{
|
||||
$device = &$device[$fn];
|
||||
}
|
||||
unset($payloadArray["friendly_name"]);
|
||||
unset($payloadArray["ieeeAddress"]);
|
||||
unset($payloadArray["type"]);
|
||||
}else
|
||||
{
|
||||
$device = &$device[$fn];
|
||||
}
|
||||
unset($payloadArray["friendly_name"]);
|
||||
unset($payloadArray["ieeeAddress"]);
|
||||
unset($payloadArray["type"]);
|
||||
|
||||
foreach ($payloadArray as $property => $value)
|
||||
{
|
||||
$str = substr($property, -1);
|
||||
if ($str == "f")
|
||||
foreach ($payloadArray as $property => $value)
|
||||
{
|
||||
$newProperty = rtrim($property, "f") . "c";
|
||||
$payloadArray[$newProperty] = farenheit2celsius($value);
|
||||
}elseif ($str == "h")
|
||||
{
|
||||
$newProperty = substr($property, 0, -3) . "kmh";
|
||||
$payloadArray[$newProperty] = mph2kmh($value);
|
||||
$str = substr($property, -1);
|
||||
if ($str == "f")
|
||||
{
|
||||
$newProperty = rtrim($property, "f") . "c";
|
||||
$payloadArray[$newProperty] = farenheit2celsius($value);
|
||||
}elseif ($str == "h")
|
||||
{
|
||||
$newProperty = substr($property, 0, -3) . "kmh";
|
||||
$payloadArray[$newProperty] = mph2kmh($value);
|
||||
}
|
||||
if ($property == "baromin")
|
||||
{
|
||||
$newProperty = "barominmb";
|
||||
$payloadArray["barominmb"] = millibars($value);
|
||||
}
|
||||
}
|
||||
if ($property == "baromin")
|
||||
//$device = getDeviceByFriendlyname($topicName, $fn, $payloadArray, true);
|
||||
if (!empty($payloadArray))
|
||||
{
|
||||
$newProperty = "barominmb";
|
||||
$payloadArray["barominmb"] = millibars($value);
|
||||
changeDevice($topicName, $fn, $device["device"], $payloadArray);
|
||||
}
|
||||
}
|
||||
//$device = getDeviceByFriendlyname($topicName, $fn, $payloadArray, true);
|
||||
if (!empty($payloadArray))
|
||||
{
|
||||
changeDevice($topicName, $fn, $device["device"], $payloadArray);
|
||||
}
|
||||
};
|
||||
$topics["pws2mqtt"]->callback = "pws2mqttCallback";
|
||||
|
||||
@ -66,5 +69,4 @@ if (!is_callable("pws2mqttGetList"))
|
||||
}
|
||||
}
|
||||
|
||||
pws2mqttGetList();
|
||||
?>
|
||||
|
@ -5,7 +5,7 @@ if (!array_key_exists("zigbee2mqtt", $devices)) $devices["zigbee2mqtt"] = array
|
||||
|
||||
function zigbee2mqttCallback($topic, $message)
|
||||
{
|
||||
global $topics, $devices, $included, $logFh, $indexFriendlyNames;
|
||||
global $topics, $devices, $included, $logFh, $indexFriendlyNames, $devicesRequest;
|
||||
|
||||
if ($topic[1] == "bridge")
|
||||
{
|
||||
@ -20,6 +20,7 @@ function zigbee2mqttCallback($topic, $message)
|
||||
//fwrite($logFh, var_export($topics[$topic[0]]->devices, true));
|
||||
mkDevicesDB($topic[0], $topics[$topic[0]]->devices);
|
||||
getDevicesValues($topic[0]);
|
||||
$devicesRequest = false;
|
||||
break;
|
||||
case "groups":
|
||||
logger(DEBUG,_("Inserting zigbee groups in DB"), __FILE__ . ":" . __LINE__);
|
||||
@ -77,7 +78,7 @@ function zigbee2mqttCallback($topic, $message)
|
||||
$alert = 0;
|
||||
while (!array_key_exists($fn, $indexFriendlyNames))
|
||||
{
|
||||
logger(INFO, _("device does not exists in IndexFriendlyNames: ") . print_r($payloadArray,true), __FILE__ . ":" . __LINE__);
|
||||
logger(ERROR, $fn . _(" device does not exists in IndexFriendlyNames: ") . print_r($payloadArray,true), __FILE__ . ":" . __LINE__);
|
||||
if ($flag == 0)
|
||||
{
|
||||
logger(INFO, "Reindexing all indexes", __FILE__ . ":" . __LINE__);
|
||||
@ -86,26 +87,32 @@ function zigbee2mqttCallback($topic, $message)
|
||||
}elseif($flag == 1)
|
||||
{
|
||||
logger(INFO, "getting device list from zigbee2mqtt", __FILE__ . ":" . __LINE__);
|
||||
publish("zigbee2mqtt", array("bridge/devices" => ""), "get");
|
||||
if ($devicesRequest === false)
|
||||
{
|
||||
publish("zigbee2mqtt", array("bridge/devices" => ""), "get");
|
||||
}
|
||||
$flag += 1;
|
||||
}elseif($flag >= 2)
|
||||
}elseif($flag++ >= 5)
|
||||
{
|
||||
$flage = 0;
|
||||
if ($alert++ > 4)
|
||||
{
|
||||
logger(ALERT, _("device does not exists in IndexFriendlyNames: ") . $fn, __FILE__ . ":" . __LINE__);
|
||||
break;
|
||||
}
|
||||
//if ($alert++ > 4)
|
||||
//{
|
||||
logger(ERROR, _(" stopping searching for ") . $fn . " payloadArray =>" . print_r($payloadArray, true), __FILE__ . ":" . __LINE__);
|
||||
break;
|
||||
//}
|
||||
}
|
||||
}
|
||||
//logger(DEBUG, "PayloadArray = " . print_r($payloadArray,true), __FILE__ . ":" . __LINE__);
|
||||
if ($alert <= 4)
|
||||
if ($flag <= 4)
|
||||
{
|
||||
changeDevice($topicName, $fn, $indexFriendlyNames[$fn], $payloadArray);
|
||||
}else
|
||||
{
|
||||
logger(ERROR, $fn . _(" not changed"), __FILE__ . ":" . __LINE__);
|
||||
}
|
||||
}else
|
||||
{
|
||||
logger(DEBUG, _("Zigbee2mqtt doing get or set !?"));
|
||||
logger(DEBUG, _("Zigbee2mqtt doing get or hooks not included !?"), __FILE__ . ":" . __LINE__);
|
||||
}
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user