Neue Geräte der Homematic in Solaranzeige

Alles was speziell mit der Anbindung der HomeMatic Zentrale und anderen Smart Home Zentralen zu tun hat. (FHEM, ioBroker usw.) Fragen Ideen und Erfolgsmeldungen.

Moderator: Ulrich

Janniman
Beiträge: 148
Registriert: Mi 13. Okt 2021, 09:52
Hat sich bedankt: 8 Mal
Danksagung erhalten: 4 Mal

Neue Geräte der Homematic in Solaranzeige

Beitrag von Janniman »

Moin.
Wie schwierig und aufwändig ist es, ein neues Gerät in Solaranzeige einzupflegen?
Ich hätte gerne, zur Überprüfung meiner Heizung, Temperatursensoren eingepflegt.
Warum? Diese sind vom Ort flexibel, können hier und dort eingesetzt werden, bis ich mit den Messungen und Auswertungen zufrieden bin (Monate).

Es geht um zwei Temperaturdifferenzsensoren, einmal HmIP und einmal das alte BidCos.

HmIP : HmIP-STE2-PCB
3 Kanäle: Sensor 1, Sensor 2, Diff. S1 - S2

Bidcos: HM-WDS30-OT2-SM
5 Kanäle: Sensor 1, Sensor 2, Diff. S1 - S2, Diff. S2 - S1, Service/Batterie
gebraucht werden (bei mir) nur 1 bis 3, niemand braucht den Kanal 5

Wenn ich Unterstützung anbieten kann, nur wüsste ich derzeit nicht wie.

Jan

gzi
Beiträge: 167
Registriert: Mo 16. Jan 2023, 20:43
Hat sich bedankt: 16 Mal
Danksagung erhalten: 25 Mal

Re: Neue Geräte der Homematic in Solaranzeige

Beitrag von gzi »

Raspi 3B, Hybrid Must PV18-3024 VHM, Hoymiles HM-800 , Nachteinspeisung, Flex-BKW, AhoyDTU, Smart Meter DTSU666-H, DIY Akku 6,7 KWh, DalyBMS2MQTT, Victron2MQTT,Architektur, HomeMatic CCU. Autor: Solaranlage Do-It-Yourself

Janniman
Beiträge: 148
Registriert: Mi 13. Okt 2021, 09:52
Hat sich bedankt: 8 Mal
Danksagung erhalten: 4 Mal

Re: Neue Geräte der Homematic in Solaranzeige

Beitrag von Janniman »

@gzi

Danke für den Hinweis, der mich nicht einen Millimeter weiter bringt.
Die beiden von mir genannten Geräte sind noch nicht bekannt. Ich soll/müsste eine Mail schreiben, so steht es in der log-Datei von Solaranzeige und auch im PDF.

Zurück zu meiner Frage: bürde ich Ullrich auf, Geräte (aufwändig oder eben nicht) einzupflegen.
Ich gehe davon aus, dass diese Geräte im Zug der Umstellung auf Wärmepumpen und den jeweiligen Ist-Zustand vermehrt angefragt werden. Man muss ja irgendwie herausbekommen, was die derzeit installierte Heizung so treibt.

Trotzdem danke.

Jan

gzi
Beiträge: 167
Registriert: Mo 16. Jan 2023, 20:43
Hat sich bedankt: 16 Mal
Danksagung erhalten: 25 Mal

Re: Neue Geräte der Homematic in Solaranzeige

Beitrag von gzi »

OK, wenn Du PHP kannst, dann kannst Du in

user-device.php

beliebige HomeMatic Abfragen einfügen und dann in der influxDB speichern. Von dort kannst Du die Daten dann in Grafana anzeigen. Ich habe hier u.a. beschrieben, wie man dort PV-Daten zu einer CCU in HomeMatic Systemvariablen überträgt. Für die umgekehrte Richtung kannst Du diese Prozeduren verwenden, die ich mal geschrieben habe:

Code: Alles auswählen

function readSysvar($sysvarname) {
	// Systemvariable abfragen
	global $ccu; 
	if (substr($sysvarname,0,2)=="G:") {
		return readDevice(substr($sysvarname,2));
	} else {
		$req = $ccu.'/rega.exe?state=dom.GetObject(%27'.$sysvarname.'%27).Value()';
		$string = file_get_contents($req);
		if ($string === FALSE) { // CCU wahrscheinlich nicht erreichbar, nocht bereit
			echo '<div style="background-color: white;"><h1>PHPDevice</h1>';
			echo '<br>CCU wahrscheinlich nicht erreichbar oder nicht bereit. <a href="'.$_SERVER['PHP_SELF'].'?cmd=setup">Setup</a>
			<p>cmd:'.$req.'</div>';
			die();
		} 
		//echo "Antwort:";
		//print_r($string);
		$xml = simplexml_load_string($string);
		$status = $xml->state;
		if ($status == "true") return("1"); 
		if ($status == "false") return("0"); 
		return($xml->state);
	}
}
	
