Variable zur HM Systemvariable senden

Hallo,
ich habe ein Problem und bitte um Unterstützung. Da ich von Programmierung in PHP null Ahnung habe, nutz mir auch die Forensische nichts. Ich verstehe leider auch den Syntax nicht.
Was ich habe sind die Systemvariablen aus der HM im Projektbaum. Diese möchte ich mit den Daten aus meinem Smartmeter befruchten. Auch diese habe ich im Projektbaum. Im HM-Forum ist auch jemand, der mich auf IPS gebracht hat, weil ich sonst die Smartmeter-daten nicht eingelesen bekomme.
Jetzt scheitere ich offensichtlich an den einfachsten Dingen, weil ich das mit der ID und Ident-Nummer nicht gewechselt kriege.
Ausgangssituation ist, dass eine meiner Smartmeter-Variablen die ID 46655 hat. Der Ident nennt sich Discovergy_Power. Es handelt sich um den Typ Float.
Dieser Wert soll auf eine HM Systemvariable. Diese hat die ID 23728 und die Ident 4524.
Mein Skript funktioniert nicht und ich weiß nicht warum:

<?php

$value = GetValueFloat(48655);
HM_WriteValueFloat(23728 /[HomeMatic Systemvariablen]/,‚Discovergy_Power‘, $value);

Wäre nett, wenn mir das jemand korrigiert. Verweise auf Anleitungen helfen mir nicht wirklich, da ich weiterhin alles auf der HM machen will, auch wenn IPS sicher gut ist.

Gruß
Marc

Die Ident ist falsch, so müste es richtig lauten


$value = GetValueFloat(48655);
HM_WriteValueFloat(23728 /*[HomeMatic Systemvariablen]*/,'4524', $value);

Leider noch immer falsch. Der Befehl für die Homematic Systemvariablen lautet:
HM_WriteValueFloat2
Doku: IPSHomematicExtended/Systemvariablen at master · Nall-chan/IPSHomematicExtended · GitHub
Michael

Danke für die Antworten. Jetzt erhalte ich folgende Fehlermeldung. Dann ist vielleicht doch mehr im Argen.

Warning: Instanz #23728 existiert nicht in /var/lib/symcon/scripts/__generated.inc.php on line 221

Fatal error: Uncaught Exception: Instance does not implement this function in /var/lib/symcon/scripts/__generated.inc.php:226
Stack trace:
#0 /var/lib/symcon/scripts/17080.ips.php(4): HM_WriteValueFloat2(23728, ‚4524‘, 743,01)
#1 {main}
thrown in /var/lib/symcon/scripts/__generated.inc.php on line 226

Die ID muss von der Instanz sein und nicht von der Variable.
Alternativ sollte auch RequestAction (ID der Variable, Wert) funktionieren.
Michael

Du kannst das Skript auch weglassen. Erstelle ein ausgelöstes Ereignis. Als Auslöser wählst du die Variable von deinem SmartMeter und reagierst auf Änderungen. Als Ziel wählst du die entsprechende Homematic-Variable und als Aktion „Auf auslösenden Wert schalten“. Dann wird bei jeder Änderung des SmartMeters die Homematic-Variable auf diesen Wert gesetzt.

Hurra,
das Skript habe ich jetzt hinbekommen. Das mit der Instanz hatte ich nicht verstanden. Ich erhalte nun die Werte, die ich benötige.
Vielen Dank erst mal dafür.
Was @Dr. Niels vorgeschlagen hat, werde ich mal als Nächstes probieren. Wichtig ist jetzt, das es läuft.
Gruß
Marc

Ich habe mal versucht ein Ereignis zu erstellen. Es scheint auch zu funktionieren, aber ich finde es nicht im Objektbaum.
Wo liegt es, falls ich es editieren muss?

Das Ereignis liegt unterhalb des Ziels, also in deinem Fall unter der Homematic-Variablen

Ich habs gefunden. Danke!

Ich habe es gemacht wie Dr.Niels es beschrieben hat und es klappt einwandfrei, echt super!

Die Scripte von Nall-chan habe ich auch in Verwendung sie funktionieren auch astrein, vor allem die Doku ist klasse.
image