Hallo,
wo lege ich die dll-Datei hin?
Grüße
Mehdi
Hallo,
wo lege ich die dll-Datei hin?
Grüße
Mehdi
Ich habe die Version von Miniblister genommen,damit kommt zumindest die Kommunikation zustande und die Frage nach der dll stellt sich erst garnicht! Bist du grad dran,dein luxtronik zu verbinden?könntest du mir dann evtl ein paar Fragen beantworten? Zb sw-Version deiner luxtronik? Bei mir kommen immer noch nur Nullen zurück…
HI,
ich habe die Zip-Datei von tschewie (Post Nr. 2) genommen und den Script (Post Nr. 7). Die Importanweisungen im Script musst du entsprechend anpassen!
Wichtig ist noch im config.php die WP-IPAdresse!
Die DLL-Datei habe ich nicht gebraucht. Das ganze hat auf Anhieb funktioniert.
Ich habe Luxtronic 2.0, Softwareversion 1.77
Was zeigt die Konsole wenn du den Script startest?
Grüße
Mehdi
Ich hatte beide Versionen schon am laufen und bei der Version von Tschewie kam auch „…Java Verbindung hergestelt…“ (oder so).
So sieht das Debugging vom Socket aus, wenn ich alle 30s 3004 sende… Irgendwie kommen da nur Nullen zurück…
Genau so sieht es auch aus, wenn ich zB alle 5Min refreshe…
Wie sieht das bei euch aus?
Also irgendwas ist total durcheinander.
Die hast doch die Zipdatei entpackt.
Darin findest du drei PHP Dateien und eine DLL-Datei.
Du brauchst nur folgende PHP-Dateien:
config.php
java_daten.php
In config.php trägst du die WP IP Adresse ein.
Du kopierst diesen Code
<?php
//includes
include "innotec_wp";
include "java_daten";
//Dummy Modul anlegen als Heimat der Messdaten im Selben Pfad wie das Script
$parentobject = IPS_GetObject($_IPS['SELF']);
$parentID = $parentobject['ParentID'];
//Variablen
$sBuff = 0;
$time1 = time();
$filename = "test.tst";
$JavaWerte = 0;
$refreshtime = 5; //sekunden
echo '<meta http-equiv="refresh" content="5" >';
// connecten
$socket = socket_create(AF_INET, SOCK_STREAM,0);
$connect = socket_connect($socket, $IpWwc, $WwcJavaPort) || exit("socket_connect fehlgeschlagen");
if ($connect = 1)
echo "PASS: Verbunden mit WWC Java Console $IpWwc Port: $WwcJavaPort <br>";
else
echo "ERROR: Nicht verbunden mit WWC Java Console <br>";
$timestamp= time();
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i:s",$timestamp);
printf('============================================================== <br>');
printf('Ausleszeit: %s - %s Uhr <br>',$datum,$uhrzeit);
printf('Refresh alle 5s !<br>');
printf('! TEST !<br>');
printf('============================================================== <br>');
//---------------------------------------------------------------------------
// Daten holen
$msg = pack('N*',3004);
//printf('msg:%s <br>',$msg);
$send=socket_write($socket, $msg, 4); //3004 senden
//printf('Bytes send:%d <br>',$send);
$msg = pack('N*',0);
//printf('msg:%s <br>',ord($msg));
$send=socket_write($socket, $msg, 4); //0 senden
//printf('Bytes send:%d <br>',$send);
socket_recv($socket,$Test,4,MSG_WAITALL); // Lesen, sollte 3004 zurückkommen
$Test = unpack('N*',$Test);
//printf('read:%s <br>',implode($Test));
socket_recv($socket,$Test,4,MSG_WAITALL); // Status
$Test = unpack('N*',$Test);
printf('Status:%s <br>',implode($Test));
socket_recv($socket,$Test,4,MSG_WAITALL); // Länge der nachfolgenden Werte
$Test = unpack('N*',$Test);
printf('Länge der nachfolgenden Werte:%s <br>',implode($Test));
$JavaWerte = implode($Test);
printf('============================================================== <br>');
for ($i = 0; $i < $JavaWerte; ++$i)//vorwärts
{
socket_recv($socket,$InBuff[$i],4,MSG_WAITALL); // Lesen, sollte 3004 zurückkommen
$daten_raw[$i] = implode(unpack('N*',$InBuff[$i]));
//printf('InBuff(%d): %d <br>',$i,$daten_raw[$i]);
}
//socket wieder schliessen
socket_close($socket);
// Werte anzeigen
for ($i = 0; $i < $JavaWerte; ++$i)//vorwärts
{
if ($i >= 10 & $i <= 28) // Temperaturen
{($daten_raw[$i] = $daten_raw[$i]*0.1);
//printf('(%d)%s : %.1f °C<br>',$i,$java_dataset[$i],$daten_raw[$i]);
$varid = CreateVariableByName($parentID, $java_dataset[$i], 2, 'WP_'.$java_dataset[$i], "Temperatur_200_C", $i);//float
setValueFloat($varid,$daten_raw[$i]);
}
if ($i == 56) // Zähler
{($daten_raw[$i] = $daten_raw[$i]/3600);
//printf('(%d)%s : %.2f h<br>',$i,$java_dataset[$i],$daten_raw[$i]);
$varid = CreateVariableByName($parentID, $java_dataset[$i], 2, 'WP_'.$java_dataset[$i], "", $i);//float
setValueFloat($varid,$daten_raw[$i]);
}
if ($i == 57) // Zähler
{($daten_raw[$i] = $daten_raw[$i]);
//printf('(%d)%s : %d<br>',$i,$java_dataset[$i],$daten_raw[$i]);
$varid = CreateVariableByName($parentID, $java_dataset[$i], 2, 'WP_'.$java_dataset[$i], "", $i);//float
setValue($varid,$daten_raw[$i]);
}
if ($i == 58) // Zähler
{($daten_raw[$i] = $daten_raw[$i]/3600);
//printf('(%d)%s : %.2f h<br>',$i,$java_dataset[$i],$daten_raw[$i]);
$varid = CreateVariableByName($parentID, $java_dataset[$i], 2, 'WP_'.$java_dataset[$i], "", $i);//float
setValueFloat($varid,$daten_raw[$i]);
}
if ($i == 59) // Zähler
{($daten_raw[$i] = $daten_raw[$i]);
//printf('(%d)%s : %d<br>',$i,$java_dataset[$i],$daten_raw[$i]);
$varid = CreateVariableByName($parentID, $java_dataset[$i], 2, 'WP_'.$java_dataset[$i], "", $i);//float
setValue($varid,$daten_raw[$i]);
}
if ($i >= 60 & $i <= 66) // Zähler
{($daten_raw[$i] = $daten_raw[$i]/3600);
//printf('(%d)%s : %d h<br>',$i,$java_dataset[$i],$daten_raw[$i]);
$varid = CreateVariableByName($parentID, $java_dataset[$i], 2, 'WP_'.$java_dataset[$i], "", $i);//float
setValueFloat($varid,$daten_raw[$i]);
}
if ($i >= 95 & $i <= 99) // Errors
{
//printf('(%d)%s : %d<br>',$i,$java_dataset[$i],$daten_raw[$i]);
$varid = CreateVariableByName($parentID, $java_dataset[$i], 3, 'WP_'.$java_dataset[$i], "", $i);//integer
$FehlerDatum = date("m.d.y",$daten_raw[$i]);
setValueString($varid,$FehlerDatum);
}
if ($i >= 100 & $i <= 105) // Errors
{
//printf('(%d)%s : %d<br>',$i,$java_dataset[$i],$daten_raw[$i]);
$varid = CreateVariableByName($parentID, $java_dataset[$i], 3, 'WP_'.$java_dataset[$i], "", $i);//integer
setValueString($varid,$daten_raw[$i]);
}
}
function CreateVariableByName($id, $name, $type, $ident, $profile, $position)
{
$vid = @IPS_GetObjectIDByIdent ($ident, $id);
if($vid === false)
{
$vid = IPS_CreateVariable($type);
IPS_SetParent($vid, $id);
IPS_SetName($vid, $name);
IPS_SetIdent($vid, $ident);
IPS_SetInfo($vid, "");
IPS_SetPosition($vid, $position);
if($profile !== "")
{
IPS_SetVariableCustomProfile($vid, $profile);
}
}
return $vid;
}
?>
in eine Datei und speicherst die Datei als Script ab. Vorher die zwei include-Anweisungen ganz oben entsprechend anpassen.
Danach lässt du den Script laufen und screenshot hier posten.
Grüße
Mehdi
brauchst natürlich die wp_daten_holen.php auch noch. Sorry habst vergessen
PASS: Verbunden mit WWC Java Console 192.168.2.18 Port: 8888 ==============================================================
Ausleszeit: 03.02.2016 - 19:47:27 Uhr Refresh alle 5s !! TEST !==============================================================
Status:0 Länge der nachfolgenden Werte:0 ==============================================================
Auslesedauer: 0 secs
Das spuckt mir die Console aus.
jetzt müssten auch die Werte drin stehen! Oder hast du immer noch Nullen?
Ach jetzt sehe ich es!
Kannst du mit deinem alphainnotec App mit dem Smartphone auf die WP zugreifen?
Welche luxtronic hast du?
Oh Mann. War die ganze Zeit von 2.0 ausgegangen,scheint aber wohl doch die 2.1 zu sein. Sollten die tatsächlich das Protokoll geändert haben?
Würde mich wundern aber das scheint das einzig logische zu sein.
Ruf doch mal bei der Technikhotline an.
Will do! Sieht das webinterface bei 2.0 anders aus?
Bin bis jetzt nur mit dem APP rein :rolleyes:
Ich probiere es heute Abend und sag Bescheid
Wir könnten auch den HTTP Protokoll auslesen falls alle Stricke reissen sollten.
Aber bist du sicher dass du den 2.1 hast?
Hab dem techn. Support jetzt ne EMail geschickt, der Herr am Telefon konnte als Klempner dazu nichts sagen bzw. wusste nicht, wovon ich rede …
Wie liest man denn das Protokoll aus??
Wenn ich direkt 3005 sende, kommen über 300 Hexbytes zurück, aber das Skript lauft sich scheinbar tot…
mmmhhh…
Das habe ich gefunden im knx-Forum und auch Google spukt einen anderen Port aus
8889 statt 8888
http://knx-user-forum.de/forum/supportforen/eibpc/18361-anlagenstatus-einer-alpha-innotec-wärmepumpe-luxtronik-2-0/page2
wäre schön wenn es nur das ist.
thx tschewie
PASS: Verbunden mit WWC Java Console 192.168.2.18 Port: 8889 ============================================================== Ausleszeit: 04.02.2016 - 21:39:05 Uhr Refresh alle 5s !! TEST !============================================================== Status:0 Länge der nachfolgenden Werte:231 ============================================================== (10)Temperatur_TVL_Vorlauf : 29.3 °C(11)Temperatur_TRL_Ruecklauf : 29.4 °C(12)Sollwert_TRL_HZ_Ruecklauf_Soll : 32.6 °C(13)Temperatur_TRL_ext_Ruecklauf_Extern : 5.0 °C(14)Temperatur_THG_Heissgas : 40.4 °C(15)Temperatur_TA_Aussenfuehler : 3.7 °C(16)Mitteltemperatur : 2.6 °C(17)Temperatur_TBW : 42.1 °C(18)Einst_BWS_akt : 42.5 °C(19)Temperatur_TWE_Waermequelle_Ein : 0.2 °C(20)Temperatur_TWA_Waermequelle_Aus : -0.1 °C(21)Temperatur_TFB1 : 75.0 °C(22)Sollwert_TVL_MK : 0.0 °C(23)Temperatur_RFV : 0.0 °C(24)Temperatur_TFB2 : 0.0 °C(25)Sollwert_TVL_MK2 : 0.0 °C(26)Temperatur_TSK : 0.0 °C(27)Temperatur_TSS : 0.0 °C(28)Temperatur_TEE : 0.0 °C(29)ASDin : EIN(30)BWTin : AUS(31)EVUin : EIN(32)HDin : AUS(33)MOTin : EIN(34)NDin : EIN(35)PEXin : 0.0 Volt(36)SWTin : AUS(37)AVout : AUS(38)BUPout : AUS(39)HUPout : EIN(40)MA1out : AUS(41)MZ1out : EIN(42)VENout : AUS(43)VBOout : AUS(44)VD1out : AUS(45)VD2out : AUS(46)ZIPout : AUS(47)ZUPout : AUS(48)ZW1out : AUS(49)ZW2SSTout : AUS(50)ZW3SSTout : AUS(51)FP2out : AUS(52)SLPout : AUS(53)SUPout : AUS(54)MZ2out : AUS(55)MA2out : AUS(56)Zaehler_BetrZeitVD1 : 1508.23 h(57)Zaehler_BetrZeitImpVD1_Impulse_Verdichter : 6945(58)Zaehler_BetrZeitVD2 : 0.00 h(59)Zaehler_BetrZeitImpVD2 : 0(60)Zaehler_BetrZeitZWE1 : 1 h(61)Zaehler_BetrZeitZWE2 : 0 h(62)Zaehler_BetrZeitZWE3 : 0 h(63)Zaehler_BetrZeitWP : 1508 h(64)Zaehler_BetrZeitHz : 1383 h(65)Zaehler_BetrZeitBW : 123 h(66)Zaehler_BetrZeitKue : 0 h(67)Time_WPein_akt : 01:00:01(68)Time_ZWE1_akt : 01:00:00(69)Time_ZWE2_akt : 01:00:00(70)Timer_EinschVerz : 01:00:00(71)Time_SSPAUS_akt : 01:00:00(72)Time_SSPEIN_akt : 01:01:56(73)Time_VDStd_akt : 01:06:34(74)Time_HRM_akt : 01:04:33(75)Time_HRW_akt : 01:00:00(76)Time_LGS_akt : 01:00:00(77)Time_SBW_akt : 01:00:00(78)Code_WP_akt : 59(79)BIV_Stufe_akt : 1(80)WP_BZ_akt : 0(81)SoftStand1 : 86(82)SoftStand2 : 51(83)SoftStand3 : 46(84)SoftStand4 : 55(85)SoftStand5 : 53(86)SoftStand6 : 0(87)SoftStand7 : 0(88)SoftStand8 : 0(89)SoftStand9 : 0(90)SoftStand10 : 0(91)AdresseIP_akt : -1062731162(92)SubNetMask_akt : -256(93)Add_Broadcast : -1062731009(94)Add_StdGateway : -1062731263(95)ERROR_Time0 : 1440748545(96)ERROR_Time1 : 1440748492(97)ERROR_Time2 : 1436956998(98)ERROR_Time3 : 1097859072(99)ERROR_Time4 : 51(100)ERROR_Nr0 : 751(101)ERROR_Nr1 : 711(102)ERROR_Nr2 : 716(103)ERROR_Nr3 : 1077957242(104)ERROR_Nr4 : -1094547212(105)AnzahlFehlerInSpeicher : 3(106)Switchoff_file_Nr0 : 9(107)Switchoff_file_Nr1 : 9(108)Switchoff_file_Nr2 : 9(109)Switchoff_file_Nr3 : 9(110)Switchoff_file_Nr4 : 9(111)Switchoff_file_Time0 : 1454619827(112)Switchoff_file_Time1 : 1454621647(113)Switchoff_file_Time2 : 1454621648(114)Switchoff_file_Time3 : 1454618469(115)Switchoff_file_Time4 : 1454619826(116)Comfort_exists : 0(117)HauptMenuStatus_Zeile1 : 2(118)HauptMenuStatus_Zeile2 : 1(119)HauptMenuStatus_Zeile3 : 3(120)HauptMenuStatus_Zeit : 116(121)HauptMenuAHP_Stufe : 0(122)HauptMenuAHP_Temp : 0(123)HauptMenuAHP_Zeit : 33249(124)SH_BWW : 1(125)SH_HZ : 0(126)SH_MK1 : 0(127)SH_MK2 : 1(128)Einst_Kurzrpgramm : 0(129)StatusSlave_1 : 0(130)StatusSlave_2 : 0(131)StatusSlave_3 : 0(132)StatusSlave_4 : 0(133)StatusSlave_5 : 0(134)AktuelleTimeStamp : 1454622042(135)SH_MK3 : 1(136)Sollwert_TVL_MK3 : 0(137)Temperatur_TFB3 : 0(138)MZ3out : 0(139)MA3out : 0(140)FP3out : 0(141)Time_AbtIn : 0(142)Temperatur_RFV2 : 0(143)Temperatur_RFV3 : 0(144)SH_SW : 3(145)Zaehler_BetrZeitSW : 0(146)FreigabKuehl : 0(147)AnalogIn : 0(148)SonderZeichen : 0(149)SH_ZIP : 0(150)WebsrvProgrammWerteBeobarten : 0(151)WMZ_Heizung : 112109(152)WMZ_Brauchwasser : 9524(153)WMZ_Schwimmbad : 0(154)WMZ_Seit : 121604(155)WMZ_Durchfluss : 0(156)AnalogOut1 : 0(157)AnalogOut2 : 0(158)Time_Heissgas : 0Auslesedauer: 0 secs
…aber wo sind die Variablen?