function readDevice($devname) {
	// Systemvariable abfragen
	global $ccu; 
	$dev = explode(":", $devname);

	$req = $ccu.'/rega.exe?state=dom.GetObject(%27'.
	$dev[0].'%27).Channels().Get(%27'.
	$dev[1].'%27).DPByHssDP(%27STATE%27).Value();';
   
	$string = file_get_contents($req);
	if ($string === FALSE) { // CCU wahrscheinlich nicht erreichbar, nocht bereit
		echo '<div style="background-color: white;"><h1>PHPDevice</h1>';
		echo '<br>CCU wahrscheinlich nicht erreichbar oder nicht bereit. <a href="'.$_SERVER['PHP_SELF'].'?cmd=setup">Setup</a>
		<p>cmd:'.$req.'</div>';
		die();
	} 
	//echo "Antwort:";
	//print_r($string);
	$xml = simplexml_load_string($string);
	$status = $xml->state;
	if ($status == "true") return("1"); 
	if ($status == "false") return("0"); 
	return($xml->state);
	
}
	
function writeSysvar($sysvarname,$val) {
	// Systemvariable ändern
	global $ccu; 
	//echo $sysvarname;
	
	if (substr($sysvarname,0,2)=="G:") {
		writeDevice(substr($sysvarname,2),$val);
	}
	//die();

	$req = $ccu.'/rega.exe?state=dom.GetObject(%27'.$sysvarname.'%27).State('.$val.');';
	$string = file_get_contents($req);
	if ($string === FALSE) { // CCU wahrscheinlich nicht erreichbar, nocht bereit
		echo '<div style="background-color: white;"><h1>PHPDevice</h1>';
		echo '<br>CCU wahrscheinlich nicht erreichbar oder nicht bereit. <a href="'.$_SERVER['PHP_SELF'].'?cmd=setup">Setup</a>
		<p>cmd:'.$req.'</div>';
		die();
	} 
	$xml = simplexml_load_string($string);
}
function writeDevice($devname,$val) {	
   // geraet schalten
   global $ccu; 
	//echo $devname;
	//die();
		$dev = explode(":", $devname);
	$req = $ccu.'/rega.exe?state=dom.GetObject(%27'.
   $dev[0].'%27).Channels().Get(%27'.
   $dev[1].'%27).DPByHssDP(%27STATE%27).State('.$val.');';
	//echo $req;
	//die();
   $string = file_get_contents($req);
   
   if ($string === FALSE) { // CCU wahrscheinlich nicht erreichbar, nocht bereit
		echo '<div style="background-color: white;"><h1>PHPDevice</h1>';
		echo '<br>CCU wahrscheinlich nicht erreichbar oder nicht bereit. <a href="'.$_SERVER['PHP_SELF'].'?cmd=setup">Setup</a>
		<p>cmd:'.$req.'</div>';
		die();
   }  
   
   $xml = simplexml_load_string($string);
}
Die globale Variable $ccu gibt die Adresse einer HomeMatic CCU an und muss ein String der Form "http://192.168.0.1" sein.
Wie man Daten in InfluxDB speichert, siehst Du ebenfalls im oben verlinkten Posting.
Raspi 3B, Hybrid Must PV18-3024 VHM, Hoymiles HM-800 , Nachteinspeisung, Flex-BKW, AhoyDTU, Smart Meter DTSU666-H, DIY Akku 6,7 KWh, DalyBMS2MQTT, Victron2MQTT,Architektur, HomeMatic CCU. Autor: Solaranlage Do-It-Yourself

Janniman
Beiträge: 148
Registriert: Mi 13. Okt 2021, 09:52
Hat sich bedankt: 8 Mal
Danksagung erhalten: 4 Mal

Re: Neue Geräte der Homematic in Solaranzeige

Beitrag von Janniman »

Ich glaube mein Lappi wurde gehackt, oder ich spreche Altgotisch, denn anders kann ich mir das nicht erklären.

Wie man Geräte der CCU abfragen kann, das ist super und gut beschrieben. Das funktioniert ja auch im Prinzip.
In Influx gibt es eine Datenbank "homematic", wie schön von dir beschrieben, daher von mir erstellt. Es ist auch vorerst nur ein Gerät hinzugefügt worden, daher erscheint im log nur das eine Gerät.

Ein Auszug aus der php.log-Datei:

Code: Alles auswählen

[01-Jun-2023 12:10:37 Europe/Helsinki] PHP Warning:  Cannot assign an empty string to a string offset in /var/www/html/5.user.config.php on line 645
[01-Jun-2023 12:10:38 Europe/Helsinki] PHP Warning:  Invalid argument supplied for foreach() in /var/www/html/phpinc/funktionen.inc.php on line 4016
Ein Auszug aus der solaranzeige.log-Datei:

Code: Alles auswählen

01.06. 12:42:36    -Verarbeitung von: '5.user.config.php'   Regler: 72
01.06. 12:42:36 |----------------   Start  hm_geraet.php    -------------------------- 
01.06. 12:42:36    -HomeMatic: 192.168.121.2 Port: 80 GeräteID: 1
01.06. 12:42:36 +  -Die Daten werden ausgelesen...
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37    -Gerätetyp noch unbekannt: HM-WDS30-OT2-SM Bitte melden: support@solaranzeige.de
01.06. 12:42:37 *  -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet. 
01.06. 12:42:37    -Multi-Regler-Ausgang. 6
Jetzt mache ich hier, was ich eigentlich zu deinen Gunsten vermeiden wollte...

