Homematic und AC Elwa E Auslesen
Moderator: Co-Administratoren
-
- Beiträge: 21
- Registriert: 15.04.2021, 15:24
- System: CCU und Access Point
- Hat sich bedankt: 4 Mal
Homematic und AC Elwa E Auslesen
Hallo
Hat von euch schon jemand Erfahrung oder ein Script zum Auslesen der Elwa E?
Ich möchte die Aktuelle Wassertemperatur und den Verbrauch Abfragen.
Über die IP Adresse und data.jsn werden alle codes Ausgegeben.
Danke für eure Hilfe
Gruß
Markus
Hat von euch schon jemand Erfahrung oder ein Script zum Auslesen der Elwa E?
Ich möchte die Aktuelle Wassertemperatur und den Verbrauch Abfragen.
Über die IP Adresse und data.jsn werden alle codes Ausgegeben.
Danke für eure Hilfe
Gruß
Markus
Zuletzt geändert von Roland M. am 18.07.2021, 21:13, insgesamt 1-mal geändert.
Grund: Thema verschoben
Grund: Thema verschoben
-
- Beiträge: 9681
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1626 Mal
Re: Homematic und AC Elwa E Auslesen
JSON oder was wird da geliefert?
Wenn ja, dann schau dir das hier an :
viewtopic.php?f=26&t=65051&p=639981#p639981
Wenn ja, dann schau dir das hier an :
viewtopic.php?f=26&t=65051&p=639981#p639981
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
-
- Beiträge: 21
- Registriert: 15.04.2021, 15:24
- System: CCU und Access Point
- Hat sich bedankt: 4 Mal
Re: Homematic und AC Elwa E Auslesen
Hallo
Ja JSON wird Angezeigt:
Ja JSON wird Angezeigt:
Code: Alles auswählen
device "AC ELWA-E"
fwversion "00201.02"
status 3
power 0
boostpower 0
temp1 645
ww1target 725
boostactive 0
legboostnext "off"
loctime "20:39:01"
unixtime 1626633541
ctrlstate "Conn. to Home Manager"
blockactive 0
meter1_id null
meter1_ip "null"
meter2_id null
meter2_ip "null"
meter3_id null
meter3_ip "null"
meter4_id null
meter4_ip "null"
meter5_id null
meter5_ip "null"
meter6_id null
meter6_ip "null"
surplus null
m0sum null
m0l1 null
m0l2 null
m0l3 null
m0bat null
m1sum null
m1l1 null
m1l2 null
m1l3 null
m1devstate null
m2sum null
m2l1 null
m2l2 null
m2l3 null
m2soc null
m2state null
m2devstate null
m3sum null
m3l1 null
m3l2 null
m3l3 null
m3soc null
m3devstate null
m4sum null
m4l1 null
m4l2 null
m4l3 null
m4devstate null
ecarstate "null"
ecarboostctr null
mss2 "null"
mss3 "null"
mss4 "null"
mss5 "null"
mss6 "null"
mss7 "null"
mss8 "null"
mss9 "null"
mss10 "null"
mss11 "null"
tempchip 35
cur_ip "30.4.78.129"
cur_sn "255.255.255.0"
cur_gw "30.4.78.1"
cur_dns "30.4.78.1"
cloudstate 4
debug_ip "0.0.0.0"
Zuletzt geändert von alchy am 22.07.2021, 11:36, insgesamt 1-mal geändert.
Grund: Code in Codetags posten
Grund: Code in Codetags posten
-
- Beiträge: 9681
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1626 Mal
Re: Homematic und AC Elwa E Auslesen
Ist das die original Ausgabe? oohne "," und ":"???
Btw sowas bitte immer in Code Tags posten (siehe oben Button </>)
Btw sowas bitte immer in Code Tags posten (siehe oben Button </>)
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
-
- Beiträge: 21
- Registriert: 15.04.2021, 15:24
- System: CCU und Access Point
- Hat sich bedankt: 4 Mal
-
- Beiträge: 9681
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1626 Mal
Re: Homematic und AC Elwa E Auslesen
das ist nicht die original Ausgabe. DDas ist die Interpretation von Firefox.
Probier das Script ruhig mal aus, Chance steht gut, das es well formed JSON ist.
Probier das Script ruhig mal aus, Chance steht gut, das es well formed JSON ist.
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
-
- Beiträge: 21
- Registriert: 15.04.2021, 15:24
- System: CCU und Access Point
- Hat sich bedankt: 4 Mal
-
- Beiträge: 9681
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1626 Mal
Re: Homematic und AC Elwa E Auslesen
An dem Skript?
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
-
- Beiträge: 21
- Registriert: 15.04.2021, 15:24
- System: CCU und Access Point
- Hat sich bedankt: 4 Mal
Re: Homematic und AC Elwa E Auslesen
Hallo
Ich versuche dieses Script Umzuschreiben:
Ich versuche dieses Script Umzuschreiben:
Code: Alles auswählen
#!/usr/bin/php
<?php
/*****************************************************************************
// Solaranzeige Projekt Copyright (C) [2015-2020] [Ulrich Kunz]
//
// Dieses Programm ist freie Software. Sie können es unter den Bedingungen
// der GNU General Public License, wie von der Free Software Foundation
// veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß
// Version 3 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
//
// Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es
// Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne
// die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN
// BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.
//
// Ein original Exemplar der GNU General Public License finden Sie hier:
// http://www.gnu.org/licenses/
//
// Dies ist ein Programmteil des Programms "Solaranzeige"
//
// Es dient der Steuerung einer My-PV Elwa-E mit BYD HVS/HVM und Modbus TCP Plenticore WR
// Getestet an Elwa E FW 107 / SW.FW 102.06
*****************************************************************************/
setlocale(LC_TIME,"de_DE.utf8");
$path_parts = pathinfo($argv[0]);
$Pfad = $path_parts['dirname'];
if (is_file($Pfad."/1.user.config.php")) {
// Handelt es sich um ein Multi Regler System?
require($Pfad."/1.user.config.php");
}
else {
require($Pfad."/user.config.php");
}
require_once($Pfad."/phpinc/funktionen.inc.php");
if (!isset($funktionen)) {
$funktionen = new funktionen();
}
// Im Fall, dass man die Device manuell eingeben muss
if (isset($USBDevice) and !empty($USBDevice)) {
$USBRegler = $USBDevice;
}
// Ist der Standort in der user.config.php angegeben?
// Wenn nicht dann Standort Frankfurt nehmen
if (isset($Breitengrad)) {
$breite = $Breitengrad;
} else {
$breite = 50.1143999;
}
if (isset($Laengengrad)) {
$laenge = $Laengengrad;
} else {
$laenge = 8.6585178;
}
$Tracelevel = 6; // 1 bis 10 10 = Debug
$RemoteDaten = true;
$Device = "WR"; // WR = Wechselrichter
$aktuelleDaten = array();
$Version = "";
$Start = time(); // Timestamp festhalten
$aktuelleDaten["Regler"] = $Regler;
$aktuelleDaten["Objekt"] = $Objekt;
$aktuelleDaten["Firmware"] = 1.3;
//$aktuelleDaten["Produkt"] = $aktuelleDaten["Seriennummer"];
/****************************************************************************
// InfluxDB Zugangsdaten ...stehen in der user.config.php
// falls nicht, sind das hier die default Werte.
****************************************************************************/
$aktuelleDaten["InfluxAdresse"] = $InfluxAdresse;
$aktuelleDaten["InfluxPort"] = $InfluxPort;
$aktuelleDaten["InfluxUser"] = $InfluxUser;
$aktuelleDaten["InfluxPassword"] = $InfluxPassword;
$aktuelleDaten["InfluxDBName"] = $InfluxDBName;
$aktuelleDaten["InfluxDaylight"] = $InfluxDaylight;
$aktuelleDaten["InfluxDBLokal"] = $InfluxDBLokal;
$aktuelleDaten["InfluxSSL"] = $InfluxSSL;
$aktuelleDaten["Demodaten"] = false;
$aktuelleDaten["Timestamp"] = $Start;
$aktuelleDaten["InfluxAdresse"] = "localhost";
$aktuelleDaten["InfluxPort"] = "8086";
$aktuelleDaten["InfluxDBName"] = $aktuelleDaten["InfluxDBLokal"];
$aktuelleDaten["InfluxSSL"] = false;
sleep(27);
$funktionen->log_schreiben("------------- Start elwa_auslesen.php --------------- ","|--",6);
$COM1 = fsockopen("192.168.178.99"," 502", $errno, $errstr, 5); // 5 = Timeout in Sekunden
if (!is_resource($COM1)) {
$funktionen->log_schreiben("Kein Kontakt zur Elwa ".$WR_IP." Port: ".$WR_Port,"XX ",3);
$funktionen->log_schreiben("Exit.... ","XX ",9);
goto Ausgang;
}
$i = 1;
{
/****************************************************************************
// Ab hier wird die Elwa ausgelesen.
/****************************************************************************
//
// Ergebniswerte:
// $aktuelleDaten["Power"] W Nummer R/W
// $aktuelleDaten["Aktuelle_Wasser_Temp"] 0.1 °C Nummer/°C R
// $aktuelleDaten["Max_Wasser_Temp"] 0.1 °C Nummer/°C R
// $aktuelleDaten["Status"] Nummer R
// $aktuelleDaten["Power_Timeout"] sec Nummer R/W
// $aktuelleDaten["Boostmodus"] Nummer R/W
// $aktuelleDaten["Boost_Temp"] 0.1 °C Nummer/°C R/W
// $aktuelleDaten["Boost_Time_Start"] Nummer R/W
// $aktuelleDaten["Boost_Time_Stop"] Nummer R/W
// $aktuelleDaten["Akuelle_Stunde"] Nummer R/W
// $aktuelleDaten["Akuelle_Minute"] Nummer R/W
// $aktuelleDaten["Akuelle_Sekunde"] Nummer R/W
// $aktuelleDaten["Manueller_Boost_Start"] Nummer W
// $aktuelleDaten["Elwa_Nummer"] Nummer R/W
// $aktuelleDaten["LeistungsTyp"] Nummer R/W
// $aktuelleDaten["ContolerTemp"] 0.1 °C Nummer/°C R
// $aktuelleDaten["Controler_FW_TCP"] Nummer R
// $aktuelleDaten["Geräte_IP"] Nummer R
// $aktuelleDaten["Elwa_Serien_Nr1-2"] String R
// $aktuelleDaten["Elwa_Serien_Nr3-4"] String R
// $aktuelleDaten["Elwa_Serien_Nr5-6"] String R
// $aktuelleDaten["Elwa_Serien_Nr7-8"] String R
// $aktuelleDaten["Elwa_Serien_Nr9-10"] String R
// $aktuelleDaten["Elwa_Serien_Nr11-12"] String R
// $aktuelleDaten["Elwa_Serien_Nr13-14"] String R
// $aktuelleDaten["Elwa_Serien_Nr15-16"] String R
// $aktuelleDaten["Boost_Sperr_Time_Start"] Nummer R/W
// $aktuelleDaten["Boost_Sperr_Time_Stop"] Nummer R/W
// $aktuelleDaten["Geräte_FW_Sub_Version"] Nummer R
// $aktuelleDaten["Geräte_FW_Update_Version"] Nummer R
// $aktuelleDaten["Temp_2"] 0.1 °C Nummer/°C R
// $aktuelleDaten["Control_Typ"] Nummer R/W
// modbus_register_lesen($COM1,$Register,$Laenge,$Typ,$GeraeteAdresse,$Befehl="03")
// modbus schreiben mit Befehl 03
// Adressen ab 1031 bis 1071 sind für AC-THORen verfügbar
/****************************************************************************/
$rc = $funktionen->modbus_register_lesen($COM1,"1000","0001","Dec16Bit","01","03");
$aktuelleDaten["Power"] = $rc["Wert"];
$rc = $funktionen->modbus_register_lesen($COM1,"1001","0001","Dec16Bit","01","03");
$aktuelleDaten["Aktuelle_Wasser_Temp"] = $rc["Wert"] / 10;
$rc = $funktionen->modbus_register_lesen($COM1,"1002","0001","Dec16Bit","01","03");
$aktuelleDaten["Max_Wasser_Temp"] = $rc["Wert"] / 10;
$rc = $funktionen->modbus_register_lesen($COM1,"1003","0001","Dec16Bit","01","03");
$aktuelleDaten["Status"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1004","0001","Dec16Bit","01","03");
// $aktuelleDaten["Power_Timeout"] = $rc["Wert"];
$rc = $funktionen->modbus_register_lesen($COM1,"1005","0001","Dec16Bit","01","03");
$aktuelleDaten["Boostmodus"] = $rc["Wert"];
$rc = $funktionen->modbus_register_lesen($COM1,"1006","0001","Dec16Bit","01","03");
$aktuelleDaten["Boost_Temp"] = $rc["Wert"];
$rc = $funktionen->modbus_register_lesen($COM1,"1007","0001","Dec16Bit","01","03");
$aktuelleDaten["Boost_Time_Start1"] = $rc["Wert"];
$rc = $funktionen->modbus_register_lesen($COM1,"1008","0001","Dec16Bit","01","03");
$aktuelleDaten["Boost_Time_Stop1"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1009","0001","Dec16Bit","01","03");
// $aktuelleDaten["Akuelle_Stunde"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1010","0001","Dec16Bit","01","03");
// $aktuelleDaten["Akuelle_Minute"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1011","0001","Dec16Bit","01","03");
// $aktuelleDaten["Akuelle_Sekunde"] = $rc["Wert"];
$rc = $funktionen->modbus_register_lesen($COM1,"1012","0001","Dec16Bit","01","03");
$aktuelleDaten["Manueller_Boost_Start"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1013","0001","Dec16Bit","01","03");
// $aktuelleDaten["Elwa_Nummer"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1014","0001","Dec16Bit","01","03");
// $aktuelleDaten["LeistungsTyp"] = $rc["Wert"];
$rc = $funktionen->modbus_register_lesen($COM1,"1015","0001","Dec16Bit","01","03");
$aktuelleDaten["ContolerTemp"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1016","0001","Dec16Bit","01","03");
// $aktuelleDaten["Controler_FW_TCP"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1017","0001","Dec16Bit","01","03");
// $aktuelleDaten["Geräte_IP"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1018","0001","Dec16Bit","01","03");
// $aktuelleDaten["Elwa_Serien_Nr1-2"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1019","0001","Dec16Bit","01","03");
// $aktuelleDaten["Elwa_Serien_Nr3-4"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1020","0001","Dec16Bit","01","03");
// $aktuelleDaten["Elwa_Serien_Nr5-6"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1021","0001","Dec16Bit","01","03");
// $aktuelleDaten["Elwa_Serien_Nr7-8"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1022","0001","Dec16Bit","01","03");
// $aktuelleDaten["Elwa_Serien_Nr9-10"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1023","0001","Dec16Bit","01","03");
// $aktuelleDaten["Elwa_Serien_Nr11-12"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1024","0001","Dec16Bit","01","03");
// $aktuelleDaten["Elwa_Serien_Nr13-14"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1025","0001","Dec16Bit","01","03");
// $aktuelleDaten["Elwa_Serien_Nr15-16"] = $rc["Wert"];
$rc = $funktionen->modbus_register_lesen($COM1,"1026","0001","Dec16Bit","01","03");
$aktuelleDaten["Boost_Time_Start2"] = $rc["Wert"];
$rc = $funktionen->modbus_register_lesen($COM1,"1027","0001","Dec16Bit","01","03");
$aktuelleDaten["Boost_Time_Stop2"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1028","0001","Dec16Bit","01","03");
// $aktuelleDaten["Geräte_FW_Sub_Version"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1029","0001","Dec16Bit","01","03");
// $aktuelleDaten["Geräte_FW_Update_Version"] = $rc["Wert"];
// $rc = $funktionen->modbus_register_lesen($COM1,"1030","0001","Dec16Bit","01","03");
// $aktuelleDaten["Temp_2"] = $rc["Wert"] / 10;
// $rc = $funktionen->modbus_register_lesen($COM1,"1069","0001","Dec16Bit","01","03");
// $aktuelleDaten["Meter_Power"] = $rc["Wert"];
$rc = $funktionen->modbus_register_lesen($COM1,"1070","0001","Dec16Bit","01","03");
$aktuelleDaten["Control_Typ"] = $rc["Wert"];
/****************************************************************************
// ENDE Elwa AUSLESEN ENDE Elwa AUSLESEN ENDE Elwa AUSLESEN
****************************************************************************/
-
- Beiträge: 9681
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1626 Mal
Re: Homematic und AC Elwa E Auslesen
Damit kann ich dir nicht weiterhelfen.
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++