Ich bastel halt gern. 
Als Nächstes dem Cutter eine Registervariable hinzufügen.
Als Ziel wird das Script eingetragen.
Im Script müssen dann die IDs angepasste werden.
Das sollte es gewesen sein.
Mit PHP stehe ich etwas auf Kriegsfuss. Da bin ich noch kräftig am lernen. Bitte um Nachsicht.
<?
//Ids der Variablen
$Wert1 = 29586 ;// Innentemperatur
$Wert2 = 29968 ;// Außentemperatur
$Wert3 = 17951 ;// Taupunkt
$Wert4 = 10083 ;// gefühlte Temperatur
$Wert5 = 53031 ;// Hitzeindex
$Wert6 = 57311 ;// Luftfeuchtigkeit Innen
$Wert7 = 13848 ;// Luftfeuchtigkeit Außen
$Wert8 = 44044 ;// Luftdruck absolut
$Wert9 = 42726 ;// Luftdruck relativ
$Wert10 = 34416 ;// Windrichtung
$Wert11 = 35193 ;// Windgeschwindigkeit
$Wert12 = 24839 ;// Windböe
$Wert13 = 10102 ;// Niederschlag aktuell
$Wert14 = 54363 ;// Niederschlag Stunde
$Wert15 = 41107 ;// Niederschlag 10min auf Stunde hochgerechnet
$Wert16 = 14732 ;// Niederschlag täglich
$Wert17 = 30192 ;// Niederschlag wöchentlich
$Wert18 = 45004 ;// Niederschlag monatlich
//Wert19 fehlt im Paket
$Wert20 = 53763 ;// Niederschlag gesamt
$Wert21 = 34800 ;// Sonneneinstrahlung
$Wert22 = 15634 ;// Lichtintensität eventuell gemittelt
$Wert23 = 42171 ;// UV
$Wert24a= 22271 ;// Datum
$Wert24b= 41073 ;// Letzter Paketempfang
$Wert25 = 33828 ;// Windgeschwindigkeit Tagesspitze
$Dp = 14020 ;// Datenpaketlänge
$Daten_USB = 11179 ;// Wetterdaten USB
//Ab hier braucht nichts mehr geändert zu werden.
$Wertlänge = array(2,2,2,2,2,1,1,2,2,2,2,2,4,4,4,4,4,4,0,4,4,2,1,6,2);
if ($_IPS['SENDER'] == "RegisterVariable")
{
// bereits im Puffer der Instanz vorhandene Daten in $data kopieren
$data = RegVar_GetBuffer($_IPS['INSTANCE']);
// neu empfangene Daten an $data anhängen
$data .= $_IPS['VALUE'];
$CRCist = 1;
//Datenpaketlänge ermitteln
$Len = ord($data[0])-5;
$CRCsoll = ord($data[(ord($data[0])-3)]);
for ($i = 0; $i <= ($Len+1); $i++)
{
$CRCist = $CRCist + ord($data[$i]);
If ($CRCist > 255)
{
$CRCist = $CRCist-256;
}
}
SetValue($Daten_USB, bin2hex($_IPS['VALUE'])); //nur zur Kontrolle
SetValue($Dp, ord($data[0]));
if ($CRCist <> $CRCsoll)
{
echo ("Prüfsumme Fehlerhaft. Wetterdatenübertragung!
");
exit(); //Prüfsumme fehlerhaft
}
$x = 0;
for ($i = 1; $x <= $Len; $i++)
{
$x++;
$Sensor = ord($data[$x]); //Sensor für Kennung des Gebers
$BytePosition = ($Wertlänge[($Sensor)-1]); //Wertlänge für Sensor (Anzahl Byte)
If ($Sensor == 1) //Temp innen
{
SetValue($Wert1, (ord($data[$x+1])*0x100 +ord($data[$x+2])-400)/10);
$x = $x + $BytePosition;
};
If ($Sensor == 2) //Temp aussen
{
SetValue($Wert2, (ord($data[$x+1])*0x100 + ord($data[$x+2])-400)/10);
$x = $x + $BytePosition;
};
If ($Sensor == 3) //Temp Taupunkt
{
SetValue($Wert3, (ord($data[$x+1])*0x100 +ord($data[$x+2])-400)/10);
$x = $x + $BytePosition;
};
If ($Sensor == 4) //gefühlte Temp
{
SetValue($Wert4, (ord($data[$x+1])*0x100 +ord($data[$x+2])-400)/10);
$x = $x + $BytePosition;
};
If ($Sensor == 5) //Hitzeindex
{
SetValue($Wert5, (ord($data[$x+1])*0x100 +ord($data[$x+2])-400)/10);
$x = $x + $BytePosition;
};
If ($Sensor == 6) //rel. Feuchte innen
{
SetValue($Wert6, ord($data[$x+1]));
$x = $x + $BytePosition;
};
If ($Sensor == 7) //rel. Feuchte aussen
{
SetValue($Wert7, ord($data[$x+1]));
$x = $x + $BytePosition;
};
If ($Sensor == 8) //Absoluter Luftdruck
{
SetValue($Wert8, (ord($data[$x+1])*0x100 +ord($data[$x+2]))/10);
$x = $x + $BytePosition;
};
If ($Sensor == 9) //relativer Luftdruck
{
SetValue($Wert9, (ord($data[$x+1])*0x100 +ord($data[$x+2]))/10);
$x = $x + $BytePosition;
};
If ($Sensor == 10) //Windrichtung
{
SetValue($Wert10, ord($data[$x+1])*0x100 +ord($data[$x+2]));
$x = $x + $BytePosition;
};
If ($Sensor == 11) //Windgeschwindigkeit m/s
{
SetValue($Wert11, (ord($data[$x+1])*0x100 +ord($data[$x+2]))/10);
$x = $x + $BytePosition;
};
If ($Sensor == 12) //Windboen m/s
{
SetValue($Wert12, (ord($data[$x+1])*0x100 +ord($data[$x+2]))/10);
$x = $x + $BytePosition;
};
If ($Sensor == 13) //Regen aktuell
{
SetValue($Wert13, (ord($data[$x+1])*0x1000000+ord($data[$x+2])*0x10000 +ord($data[$x+3])*0x100 +ord($data[$x+4]))/10);
$x = $x + $BytePosition;
};
If ($Sensor == 14) //Regen Stunde
{
SetValue($Wert14, (ord($data[$x+1])*0x1000000+ord($data[$x+2])*0x10000 +ord($data[$x+3])*0x100 +ord($data[$x+4]))/10);
$x = $x + $BytePosition;
};
If ($Sensor == 15) //Regen auf eine Stunde hochgerechnet 10min * 6
{
SetValue($Wert15, ((ord($data[$x+1])*0x1000000+ord($data[$x+2])*0x10000 +ord($data[$x+3])*0x100 +ord($data[$x+4]))/10)*6);
$x = $x + $BytePosition;
};
If ($Sensor == 16) //Regen tag
{
SetValue($Wert16, (ord($data[$x+1])*0x1000000+ord($data[$x+2])*0x10000 +ord($data[$x+3])*0x100 +ord($data[$x+4]))/10);
$x = $x + $BytePosition;
};
If ($Sensor == 17) //Regen Woche
{
SetValue($Wert17, (ord($data[$x+1])*0x1000000+ord($data[$x+2])*0x10000 +ord($data[$x+3])*0x100 +ord($data[$x+4]))/10);
$x = $x + $BytePosition;
};
If ($Sensor == 18) //Regen Monat
{
SetValue($Wert18, (ord($data[$x+1])*0x1000000+ord($data[$x+2])*0x10000 +ord($data[$x+3])*0x100 +ord($data[$x+4]))/10);
$x = $x + $BytePosition;
};
//Sensor 19 Fehlt
If ($Sensor == 20) //Regen gesamt
{
SetValue($Wert20, (ord($data[$x+1])*0x1000000+ord($data[$x+2])*0x10000 +ord($data[$x+3])*0x100 +ord($data[$x+4]))/10);
$x = $x + $BytePosition;
};
If ($Sensor == 21) //Lichtsensor kLux
{
SetValue($Wert21, (ord($data[$x+1])*0x1000000+ord($data[$x+2])*0x10000 +ord($data[$x+3])*0x100 +ord($data[$x+4]))/10000);
$x = $x + $BytePosition;
};
If ($Sensor == 22) //?? Sonneneinstrahlung W/m2
{
SetValue($Wert22, (ord($data[$x+1])*0x100 +ord($data[$x+2])));
$x = $x + $BytePosition;
};
If ($Sensor == 23) //UV Index
{
SetValue($Wert23, ord($data[$x+1]));
$x = $x + $BytePosition;
};
If ($Sensor == 24) //Datum
{
SetValue($Wert24a, ord($data[$x+3]).".".ord($data[$x+2]).".".ord($data[$x+1]));
SetValue($Wert24b, ord($data[$x+4]).":".ord($data[$x+5]).":".ord($data[$x+6]));
$x = $x + $BytePosition;
};
If ($Sensor == 25) //Windgeschwindigkeit Tagesspitze
{
SetValue($Wert25, (ord($data[$x+1])*0x100 +ord($data[$x+2]))/10);
$x = $x + $BytePosition;
};
}
}
?>