Könntest du bitte die beiden Geräte hinzufügen?
Es geht um zwei Temperaturdifferenzsensoren, einmal HmIP und einmal das alte BidCos.

HmIP : HmIP-STE2-PCB
3 Kanäle: Sensor 1, Sensor 2, Diff. S1 - S2

Bidcos: HM-WDS30-OT2-SM
5 Kanäle: Sensor 1, Sensor 2, Diff. S1 - S2, Diff. S2 - S1, Service/Batterie
gebraucht werden (bei mir) nur 1 bis 3, niemand braucht den Kanal 5

Jan

Janniman
Beiträge: 148
Registriert: Mi 13. Okt 2021, 09:52
Hat sich bedankt: 8 Mal
Danksagung erhalten: 4 Mal

Re: Neue Geräte der Homematic in Solaranzeige

Beitrag von Janniman »

Danke an Ulrich!
Schnelle Hilfe beim Einpflegen von meinen beiden Geräten, das war sensationell.

Die Daten werden nun in eine Datenbank geschrieben.

Was ich nur aus Interesse gerne wüsste, warum ist der Eintrag für die entfernte Datenbank in Benutzung, auch wenn man keine entfernte Datenbank benutzt?

Code: Alles auswählen

//  Name der entfernten Datenbank eintragen
//  Beispiel:  "solaranzeige" oder "MeineDatenbank"
$InfluxDBName  = "homematic";
Das muss ich eintragen, da ansonsten die Werte in, jeweils neu angelegte, Measurements der Datenbank "solaranzeige" geschrieben werden.
Der Datenbankname bei der lokalen Datenbank wird also ignoriert. Warum?

Wie gesagt, nur Interesse.

Jan

Benutzeravatar
Ulrich
Administrator
Beiträge: 6077
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 153 Mal
Danksagung erhalten: 824 Mal
Kontaktdaten:

Re: Neue Geräte der Homematic in Solaranzeige

Beitrag von Ulrich »

Das kann eigentlich nicht sein. Du hast doch in der 5.user.config.php als lokale Datenbank "solaranzeige" eingetragen. Remote Datendank muss auf false stehen und als lokale Datenbank kannst du "homematic" eintragen, wenn du sie vorher angelegt hast.

Es gibt keinen Grund, warum das nicht gehen soll.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]

Janniman
Beiträge: 148
Registriert: Mi 13. Okt 2021, 09:52
Hat sich bedankt: 8 Mal
Danksagung erhalten: 4 Mal

Re: Neue Geräte der Homematic in Solaranzeige

Beitrag von Janniman »

Du hast doch in der 5.user.config.php als lokale Datenbank "solaranzeige" eingetragen. Remote Datendank muss auf false stehen und als lokale Datenbank kannst du "homematic" eintragen, wenn du sie vorher angelegt hast.
Stimmt genau so.

Ich hatte Remote auf "false" und den Eintrag dazu auf der Vorgabe belassen ("solaranzeige").
Bei der lokalen Datenbank hatte ich "homematic" eingetragen.
Angekommen sind die Daten in meiner Datenbank "solaranzeige"... erst nachdem ich die Remotedatenbankeintragung auf "homematic" geändert habe´, schreibt er in die richtige Datenbank UND die Remote-Option steht immer noch auf FALSE. Irgendwie nimmt er immer die Variable von der Remote-Eintragung. :shock:

Jan

Aloose
Beiträge: 3
Registriert: Di 27. Sep 2022, 22:33

Re: Neue Geräte der Homematic in Solaranzeige

Beitrag von Aloose »

Hallo zusammen,

ich habe gerade auch den HmIP Sensor HmIP-STE2-PCB eingebunden und er wird scheinbar ausgelesen. In der Influx DB sehe ich aber nur einen Temperaturwert (den Differenzwert) was mache ich falsch bzw. wo müsste ich nach Fehlern suchen?

Danke und VG
Alexander

Benutzeravatar
Ulrich
Administrator
Beiträge: 6077
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 153 Mal
Danksagung erhalten: 824 Mal
Kontaktdaten:

Re: Neue Geräte der Homematic in Solaranzeige

Beitrag von Ulrich »

Aloose hat geschrieben:
Di 17. Okt 2023, 17:29
Hallo zusammen,

ich habe gerade auch den HmIP Sensor HmIP-STE2-PCB eingebunden und er wird scheinbar ausgelesen. In der Influx DB sehe ich aber nur einen Temperaturwert (den Differenzwert) was mache ich falsch bzw. wo müsste ich nach Fehlern suchen?

Danke und VG
Alexander
Es wird auch nur ein Temperaturwert ausgelesen. Wenn du mehr benötigst, melde dich bitte per eMail.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]

Antworten

Zurück zu „HomeMatic, FHEM, ioBroker, Smart Home Zentralen und Solaranzeige“