[APP][PRO] Home Assistant - Community App (deutsch)

Dein über HA eingebundener Smartmeter ist der “SmartMeter” ohne Wert?
Schau bitte, wie du die Entity eingefügt hast. Als Sensorgerät oder als CustomDevice?

Wenn CustomDevice, dann hast du sicher die Entity manuell im Repair-View hinzugefügt. Mit welcher Capability?
Energiewerte werden nur von Homey erkannt, wenn die Capabiliy measure_power vorhanden ist.
Beim Hinzufügen der Entity muss also ggf. diese Hauptcapability angegeben werden.

Hier hatte ich das mal beschrieben:

Sorry, hätte ich vielleicht erwähnen sollen.
Nein, alles was mit SmartMeter bezeichnet ist, also insgesamt 5 Geräte, gehört zum Qubino 3-Phasen SmartMeter. Das Gerät Stromzähler ist das HA Gerät, welches ich als als CustomDevice hinzugefügt habe.

Hier die Gerätedetails nur zum Leistungs-Sensor, die Sensoren für die Zähler Bezug/Einspeisung habe ich mal weggelassen.:

{
  "sensor.stromzahler_leistung": {
    "entity_id": "sensor.stromzahler_leistung",
    "state": "265",
    "attributes": {
      "state_class": "measurement",
      "unit_of_measurement": "W",
      "device_class": "power",
      "friendly_name": "Stromzähler Leistung"
    },
    "last_changed": "2024-11-28T09:00:57.841038+00:00",
    "last_reported": "2024-11-28T09:00:57.841038+00:00",
    "last_updated": "2024-11-28T09:00:57.841038+00:00",
    "context": {
      "id": "01JDS0123ARYVDYBD937SVXGEM",
      "parent_id": null,
      "user_id": null
    },
    "homey_capability": "measure_power"
...

Hier noch ein Screenshot.

In der Statusanzeuge wird mir die Leistung ja auch in Grün dargestellt, wie es bei Leistungsanzeigen üblich ist. Das Problem ist nur, dass ich bei dem Geräte die Option In Gesamt einbeziehen nicht habe:

Ich hatte diese von Anfang an als Hauptcapability gekennzeichnet, habe es aber auch mal ohne versucht, kein Unterschied.
Verstehe nicht, warum die Option In Gesamt einbeziehen nicht angezeigt wird… :man_shrugging:

Das hatte ich letztens auch. Die Option stammt von Homey selbst und wird angezeigt, ich glaube (teilweise) abhängig von der Geräteklasse.
Du könntest nochmal ein CustomDevice anlegen und dann direkt die Einstellungen aufrufen. Probier mal, die Klasse auf ‘Sensor’ zu stellen. Danach die Entity einfügen. Ich weiß leider nicht mehr genau, wie ich es am Ende geschafft hatte, aber ich glaube es war, zuerst die Klasse ändern und dann die Capability einfügen.

Hab es grade mal versucht, die Klasse steht von Anfang an auf Sensor. Habe auch mal die HA App neu gestartet bevor ich die Entität hinzugefügt habe. Habe die Klasse vorher von Sensor auf andere umgestellt, die HA App neu gestartet, die Klasse wieder auf Sensor gestellt und dann die Entität hinzugefügt. Und einiges Anderes noch. Bisher alles ohne Erfolg… :man_shrugging:

So, jetzt hat es doch auch irgendwie funktioniert. Jetzt steht in den erweiterten Geräteeinstellungen auch die Option In Gesamt einbeziehen mit drin, was ich übrigens nicht selber aktiviert habe!

100%ig nachvollziehen kann ich es allerdings auch nicht. Ich hatte u.A. die Kumulative Energiemessung wieder aktiviert, In Gesamt einbeziehen beim Qubino SmartMeter deaktiviert, beide Apps mal neu gestartet, auf den Home Bildschirm und wieder in das Energie-Dashboard gewechselt und dann war die Energieanzeige korrekt.

Vielen Dank, @RonnyW!

Die Homey-App zeigt die Energieoptionen m.W. auf Basis von Geräteklasse und Capabilities an. So genau konnte ich das damals nicht nachvollziehen. Ich hatte damals den Eindruck, dass das bereits beim Erstellen des Gerätes erfolgt. Ich hatte dazu extra einen Workaround eingebaut, das Gerät als “socket” anzulegen und dann wieder auf “sensor” zu wechseln.

Es kann auch sein, dass sich die App anders verhält als die WebApp (ggf. Einstellungen puffert, so dass man erst nach Neustart einen Unterschied sieht).

Jedenfalls gut, dass es bei dir nun geklappt hat.

Hallo @RonnyW,
kann man bei einem bereits existierendem Benutzerdefinierten Gerät im Nachhinein die Bezeichnung für die Homey Capabilities ändern?
Das Feld ist grau hinterlegt und ich kann keine Änderungen vornehmen… :thinking:

Doch, das sollte gehen.

Oder meinst du die Capability selbst? Die lässt sich so nicht ändern. Da geht nur entfernen und neu einfügen.
In Flows müsstest du dann ggf. die Parameter zur Capability-Auswahl anpassen.

Genau, ich meine die Capability selbst.
Habe die Namen der entsprechenden Capabilities jetzt mit einem Zusatz “alt” versehen, die selben Capabilities ein 2. Mal hinzugefügt. In allen Flows die “alten” gegen die “neuen” ausgetauscht und dann die “alten” gelöscht. Ist allerdings blöd, dass die ganzen Insights weg sind.

Die Capability ist die ID, nicht der Name.
Dazu wird Gerät alles capability-spezifische gespeichert. Das ist analog zur Device-ID. Die kann auch nicht geändert werden.
Ist halt der technische Schlüssel des Attributes. Bei anderen Apps sieht man das nur nicht so direkt.

Bist wohl am Anpassen der meter/measure-Capabilities für die Energieanzeige?

Dass die Capability und der Name zwei unterschiedliche Dinge sind, ist schon klar.
Aber wenn die Capability ähnlich wie die Device-ID ist, wie funktioniert das bei Geräten mit mehreren Capabilities?

Korrekt. Merkwürdig ist nur, dass die Änderungen vermutlich erst morgen sichtbar werden.
Von einigen meiner größeren Stromverbrauchern hatte ich PBTH Geräte erstellt. Diese tauchten dann doppelt im Energie Dashboard auf, einmal das echte Gerät und das dazugehörige PBTH Gerät. Gestern habe ich dann bei allen PBTH Geräten “Exclude from Energy” aktiviert. Die Änderungen waren allerdings erst heute sichtbar, sprich die PBTH Geräte sind jetzt nicht mehr in der Liste der “Spitzenverbraucher” gelistet.
Weißt Du warum das so ist?

Ja, ich musste aber auch per Slack nachfragen. Mein Feedback dazu war daher, dass beim GoLive ein Banner mit Video drin sein sollte :smile:

Die Anzeige ist die Summe des Verbrauchs. Sobald ein Gerät im gewählten Zeitraum (Selektion oben rechts) Daten hat, wird es angezeigt.
D.h. gestern wurde Verbrauch noch summiert, die Geräte sind sichtbar.
Heute liegen keine Daten mehr vor, Geräte sind nicht mehr sichtbar.
Gehst du mit der Selektion auf ‘gestern’ oder ‘diese Woche’, dann werden sie wieder angezeigt.

Deshalb kann man eine Capability-ID nur 1x in ein Gerät einfügen.
Willsh du mehrere gleiche Capabilities einfügen, dann musst du SubCapabilities verwenden, damit die ID eindeutig ist.

Die HA-App fügt normalerweise als SubCapability ein, weil man oft gleiche Capabilities einfügt, z.B. measure_numeric für Sensoren.
Will man Haupt-Capabilities haben, kann man beim Einfügen den Name selbst angeben oder man markiert die Checkbox.

Macht Sinn.

Bin mir nicht sicher, ob ich Due mich bzw. ich Dich verstanden habe. Ich meine zumindest zu wissen, was SubCapabilities sind. Beispiel:
measure_power = HauptCapability
measure_power1 = SubCapabilitiy
Stimmt doch, oder?

Aber jetzt noch mal zum eigentlichen Problem. Ich importiere aus HA via “Benutzerdefiniertes Gerät” 3 Sensoren. Diese Sensoren gehören zu einem Hichi IR Stromzählerlesekopf.
Sensor 1: Aktuelle Leistung in W
Sensor 2: Zählerstand für den Strombezug (1.8.0)
Sensor 3: Zählerstand für den Stromexport (2.8.0)

Dieses benutzerdefinierte Geräte nicht ich jetzt als SmartMeter für das neue Energie-Dashboard nutzen.
Bis jetzt wurde im Dashboard aber nur die aktuelle Leistung angezeigt:

War eigentlich auch logisch, da die Capabilities für den Strom Im- und Export falsch benannt waren. Das ist der Grund, warum ich die Capabilities umbenennen wollte, also nicht den frei definierbaren Namen.
Jetzt hatte ich im SDK → Energy → Measuring Devices nachgeschaut, wie die Capabilities für den Strom Im- und Export heißen müssen, und zwar:
meter_power.imported
meter_power.exported

Also habe ich Sensor 2 und 3 gelöscht, neu hinzugefügt und direkt die Capabilities entsprechend benannt. Hier mal die Gerätedetails mit allen Infos:

{
  "sensor.stromzahler_leistung": {
    "entity_id": "sensor.stromzahler_leistung",
    "state": "195.0",
    "attributes": {
      "state_class": "measurement",
      "unit_of_measurement": "W",
      "device_class": "power",
      "friendly_name": "Stromzähler Leistung"
    },
    "last_changed": "2024-12-14T14:57:25.922760+00:00",
    "last_reported": "2024-12-14T14:57:25.922760+00:00",
    "last_updated": "2024-12-14T14:57:25.922760+00:00",
    "context": {
      "id": "01JF2TS8WWQ5R0CZSQ3TMCFZ2K",
      "parent_id": null,
      "user_id": null
    },
    "homey_capability": "measure_power"
  },
  "sensor.tasmota_sml_zaehlerstand_180": {
    "entity_id": "sensor.tasmota_sml_zaehlerstand_180",
    "state": "1078.755",
    "attributes": {
      "state_class": "measurement",
      "friendly_name": "Tasmota sml zaehlerstand_180"
    },
    "last_changed": "2024-12-14T14:57:15.954996+00:00",
    "last_reported": "2024-12-14T14:57:15.954996+00:00",
    "last_updated": "2024-12-14T14:57:15.954996+00:00",
    "context": {
      "id": "01JF2TRZ5J5Y2DEQSPES4V5VVS",
      "parent_id": null,
      "user_id": null
    },
    "homey_capability": "meter_power.imported"
  },
  "sensor.tasmota_sml_zaehlerstand_280": {
    "entity_id": "sensor.tasmota_sml_zaehlerstand_280",
    "state": "238.043",
    "attributes": {
      "state_class": "measurement",
      "friendly_name": "Tasmota sml zaehlerstand_280"
    },
    "last_changed": "2024-12-14T14:39:08.300399+00:00",
    "last_reported": "2024-12-14T14:39:08.300399+00:00",
    "last_updated": "2024-12-14T14:39:08.300399+00:00",
    "context": {
      "id": "01JF2SQS0CFBG4HTYAK3WFMZ18",
      "parent_id": null,
      "user_id": null
    },
    "homey_capability": "meter_power.exported"
  }
}

Trotz korrekter Bezeichnung der Capabilities und korrekter Einstellung des Geräts…
Geräte-Typ: Sensor
Kumulative Energiemessung: Ja
In Gesamt einbeziehen: Ja
Exclude from Energy: Nein
…, werden keine Im- und Export-Daten im Energie Dashboard angezeigt.
Das ganze hatte ich bereits gestern gemacht, also eigentlich hätten heute Werte angezeigt werden müssen.

Weißt Du was das Problem ist?

Fast :wink:
Aber weiter unten hast du es korrekt gemacht.

Kleines SDK 1x1:
Eine Capability muss immer eine gültige ID haben. Entweder Standard-Capabilities (von Homey direkt, z.B. measure_power oder meter_power) oder Custom-Capabilities (in der App definiert, in der HA App z.B. measure_numeric oder measure_generic).
Die Capability gibt dabei den Typ, Einheit usw. an).
Siehe: Tutorial: Device Capabilities - Homey Apps SDK v3

Eine Capability meter_power kann nur 1x vorhanden sein. Bei zwei gleich typisierten Capabilities muss man mit Sub-Capabilities arbeiten:
capability_id.subcapability_name
Also z.B.:

  • meter_power + meter_power.imported.
    oder gleich:
  • meter_power.exported + meter_power.imported

Du hast das korrekt gemacht.
Problem: Homey erkennt im Normalfall nur meter_power. Also nur die Haupt-Capability.

Es gibt aber seit dem Update folgende Definitionsmöglichkeit im Gerät:

  "energy": {
    "cumulative": true,
    "cumulativeImportedCapability": "meter_power.imported",
    "cumulativeExportedCapability": "meter_power.exported"
  }

Siehe: Energy | Homey Apps SDK

Damit kann man - wenn mehrere Capabilities als Subcapability definiert sind - diesem extra Attribute geben und so den korrekten Typ definieren.
Das ist bei anderen Apps mit fest definierten Geräten hardcoded in der Gerätedefinition angegeben.
Bei der HA-App ist das noch nicht mögklich. Ich müsste das noch irgendwie definierbar machen.
Evtl. in den Geräteeinstellungen als zwei optionale Felder, wo man die imported/exported Capability angeben kann, damit dies in das Geräte übernommen wird.

Ich denke, aktuell hast du keine Möglichkeit, einen Wert für Export anzugeben. Nur Import könntest du vermutlich angeben, wenn du nur 1x meter_power verwendest.

2 Likes

Verstehe jetzt nicht ganz, warum das Problem an Deiner App liegen soll, da die Capabilities für Import und Export ja korrekt definiert sind. So ist es in DevTools ja auch hinterlegt:

Oder hängt das eventuell noch mit der Device Class zusammen? Lt. Tutorial: Device Classes - Homey Apps SDK v3 sind ja keine virtuellen Sensoren erlaubt, wenn ich das richtig verstehe.
Verstehe auch nicht, warum es keine Device Class für SmartMeter gibt. Hätte man das Thema für SmartMeter damit nicht klar definieren können?

Edit
Habe jetzt versuchsweise mal meter_power.exported aus dem HA Gerät gelöscht, mal schauen ob morgen dann zumindest der Import (Stromnetz) angezeigt wird.

Allein beide Capabilities zu haben, genügt nicht. Man muss Homey noch mitteilen, dass das imported/exported-Werte sind. Man könnte die Capabilities ja auch anders benennen.
Und dazu muss man im Gerät (z.B. Definition driver.json) diese Capabilities den beiden Attributen zuweisen.

Für “reale” Geräte ist das fest in der App definiert. Für virtuelle Geräte wie bei HA muss man das irgendwie anders/dynamisch lösen :slight_smile:

Kannst Du nicht generell ein Gerät SmartMeter mit den notwendigen Capabilities, Attributen und einem entsprechenden driver.json erstellen?

Therotisch ja, aber gibt es dafür eine Domain oder Device-Class in HA, an der man erkennen kann, dass ein SmartMeter ist? Und hat jedes HA Smartmeter die identischen Attribute?

Du könntest ja mal die technischen Details deiner Entity schicken aus der HA-Entwicklersicht.

Das weiß ich nicht, ob es eine extra Domaine oder DC gibt.
In meinem Fall werden die Daten via MQTT an HA übermittelt, also Info über ein bestimmtes Gerät bzw. einer bestimmten Geräteklasse. Damit ich die Daten dann mit der richtigen Device Class (Power und Energy) über Deine App an Homey übermitteln konnte, musste ich ja ein extra YAML Template anlegen (siehe dazu Post #203). Und in diesem Template wird im Grunde auch nicht zwischen Import und Export unterschieden.
Aber wie sieht es beim Tibber Pulse aus? Für HA gibt es ja auch eine Tibber Cloud Integration, kannst diese also parallel zur Homey App laufen lassen.
Da wir unseren Stromanbieter gewechselt haben, habe ich meinen Pulse verkauft, kann es also selber nicht mehr ausprobieren bzw. nachschauen.