homebridge-fhem und eve history

Begonnen von justme1968, 07 Februar 2019, 19:21:44

Vorheriges Thema - Nächstes Thema

justme1968

an der humidity habe ich nichts geändert.

aber homebridge-fhem reicht nur geänderte werte weiter. d.h. so lange der wert bei 42 bleibt wird er ignoriert. und landet somit auch nicht in der history.

du kannst mal mit setreading 43 setzen. dann müsstest du etwas sehen.



zu den beiden characteristics:
die uuids müssten E863F12C-079E-48FF-8F27-9C2605A29F52 für ProgramCommand und E863F12F-079E-48FF-8F27-9C2605A29F52 für ProgramData sein. type und units siehst du ja. vielleicht reicht es schon beide als custom characteristic im mapping passend zu setzen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

hoppel118

#76
Zitat von: justme1968 am 14 Februar 2019, 17:52:39
aber homebridge-fhem reicht nur geänderte werte weiter. d.h. so lange der wert bei 42 bleibt wird er ignoriert. und landet somit auch nicht in der history.

hm, ok, das erklärt, warum ich im syslog nichts finde.

Zitat von: justme1968 am 14 Februar 2019, 17:52:39
du kannst mal mit setreading 43 setzen. dann müsstest du etwas sehen.

Das habe ich gerade getan. Das funktioniert anscheinend. Das Reading hat sich mittlerweile wieder selbständig von 43% auf 42% aktualisiert. Dasselbe gilt für den Badezimmer-Sensor. Das ist ja dann irgendwie noch bescheiden.  So muss man ja bei einem Neustart der Homebridge immer darauf achten, dass man die Readings ggf. anpasst, wenn sich die Luftfeuchte nur selten ändert.

Zitat von: justme1968 am 14 Februar 2019, 17:52:39
zu den beiden characteristics:
die uuids müssten E863F12C-079E-48FF-8F27-9C2605A29F52 für ProgramCommand und E863F12F-079E-48FF-8F27-9C2605A29F52 für ProgramData sein. type und units siehst du ja. vielleicht reicht es schon beide als custom characteristic im mapping passend zu setzen.

Mit custom Characteristics habe ich noch keine Erfahrung. Naja, ich schaue mal, ob ich da was herausfinde.

Bisher gab es übrigens noch keine weiteren "0,00'C" bei den Thermostaten. TOP!!! Danke dir! ;)

Danke und Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

exit2308

#77
Zitat von: justme1968 am 14 Februar 2019, 11:40:49
...
@exit2308: für die HM-ES-PMSw1-Pl wird eigentlich automatisch ein faktor von 0.001 verwendet. starte mal mit -D dann müsstest du es sehen. ist nur die history falsch oder auch die angezeigten aktuellen werte?
...

