Moin paresy,
nein, mit RegVar_SetBuffer wird nicht gearbeitet.
<?
require_once(IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.IPS_GetScriptFile(59153 ));
require_once(IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.IPS_GetScriptFile(14162 ));
require_once(IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.IPS_GetScriptFile(36599));
$IdKategorie = CreateCategoryByIdent(IPS_GetParent(IPS_GetParent($_IPS['SELF'])), "", "Pi_Analyzer_Data", 0);
// wenn das Skript von einer RegisterVariable-Instanz aus aufgerufen worden ist
if ($_IPS['SENDER'] == "RegisterVariable")
{
// Json Struktur wieder herstellen, da diese vom Cutter
// gekürzt worden ist, damit nur die echten Daten
// Telegramme ankommen.
$Data = '{"type":"telegram"' . $_IPS['VALUE'] .'}}';
//var_dump($Data);
//print_r(json_decode($Data, true));
$DataArray = json_decode($Data, true);
//print_r(json_decode($Data, true));
// Java Script time stamp ist mit Millisekungen
$TimeStamp = $DataArray['payload']['tstamp'] / 1000;
$RSSI = $DataArray['payload']['rssi'];
$Type = $DataArray['payload']['type'];
$FromName = $DataArray['payload']['fromName'];
$ToName = $DataArray['payload']['toName'];
$FromSerial = $DataArray['payload']['fromSerial'];
$ToSerial = $DataArray['payload']['toSerial'];
$DC = $DataArray['payload']['dc'];
$FromNameIdent = str_replace(" ", "_", $FromName) . "_RX_Analyzer";
$ToNameIdent = str_replace(" ", "_", $ToName) . "_TX_Analyzer";
$FromNameCCUIdent = str_replace(" ", "_", $FromName) . "_RX_CCU";
$ToNameCCUIdent = str_replace(" ", "_", $ToName) . "_TX_CCU";
if ($RSSI == 0) return;
$Log = false;
switch ($FromName) {
case "Aussen Feuchte Temp":
case "Bad BM":
case "Bad HT":
case "Bad WT":
case "Bad Kontakt Dusche":
case "Bad Kontakt Wanne":
case "Eingang BM Briefkasten":
case "Hans Drehgriffkontakt Fenster":
case "Hans Taster T6":
case "Keller LM Hof":
case "Keller LM Luftentfeuchter":
case "Keller Kontakt Gefrierschrank":
case "Keller Temperatursensor":
case "Keller Terrasse":
case "Keller Ventil Kontakt":
case "Keller Ventil Motor":
case "Keller WT":
case "Kueche Drehgriffkontakt Fenster":
case "Kueche Kontakt Fenster":
case "Kueche Kontakt Gefrierschrank":
case "Kueche Kontakt Schublade unten":
case "Kueche LED":
case "Kueche LM GS":
case "Schlafen BM":
case "Schlafen Drehgriffkontakt Fenster":
case "Schlafen Kontakt Fensterklappe":
case "WC Kontakt Fenster":
case "WC Kontakt Fensterklappe":
SetzeRX();
break;
}
function SetzeRX()
{
global $Log, $IdKategorie, $TimeStamp, $Type, $FromName, $ToName, $FromSerial, $ToSerial, $FromNameIdent, $FromNameCCUIdent, $RSSI, $DC;
SetValueInteger(CreateVariableByIdent($IdKategorie, "", 1, "", $FromNameIdent, 10, "", true, 0, ""), $RSSI);
$RSSICCU = HMXML_getParamSet_VALUES($FromSerial, 0, false)['RSSI_PEER'];
SetValueInteger(CreateVariableByIdent($IdKategorie, "", 1, "", $FromNameCCUIdent, 10, "", true, 0, ""), $RSSICCU);
if ($Log)
{
echo date("d.m.Y - H:i:s", $TimeStamp) . " Typ $Type RSSI $RSSI von $FromName an $ToName von $FromSerial an $ToSerial DC ist $DC \n";
echo date("d.m.Y - H:i:s", time()) . " RSSI Wert CCU $RSSICCU \n";
}
}
?>
Wie geschrieben habe ich solche Technik bislang nicht benutzt 
Gruß
Hans