Homebridge Integer Werte nach Eve oder HomeKit bringen

Begonnen von uxtuner, 15 September 2024, 07:30:23

Vorheriges Thema - Nächstes Thema

uxtuner

ich möchte 2 Integer Werte (Gaszähler- und Stromzählerstand) darstellen - hat da jemand ein entsprechendes Mapping parat?

u.a. folgendes HomeBridgeMapping habe ich ohne Erfolg probiert:
Zitatclear
type=energy
E863F10D-079E-48FF-8F27-9C2605A29F52=EVUCounter:CON_total,name=Total,format=float,unit=kW
Viele Grüße
  Uwe

Intel NUC (VDR & FHEM), QNAP TS-453, OneWire (Temp. Sensor, 8-fach Schalter, Hub, Controller), Ebus (Wolf CGW-2, ISM7i), Fibaro (Flood Sensor, Wall Plug, 4 in 1 Sensor), Qubino (Flush 1D), Shelly (Plug S, H&T, 2.5, 1 PM), Tado (Thermostat V3+)

uxtuner

hier noch das Listing:
Internals:
   DEF        /dev/ttyUSB0@9600,8,N,1 SML
   DeviceName /dev/ttyUSB0@9600,8,N,1
   FD         36
   FUUID      5ef48a86-f33f-55bb-f84a-9f2554cd40936c47
   MeterType  SML
   NAME       EVUCounter
   NR         314
   PARTIAL   
   STATE      Kosten:<br>(Lieferung ./. Eigenverbrauch ./. Bezug)<br>
--------------------------------------------------------<br>
<table style="width:120px">
<tr><td>Tag   </td><td style="text-align:right"><font color=red>-0.26 €   </font> </td> </tr>
<tr><td>Monat </td><td style="text-align:right"><font color=red>6.27 € </font> </td> </tr>
<tr><td>Jahr  </td><td style="text-align:right"><font color=red>24.26 €  </font> </td> </tr>
</table>

<br><br>

Zählerstände:<br>
------------------------------------<br>
<table style="width:150px">
<tr><td>Bezug     </td><td style="text-align:right"><font color=red>9728.32 kW  </font> </td> </tr>
<tr><td>Lieferung </td><td style="text-align:right"><font color=green>28571.12 kW </font> </td> </tr>
</table>

<br><br>

PV:<br>
------------------------------------<br>
<table style="width:150px">
<tr><td>Ertrag    </td><td style="text-align:right"><font color=blue>47042.47 kW  </font> </td> </tr>
<tr><td>Verbrauch </td><td style="text-align:right"><font color=red>18471.35 kW   </font> </td> </tr>
</table>

<br><br>

   TYPE       OBIS
   eventCount 2
   READINGS:
     2024-09-15 07:55:29   1.0.0.2.0.0     3
     2024-09-15 07:55:29   1.0.96.1.0.255  EFR
     2024-09-15 07:55:29   1.0.96.50.4.4   "
     2024-09-15 07:55:29   1.0.96.90.2.1   B
     2024-09-15 07:55:29   CON_self        18471.35
     2024-09-15 07:55:29   CON_total       28199.67
     2024-09-15 07:55:29   EVU_in          9728.32
     2024-09-15 07:55:29   EVU_out         28571.12
     2024-09-15 07:55:29   Kosten_Jahr     24.26
     2024-09-15 07:55:29   Kosten_Monat    6.27
     2024-09-15 07:55:29   Kosten_Tag      -0.26
     2024-09-15 07:55:29   ManufID2        P1.2.12
     2024-09-15 07:55:29   SMA_total       47042.47
     2024-09-15 07:52:25   state           opened
     2024-09-15 07:55:29   total_consumption 9728319.2
     2024-09-15 07:55:29   total_feed      28571117
   helper:
     BUFFER     
     DIRECTIONSUM >
     EoM        0
     LastPacketTime 1726379729.46831
     SPEED      5
     SPEED2     5
     TRIGGERTIME 1726379545.16882
     Channels:
     DEVICES:
       
       -1
       
     RULECACHE:
       1-0:0.2.0*0 unknown
       1-0:1.8.0*255 Counter
       1-0:2.8.0*255 Counter
       1-0:96.1.0*255 unknown
       1-0:96.50.1*1 ManufID2
       1-0:96.50.1*4 ManufID2
       1-0:96.50.4*4 unknown
       1-0:96.90.2*1 unknown
       1-0:97.97.0*0 unknown
       255-255:255.255.255*255 unknown
     directions:
Attributes:
   alias      Stromübersicht
   event-min-interval .*:300
   event-on-change-reading CON_self:1,CON_total:1,EVU_in:1,EVU_out:1,INT_counter:1,SMA_total:1
   genericDeviceType outlet
   group      Alle
   homebridgeMapping clear
type=energy
E863F10D-079E-48FF-8F27-9C2605A29F52=EVUCounter:CON_total,name=Total,format=float,unit=kW
   icon       measure_power
   room       Hersteller->SMA,Homekit,Strom,Verbrauch->Strom
   siriName   Strom
   stateFormat Kosten:<br>(Lieferung ./. Eigenverbrauch ./. Bezug)<br>
--------------------------------------------------------<br>
<table style="width:120px">
<tr><td>Tag   </td><td style="text-align:right"><font color=red>Kosten_Tag €   </font> </td> </tr>
<tr><td>Monat </td><td style="text-align:right"><font color=red>Kosten_Monat € </font> </td> </tr>
<tr><td>Jahr  </td><td style="text-align:right"><font color=red>Kosten_Jahr €  </font> </td> </tr>
</table>

<br><br>

Zählerstände:<br>
------------------------------------<br>
<table style="width:150px">
<tr><td>Bezug     </td><td style="text-align:right"><font color=red>EVU_in kW  </font> </td> </tr>
<tr><td>Lieferung </td><td style="text-align:right"><font color=green>EVU_out kW </font> </td> </tr>
</table>

<br><br>

PV:<br>
------------------------------------<br>
<table style="width:150px">
<tr><td>Ertrag    </td><td style="text-align:right"><font color=blue>SMA_total kW  </font> </td> </tr>
<tr><td>Verbrauch </td><td style="text-align:right"><font color=red>CON_self kW   </font> </td> </tr>
</table>

<br><br>

   userReadings Kosten_Tag {sprintf("%.2f",ReadingsNum("myPVLieferungCalculator","EVUCounter_EVU_out_EnergyCostDay", 0)-ReadingsNum("myPVEigenverbrauchCalculator","EVUCounter_CON_self_EnergyCostDay", 0)-ReadingsNum("myPVBezugCalculator","EVUCounter_EVU_in_EnergyCostDay", 0));;},
Kosten_Monat {sprintf("%.2f",ReadingsNum("myPVLieferungCalculator","EVUCounter_EVU_out_EnergyCostMonth", 0)-ReadingsNum("myPVEigenverbrauchCalculator","EVUCounter_CON_self_EnergyCostMonth", 0)-ReadingsNum("myPVBezugCalculator","EVUCounter_EVU_in_EnergyCostMonth", 0));;},
Kosten_Jahr {sprintf("%.2f",ReadingsNum("myPVLieferungCalculator","EVUCounter_EVU_out_EnergyCostYear", 0)-ReadingsNum("myPVEigenverbrauchCalculator","EVUCounter_CON_self_EnergyCostYear", 0)-ReadingsNum("myPVBezugCalculator","EVUCounter_EVU_in_EnergyCostYear", 0));;},
EVU_out {sprintf("%.2f",ReadingsNum("EVUCounter","total_feed",0)/1000);;},
EVU_in {sprintf("%.2f",ReadingsNum("EVUCounter","total_consumption",0)/1000);;},
SMA_total {sprintf("%.2f",ReadingsNum("STP_8000","SPOT_ETOTAL",0)/1000);;},
CON_self {sprintf("%.2f",(ReadingsNum("STP_8000","SPOT_ETOTAL",0)-ReadingsNum("EVUCounter","total_feed",0))/1000);;},
CON_total {sprintf("%.2f",(ReadingsNum("STP_8000","SPOT_ETOTAL",0)-ReadingsNum("EVUCounter","total_feed",0)+ReadingsNum("EVUCounter","total_consumption",0))/1000);;}
Viele Grüße
  Uwe