getestet beim HM_57F341 (mapping wurde automatisch erstellt, vergebe hier nur separat die ,,on" characteristic):
Strom: current 628mA laut reading-> factor 1 wird verwendet (hier müsste 0.001 -> 0.6A)
Spannung: voltage 231.7V laut reading-> ist ok
Leistung: 135.48W laut reading-> ist ok
Verbrauch: 5783.70Wh laut reading -> factor 1 wird verwendet (hier müsste 0.001 -> 5.78kWh)

genericDeviceType: outlet
On=WZ_Multimedia:state,cmdOn=on,cmdOff=off,valueOn=on,valueOff=off
history:size=1024,type=energy


Wenn ich das mapping separat mache,

clear
On=WZ_Multimedia:state,cmdOn=on,cmdOff=off,valueOn=on,valueOff=off
Voltage=voltage,name=voltage,format=FLOAT
Power=power,name=power,format=FLOAT
Current=current,name=current,format=FLOAT,factor=0.001
Energy=energy,name=energy,format=FLOAT,factor=0.001
history:size=1024,type=energy

finden keine einträge im log statt.

Hier noch das list vom Device:
Internals:
   DEF        57F34102
   FUUID      5c4c1b18-f33f-3730-76c1-2eb8d2a749cca947
   NAME       HM_57F341_Pwr
   NOTIFYDEV  global
   NR         171
   NTFY_ORDER 50-HM_57F341_Pwr
   STATE      5861.7
   TYPE       CUL_HM
   chanNo     02
   device     HM_57F341
   OLDREADINGS:
   READINGS:
     2019-02-15 01:03:23   boot            off
     2019-02-15 01:03:23   current         0
     2019-02-15 01:03:23   current_a       0.0
     2019-02-15 01:03:23   eState          E: 5861.7 P: 0 I: 0 U: 234.6 f: 49.96
     2019-02-15 01:03:23   energy          5861.7
     2019-02-15 01:03:23   energyCalc      64470.1
     2019-01-30 13:11:30   energyOffset    58608.4
     2019-02-15 01:03:23   energy_kwh      5.86
     2019-02-15 01:03:23   frequency       49.96
     2019-02-15 01:03:23   power           0
     2019-02-15 01:03:23   state           5861.7
     2019-02-15 01:03:23   voltage         234.6
   helper:
     regLst     ,1
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     role:
       chn        1
     tmpl:
Attributes:
   alias      Wohnzimmer - Multimedia (Leistung)
   genericDeviceType outlet
   group      Sensoren
   homebridgeMapping On=WZ_Multimedia:state,cmdOn=on,cmdOff=off,valueOn=on,valueOff=off
history:size=1024,type=energy
   model      HM-ES-PMSw1-Pl-DN-R1
   room       2.2 - Leistung,6.0 - Homematic,HomeKit
   userReadings energy_kwh {sprintf("%.2f",ReadingsVal($name,"energy",0)/1000)},
current_a {sprintf("%.1f",ReadingsVal($name,"current",0)/1000)}


hoppel118

#78
Zitat von: justme1968 am 14 Februar 2019, 17:52:39
aber homebridge-fhem reicht nur geänderte werte weiter. d.h. so lange der wert bei 42 bleibt wird er ignoriert. und landet somit auch nicht in der history.

Moin Andre,

heute Nacht habe ich nochmal ein Bisschen mit meinen Homebridge-Instanzen herumgespielt und ein paar Sachen ausprobiert. Als ich dann ins Bett gegangen bin, hatte ich dann bei 3 meiner 4 humidity-Sensoren "0%" stehen. Ich dachte mir: ok, mal schauen, wann die sich von alleine fangen. Das Ergebnis heute morgen war recht unterschiedlich.


  • Bei meinem Wohnzimmer-Sensor gab es erst knappe 8 Stunden später einen neuen humidity-Wert.
  • Bei meinem Badezimmer-Sensor gab es knappe 2 Stunden später einen neuen humidity-Wert.
  • Bei einem meiner Aussensensoren, hat es eine knappe halbe Stunde gedauert.
  • Bei dem anderen Aussensensor hatte sich sich die humdity direkt beim Wiedereinschalten der Homebridge geändert, somit keine "0%".
  • Auch bei einem Temperatur-Aussensensor gab es 2 Werte mit "0,00'C", bis sich die Temperatur dann veränderte und wieder richtige Temperaturen geloggt wurden.

Bei den Thermostaten gibt es nun überhaupt keine "0,00'C" mehr. Mich verwundert allerdings, dass auch beim Start der Homebridge keine "0,00'C" mehr entstehen. Das Start-Verhalten müsste ja analog zu den THSensoren sein. Das wäre ja ein Zufall, wenn sich die Temperaturen tatsächlich an allen Thermostaten bei jedem Homebridge-Neustart verändert hätten. Gestern Abend gab es einige Homebridge-Neustarts. ;)

Kannst du das Start-Verhalten der Thermostate irgendwie auf die THSensoren übertragen oder es so regeln, dass nach dem Start der Homebridge-Instanz nochmal der letzte gültige Wert geprüft wird und dieser dann bis zur Veränderung in die history geloggt wird?

Grundsätzlich kann ich mit dem Verhalten erstmal gut leben, da man die Homebridge ja üblicherweise nicht so häufig neustartet. Es wäre aber wirklich schön, wenn die "0er" irgendwann vollständig verschwinden. Diese sehen in den Grafiken einfach bescheiden aus. Ja, ich weiß, man kann die "0er" in der history einzeln löschen. Aber wenn das nicht notwendig wäre, wäre es einfach besser. ;)

Zitat von: justme1968 am 14 Februar 2019, 17:52:39
zu den beiden characteristics:
die uuids müssten E863F12C-079E-48FF-8F27-9C2605A29F52 für ProgramCommand und E863F12F-079E-48FF-8F27-9C2605A29F52 für ProgramData sein. type und units siehst du ja. vielleicht reicht es schon beide als custom characteristic im mapping passend zu setzen.

Da ich noch nie eine Custom Characteristic gebaut/verwendet habe, möchte ich dich bitten nochmal drüber zu schauen. Das müsste es meiner Ansicht nach sein:

