Benutzerdefinierter Zähler Input/Output

  • Fragen
  • Benutzerdefinierter Zähler Input/Output

Benutzerdefinierter Zähler Input/Output

0
0

Für die Einbindung einer Wärmepumpe werden gem. https://www.cfos-emobility.de/de/cfos-charging-manager/documentation/heat-pumps.htm entsprechend ein Ausgang benötigt. Hierzu gibt es eine IO Hardware. Bei jedem Aufruf wird der Status als JSON ausgegeben:

{„relais“: [0, 0], „dIn“: [0, 0, 0, 0]}

Die Ansteuerung der Relais läuft über HTTP GET /?out0=1 bzw. /?out1=1

Hierzu habe ich dann eine Zählerdefinition erstellt:

{
„rtype“: 1, // 0 = modbus, 1 = http/json

„name“: „energy mgmt io“, // as displayed in the config dialog
„manufacturer“: „custom“,
„dev_type“: „io“, // will be prefixed by „meter_“

„inputs“: [
{ „address“: „/“, „query“: „dIn[0]“ },
{ „address“: „/“, „query“: „dIn[1]“ },
{ „address“: „/“, „query“: „dIn[2]“ },
{ „address“: „/“, „query“: „dIn[3]“ }
],

„outputs“: [
{ „address“: „/out0=${if exists(output1) && output1`1`0}“ },
{ „address“: „/out1=${if exists(output2) && output2`1`0}“ }
]

}

Das ganze wurde dann als Zähler M2 eingerichtet und bei der Wärmepumpendefinition als Output Geräte ID „M2“ eingetragten. Allerdings sehe ich keine entpsrechenden Aufrufe zum Schalten der Ausgänge. Wo liegt der Fehler?

markiert als Spam
Geschrieben von (Fragen: 3, Antworten: 15)
Gefragt am 2. Januar 2024 9:11
96 views

Antworten (5)

0
Private answer

Weitere Analysen ergaben, dass die Outputs bei einer URL mit 127.0.0.1 oder localhost nie einen Direktaufruf durchführen. Interessant ist, dass bei den Inputs 127.0.0.1 zu Direktaufrufen führt, aber nicht bei den Outputs. Das in https://www.cfos-emobility.de/de/cfos-charging-manager/documentation/user-defined-meters.htm beschriebene "*" in der Konfiguration der URL des Zählers wird weder bei den Inputs noch bei den Outputs honoriert und läuft einen Connect Fehler raus.

Nachdem unter Linux das Loopback Interface normalerweise als 127.0.0.1/8 konfiguriert ist, wird nun einfach die 127.0.0.2 verwendet. Damit laufen die Outputs nun auch. Das ist zwar ein Workaround, aber irgendwie riecht es trotzdem nach einem Bug.

markiert als Spam
Geschrieben von (Fragen: 3, Antworten: 15)
Beantwortet am 3. Januar 2024 9:32
0
Private answer

Ich hab deine Konfiguration getestet. Läuft leider auch nicht. Aber ich habe im Log was entdeckt:

2024-01-02T18:20:12.256Z LM MVAR output1 nan
2024-01-02T18:20:12.256Z LM EXP unk ident output1

Ansonsten habe ich mal meine Defintion mal hier angehängt.

Anhänge:
markiert als Spam
Geschrieben von (Fragen: 3, Antworten: 15)
Beantwortet am 2. Januar 2024 19:24
0
Private answer

Hmm, ich weiß nicht ob es an diesem Editor liegt, aber ich kann deine Definition gar nicht laden.

Ich hab mal eine gemacht. Kannst ja mal testen ob die klappt. (txt am Ende entfernen)

 

Anhänge:
markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 1077)
Beantwortet am 2. Januar 2024 17:07
0
Private answer

Danke für den Hinweis. Allerdings war die Definition von Shelly Plus 1PM meine Referenz. Da sieht die Output definition auch nicht viel anders aus:

"outputs": [
{
"address": "/relay/0?turn=${if exists(output1) && output1`on`off}"
}
]

markiert als Spam
Geschrieben von (Fragen: 3, Antworten: 15)
Beantwortet am 2. Januar 2024 14:36
0
Private answer

Schau dir bei den "Mitgelieferten Zählerdefinitionen" die Shellys an. Da sind die Outputs integriert.https://www.cfos-emobility.de/de/cfos-charging-manager/documentation/user-defined-meters.htm

markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 1077)
Beantwortet am 2. Januar 2024 14:04