Intel NUC (VDR & FHEM), QNAP TS-453, OneWire (Temp. Sensor, 8-fach Schalter, Hub, Controller), Ebus (Wolf CGW-2, ISM7i), Fibaro (Flood Sensor, Wall Plug, 4 in 1 Sensor), Qubino (Flush 1D), Shelly (Plug S, H&T, 2.5, 1 PM), Tado (Thermostat V3+)

passibe

Schau mal hier: https://gist.github.com/simont77/3f4d4330fa55b83f8ca96388d9004e7d
Ich glaube, dafür brauchst du nicht
E863F10D-079E-48FF-8F27-9C2605A29F52(das ist Watt), sondern
E863F10C-079E-48FF-8F27-9C2605A29F52das ist Kilowatt-hour. Du willst doch die Gesamtmenge, oder?

Bei mir sieht das homebridgeMapping für irgendeine random Steckdose mit Energiemessung so aus:
E863F10C-079E-48FF-8F27-9C2605A29F52=energy,name=Energy,format=FLOATIch glaube, du müsstest nur energy durch EVUCounter:CON_total ersetzen, dann sollte das laufen.

Edit: Das ganze homebridgeMapping sieht so aus:
On=state,cmdOn=on,cmdOff=off,valueOn=on,valueOff=off
OutletInUse=power,threshold=5
E863F10A-079E-48FF-8F27-9C2605A29F52=voltage,name=Voltage,format=FLOAT
E863F126-079E-48FF-8F27-9C2605A29F52=current,name=Current,format=FLOAT
E863F10D-079E-48FF-8F27-9C2605A29F52=power,name=Power,format=FLOAT
E863F10C-079E-48FF-8F27-9C2605A29F52=energy,name=Energy,format=FLOAT
history:size=1024,type=energy

uxtuner

das funktioniert - Danke!

Allerdings würde ich gerne auch den Zählerstand der Stromlieferung (und aus einem anderen Reading den Gaszählerstand) darstellen (wenn möglich ohne an/aus Schalter) - ich vermute das ist dann etwas zu aufwändig
Viele Grüße
  Uwe

Intel NUC (VDR & FHEM), QNAP TS-453, OneWire (Temp. Sensor, 8-fach Schalter, Hub, Controller), Ebus (Wolf CGW-2, ISM7i), Fibaro (Flood Sensor, Wall Plug, 4 in 1 Sensor), Qubino (Flush 1D), Shelly (Plug S, H&T, 2.5, 1 PM), Tado (Thermostat V3+)

passibe

Also einfach nur ein Gerät, das zählt? Bzw. wie ein Thermometer nur einen Wert darstellt?

Geht auch, aber da musst du ggfs. mit dem genericDeviceType rumbasteln bzw. das vielleicht auch per UUID einfügen (dazu mal in der Doku von homebridge-fhem lesen, ich meine das ist da erklärt).

Im Ergebnis musst du das so implementieren wie hier (Zeile 103?): https://github.com/produdegr/homebridge-3em-energy-meter/blob/master/index.js.
Vielleicht habe ich am Wochenende Zeit um mir das mal anzuschauen, aber ich verspreche nichts.

Kannst natürlich auch nochmal intensiver hier im Forum suchen, vielleicht hat da jemand irgendwann schon was ähnliches gemacht.