E863F12C-079E-48FF-8F27-9C2605A29F52=ProgramCommand,format=DATA
E863F12F-079E-48FF-8F27-9C2605A29F52=ProgramData,format=DATA


Passt das so?

Du schreibst "type und units siehst du ja".


Zitat von: exit2308 am 14 Februar 2019, 23:19:35
genericDeviceType: outlet


Daran bin ich bei meinen Versuchen schon gescheitert. Gibt es irgendwo eine vollständige Liste der genericDeviceTypes?

Ich habe hier mit "switch" meine ersten Versuche gestartet, habe aber logischerweise nichts angezeigt bekommen.

Ich habe mal dein userReading, genericDeviceType outlet und das Homebridgemapping "On=OG2_Dachboden_Strom_Server_Sw:state,cmdOn=on,cmdOff=off,valueOn=on,valueOff=off history:size=1024,type=energy" übernommen. Das sieht meiner Ansicht nach in Eve schon ganz gut aus. Angaben wie Volt, Ampere, etc. fehlen da nun. Aber schonmal besser als nichts.

Danke dir für das Teilen. ;)

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

@Andre Hattest du eigentlich an der ValvePosition noch etwas geändert?

Ich sehe dort mittlerweile statt Balken eine Linie. Wenn du da also nochmal etwas angepasst hattest, es funktioniert und gefällt mir. ;)

Danke und Gruß Hoppel

Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi


justme1968

@exit2308: starte mal bitte mit -D. dann siehst du im log welcher faktor wirklich gesetzt wird.

aber ich sehe gerade woran es liegt. im code wird auf HM-ES-PMSw1-Pl geprüft. deiner hat aber ein model von HM-ES-PMSw1-Pl-DN-R1. sollte ab dem nächsten update gehen. (das ich aus versehen auch noch auf TYPE statt model geprüft habe sage ich jetzt nicht :) ).


@hoppel118: fagegato behandelt thermo aktuell noch anders als temp/weather. für letzteres werden automatisch alle 10 minuten history einträge erzeugt und dabei auch werte gemittelt. hier ist es egal wenn nicht alle werte in die history geschrieben werden. das wird intern repariert. bei thermo wird nicht automatisch gesendet und auch nicht gemittelt. ich denke das erklärt das unterschiedliche verhalten.

ich muss mir was überlegen wie wir das verbessern können.


ja so müssten die einträge anschauen. unit gibt es bei data nicht. name fehlt aber noch:E863F12C-079E-48FF-8F27-9C2605A29F52:name=ProgramCommand,format=DATA
E863F12F-079E-48FF-8F27-9C2605A29F52:name=ProgramData,format=DATA
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

hoppel118

Zitat von: exit2308 am 15 Februar 2019, 14:16:20
@hoppel118
https://github.com/KhaosT/HAP-NodeJS/blob/master/lib/gen/HomeKitTypes.js

Was finde ich da? :D

Zitat von: justme1968 am 15 Februar 2019, 20:45:23
@hoppel118: fagegato behandelt thermo aktuell noch anders als temp/weather. für letzteres werden automatisch alle 10 minuten history einträge erzeugt und dabei auch werte gemittelt. hier ist es egal wenn nicht alle werte in die history geschrieben werden. das wird intern repariert. bei thermo wird nicht automatisch gesendet und auch nicht gemittelt. ich denke das erklärt das unterschiedliche verhalten.

ich muss mir was überlegen wie wir das verbessern können.

OK, danke für die Erläuterung. Hat keine Eile! Gib Bescheid, wenn es was zum Testen gibt.

Zitat von: justme1968 am 15 Februar 2019, 20:45:23
ja so müssten die einträge anschauen. unit gibt es bei data nicht. name fehlt aber noch:E863F12C-079E-48FF-8F27-9C2605A29F52:name=ProgramCommand,format=DATA
E863F12F-079E-48FF-8F27-9C2605A29F52:name=ProgramData,format=DATA


OK, dann probiere ich das so mal aus.

Danke und Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

justme1968

da findest du alle symbolischen namen die für genericDeviceType erlaubt sind und alles was im homebridgeMapping auftauchen kann.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

hoppel118

#84
Ok, ich habe ProgramData und ProgramCommand mal an einem Thermostat hinterlegt. Mit der Soll-Temperatur hat das aber nichts zu tun. Da kommt nun was ganz neues... und eigentlich finde ich das ziemlich sexy. :D

