Wunschliste HomeConnect-Module

Begonnen von peterk_de, 06 Februar 2018, 21:28:13

Vorheriges Thema - Nächstes Thema

peterk_de

Liebe HomeConnectler,

ersteinmal ein gigantisch großes Lob! Ich habe nach der Freischaltung ein wenig gespielt, und es funktioniert schon hervorragend.

Ich hätte noch kleine (Low-Priority-) Anregungen für das Modul, die als Interessensbekundung und "weiter so" gedacht sein sollen ;)

- Viele Readings müssen, um in die FHEM-Welt zu passen, durch User wie mich erst manuell "lesbar gemacht" werden, was m.E. das Modul schon übernehmen könnte. Beispiel: Das Reading BSH.Common.Setting.PowerState hat einen Wert wie z.B. BSH.Common.EnumType.PowerState.On ... das muss man sich für diverse Zwecke ersteinmal auf "On" oderso umbasteln. Schön wäre es, wenn ein ReadingsVal, der auf den Regex /(.+\.)([^.]+)/ matcht, automatisch durch SubExpression $2 ersetzt werden würden, d.h. wenn im Beispiel einfach BSH.Common.EnumType.PowerState. abgeschnitten werden würde. Was meint Ihr? Wenn das nicht im Sinne der API-Legislatur ist - die Module halten sich ja auffällig genau an die BSH-API-Nomenklatur - dann gern auch nur nach Setzen eines Attributes "simplifyReadings 1|0" o.ä. Bei den Readingsnamen könnte man das vielleicht auch machen, aber da nervt es nicht ganz so sehr ...

- Die readingFnAttributes werden noch nicht unterstützt ... wein ;) ... kommt das noch?

- Gesetzte Start-Timer (DelayedStart) erzeugen ziemlich viele Events, weil jeweils die Restlaufzeit in Sekunden in die Readings geschrieben wird, die natürlich dann auch korrekterweise alle paar Sekunden runterzählt. Mangels readingFnAttributes kann man das auch nicht unterbinden. Schöner wäre es, wenn hier das Modul automatisch aus aktueller Zeit + der Sekundenanzeige einen Timestamp generieren würde. Gern auch zusätzlich ...

- Das Wort seconds im ReadingsVal bei allen Zeitangaben ist irgendwie unnötig ... OK Einheiten sind ja in FHEM so ne Sache ;)

Ganz liebe Grüße

Peter
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

hannik.k

Hallo Peter,

bis Deine Anregungen umgesetzt werden würde ich gerne schon mal einige Readings manuell "lesbar" machen.
Bekomme aber die Umsetzung nicht hin :-( . Probiere und Suche schon ne ganze Weile.
Im Online regex tester funzt es z.B. auch mit /\w+$/. Leider nicht in FHEM.
Denke auch, das einige User daran verzweifeln.
Kannst Du bitte mal posten wie so ein UserReading attr aussieht.

Damit z.B. aus dem Reading


BSH.Common.Status.DoorState   BSH.Common.EnumType.DoorState.Closed
ein userReading


Door    Closed
wird.

Vielleicht geht mir ja dann ein Licht auf!
Danke.


LG

peterk_de

#2
Mit Userreadings geht es - zumindest offiziell - auch nicht, da die readingFnAttributes noch nicht supported werden. Ich mache das jetzt deshalb temporär mit einem Notify, der die hübschen Readings in ein Dummy schreibt (für den ich dann auch event-on... setzen kann):

Bitte noch anpassen:

meinSpueler = Devicename von dem Homeconnect-Device
meinDummy = Name von dem Dummy, wo die gekürzten Readings reingeschrieben werden


defmod n_makeReadableSpueler notify meinSpueler.* {

  my ($reading_sh, $val_sh) = $EVENT =~ /([^:]+): ([^:]+)/;

  if ($reading_sh =~ /[^: ]+\.([^:. ]+)/) {
    $reading_sh = $1;
  }

  if ($val_sh =~ /[^ ]+\.([^. ]+)/) {
    $val_sh = $1;
  } elsif ($val_sh =~  /([^ ]+) [^ ]+/) {
    $val_sh = $1;
  }

  fhem("setreading meinDummy $reading_sh $val_sh");
}


Das haut auch gleich die ganzen Einheiten weg, die bei der Weiterverarbeitung nicht sonderlich hilfreich sind. Falls du die Einheiten drinbehalten willst, lösche diesen Teil:

elsif ($val_sh =~  /([^ ]+) [^ ]+/) {
    $val_sh = $1;
  }


LG!
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

swhome

Hi, vielen Dank für das nette Feedback.

Home Connect sendet die Einheiten getrennt von den Werten, daher könnte ich mit recht wenig Aufwand ein Konfigurations-Attribut einbauen, das generell ein Anhängen der Einheit in jeglichen readings unterbindet. Oder wäre besser nur die Einheit ,,Sekunden" zu unterdrücken?

Zu den Konstanten ala BSH.etcetc: finde ich auch nicht schön, war mir aber nicht sicher ob die Werte noch eindeutig sind wenn man nur den letzten Abschnitt übernimmt. Außerdem können auch Readings auch ,,Settings" sein, würde ich diesem Fall die Präfixe abschneiden, könnte man den Wert nicht mehr an das Api zurück senden.
Im Einsatz: FHEM auf Raspberry Pi mit 350 devices, hauptsächlich Homematic Wired und HM-Heizungsregler, dazu diverse Eigenbauten für Fussbodenheizung und LED Beleuchtung. Und jetzt mit Alexa!

Andre0909

Zitat von: swhome am 09 Februar 2018, 00:28:50
Hi, vielen Dank für das nette Feedback.

Oder wäre besser nur die Einheit ,,Sekunden" zu unterdrücken?



das wäre schonmal MEGA :>