uxtuner

eigentlich gehts nur darum die vorhandenen Werte darzustellen - ich mach mich mal auf die Suche ...
Viele Grüße
  Uwe

Intel NUC (VDR & FHEM), QNAP TS-453, OneWire (Temp. Sensor, 8-fach Schalter, Hub, Controller), Ebus (Wolf CGW-2, ISM7i), Fibaro (Flood Sensor, Wall Plug, 4 in 1 Sensor), Qubino (Flush 1D), Shelly (Plug S, H&T, 2.5, 1 PM), Tado (Thermostat V3+)

passibe

Moment, aber das ist doch schon dargestellt? Wie sieht das denn bei dir in der Eve-App aus? Da müsste doch jetzt bei "Gesamtverbrauch" der aktuelle Zählerstand stehen (bzw., das, was in CON_total steht), oder nicht?

uxtuner

stimmt, ist genau so - ich hab es aktuell so definiert:

E863F10C-079E-48FF-8F27-9C2605A29F52=EVU_in,name=Energy,format=FLOAT


und sehe in EVE das Device (als schaltbar) und wenn ich mir das weiter anschaue sehe ich "Gesamtverbrauch" und "Gesamtkosten".

Eigentlich fast zu viel Information - ich will nur die vorhandenen Zahlenwerte (zusätzlich würde ich auch gerne EVU_out darstellen)
Viele Grüße
  Uwe

Intel NUC (VDR & FHEM), QNAP TS-453, OneWire (Temp. Sensor, 8-fach Schalter, Hub, Controller), Ebus (Wolf CGW-2, ISM7i), Fibaro (Flood Sensor, Wall Plug, 4 in 1 Sensor), Qubino (Flush 1D), Shelly (Plug S, H&T, 2.5, 1 PM), Tado (Thermostat V3+)

passibe

Ja, dass das immer als schaltbar auftaucht ist doof, ich glaube das lässt sich aber mit homebridge-fhem nicht so einfach korrigieren. Wie gesagt müsstest du da mal schauen, ob du homebridge-fhem irgendwie dazu bringst die UUID, die z.B. in diesem homebridge-3em-energy-meter verwendet wird, zu schlucken (aber ich glaube nicht, dass das vorgesehen/möglich ist).

Um auch EVU_out darzustellen, kannst du vielleicht mit einem subtype arbeiten? Also
clear
E863F10C-079E-48FF-8F27-9C2605A29F52=EVU_in,subtype="Netzbezug",name=Energy,format=FLOAT
E863F10C-079E-48FF-8F27-9C2605A29F52=EVU_out,subtype="Einspeisung",name=Energy,format=FLOAT

In der Eve-App kannst du dann auch oben rechts auf "Bearbeiten" klicken und dann einzelne Elemente (z.B. "Strom" und "Gesamtkosten") ausblenden. Dann hast du nur noch "Gesamtverbrauch", was dein jeweiliger Zahlenwert ist. In der Gesamtübersicht tauchen die Geräte dann aber trotzdem noch einzeln auf, das ist wohl leider eine Eigenheit der Eve-App.

uxtuner

sieht nicht schlecht aus, der Wert ist da  :-)

Einziger Wermutstropfen ist, dass das Device jetzt 2x in Eve vorhanden ist und ich "Gesamtkosten" nur 1x deaktivieren kann - da muss ich mich jetzt einfach mal durchhangeln ...
Viele Grüße
  Uwe

Intel NUC (VDR & FHEM), QNAP TS-453, OneWire (Temp. Sensor, 8-fach Schalter, Hub, Controller), Ebus (Wolf CGW-2, ISM7i), Fibaro (Flood Sensor, Wall Plug, 4 in 1 Sensor), Qubino (Flush 1D), Shelly (Plug S, H&T, 2.5, 1 PM), Tado (Thermostat V3+)