Auf der anderen Seite würde ich dann, wenn das denn überhaupt funktioniert, die Zeitpläne/Wochenprofile meiner Thermostate über Homebridge managen, oder? Ich weiß nicht, ob ich das gut finden würde...


Was denkst du?

Sieht auf jeden Fall nice aus! ;)

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

justme1968

das ist schick, aber da noch niemand rausgefunden hat wie die beiden characteristics funktionieren leider noch nicht nützlich.

im fakegato readme steht etwas davon das man die darstellung von ist und soll gemeinsam irgendwo in eve einschalten muss.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

hoppel118

Zitat von: justme1968 am 15 Februar 2019, 21:05:30
da findest du alle symbolischen namen die für genericDeviceType erlaubt sind und alles was im homebridgeMapping auftauchen kann.

Alles klar, gefunden/verstanden. Mir stellt sich gerade die Frage, ob es sinnvoll ist, alle möglichen bzw. erforderlichen genericDeviceTypes am globalen userattr zu hinterlegen, damit man sie zukünftig auch per Drop-Down auswählen kann.

attr global userattr cmdIcon devStateIcon devStateIcon:textField-long devStateStyle genericDeviceType:switch,outlet,light,blind,speaker,thermostat homebridgeMapping:textField-long icon siriName sortby webCmd webCmdLabel:textField-long widgetOverride

Außerdem stellt sich mir die Frage, ob es Sinn macht, die genericDeviceTypes irgendwo im FHEM Forum zu dokumentieren. Was meint ihr?

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

justme1968

nein. das ist nicht sinnvoll. da sollen nur die wichtigsten allgemeinen typen hinterlegt sein die man braucht um zweideutigkeiten auszuräumen.

alles was spezifischer ist und vor allem homebridge spezifisch muss von hand eingetragen werden.

aber wie arbeiten gerade an einer noch assistenten unabhängigeren version.

es gibt im wiki drei oder vier seiten mit doku dazu.

ein paar beispiele mehr wären sinnvoll, aber alles zu dokumentieren nicht. dann ist es besser auf das types filet i vereisen. dort steht alles gesammelt.

ich habe mit zwei neuen beispielen km wiki zu wetter und tv angefangen. mehr (auch mit screenshots) ist sicher gut.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

hoppel118

Zitat von: justme1968 am 15 Februar 2019, 21:37:11
das ist schick, aber da noch niemand rausgefunden hat wie die beiden characteristics funktionieren leider noch nicht nützlich.

OK, dann lasse ich das erstmal.

Zitat von: justme1968 am 15 Februar 2019, 21:37:11
im fakegato readme steht etwas davon das man die darstellung von ist und soll gemeinsam irgendwo in eve einschalten muss.

Ja, das hatte ich auch gelesen:

ZitatFor setTemp to show, you have to add all the 3 extra thermo characteristics (see gist), and enable set temperature visualization under accessory options in Eve.app.

Ich finde aber nichts in der EVE App. Keine Ahnung, wo das sein soll.

Idee: Evtl. muss ich dafür den Zeitplan in der Eve-App konfigurieren, damit die SOLL-Temperaturen als zusätzliche Linie dargestellt werden?

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

exit2308

#89
Zitat von: justme1968 am 15 Februar 2019, 20:45:23
@exit2308: starte mal bitte mit -D. dann siehst du im log welcher faktor wirklich gesetzt wird.

aber ich sehe gerade woran es liegt. im code wird auf HM-ES-PMSw1-Pl geprüft. deiner hat aber ein model von HM-ES-PMSw1-Pl-DN-R1. sollte ab dem nächsten update gehen. (das ich aus versehen auch noch auf TYPE statt model geprüft habe sage ich jetzt nicht :) ).

Hab heute das Update vom Modul eingespielt, perfekt. History für HM-ES-PMSw1-Pl-DN-R1 funktioniert.
Für die zwei Characteristics stimmen jetzt auch jeweils der Faktor.

Ist jetzt wie folgt gelöst (Homematic Powermeter / Energiemessung per autocreate hinzugefügt):
Auf das Device welches die readings energy, power, current und voltage (...._Pwr / Kanal 02) besitzt:
genericDeviceType: outlet
Mapping:
history:size=1024,type=energy
zusätzlich muss noch die Characteristic für ,,On" auf das das Device gemappt werden, welches den Kanal 01 beinhaltet (...._Sw / Schaltkanal / Kanal 01) kann z.B so aussehen:
On=...._Sw:state,cmdOn=on,cmdOff=off,valueOn=on