Smartmeter Binding findet IR Reader nicht

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

c0rtez
Beiträge: 9
Registriert: 6. Jan 2020 22:09
Answers: 0

Smartmeter Binding findet IR Reader nicht

Beitrag von c0rtez »

Hallo zusammen,

ich befürchte mal meine Linux Kenntnisse reichen mal wieder nicht für mein Vorhaben aus.
Ich habe ein Smartmeter und möchte die Daten davon gerne in Openhab nutzen. Ich habe mir also das Smartmeter Binding installiert und einen IR Reader (USB) gekauft. Ich habe den "Hichi USB, IR Lesekopf für Stromzähler" genommen den ja eigentlich schon viele für diesen Zweck verwendet haben.

Wenn ich nun aber das Thing mit dem Smartmeter Binding einrichten will resultiert das Thing wie folgt:
thing-smartmeter.jpg
Leider habe ich den tatsächlich verwendeten Port nicht raus bekommen.
Aber alle versuche von
/dev/ttyUSB0
bis
/dev/ttyUSB10

wie auch

/dev/tty0
bis
/dev/tty10

landen beim gleichen Ergebnis.

wenn ich mit Putty auf dem PI lsusb -v mache bekomme ich diese Daten:

Code: Alles auswählen

Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bri                                                                                                                                                                                                                                             dge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s                                                                                                                                                                                                                                              bridge
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.10
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         9
  idVendor           0x174c ASMedia Technology Inc.
  idProduct          0x55aa ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s brid                                                                                                                                                                                                                                             ge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
  bcdDevice            1.00
  iManufacturer           2 SABRENT
  iProduct                3 SSHD
  iSerial                 1 AAAABBBBCCCC0003
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0079
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           4
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     98
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
        MaxStreams             32
        Data-in pipe (0x03)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
        MaxStreams             32
        Data-out pipe (0x04)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
        MaxStreams             32
        Status pipe (0x02)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
        Command pipe (0x01)

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0
  bDeviceProtocol         3
  bMaxPacketSize0         9
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0003 3.0 root hub
  bcdDevice            5.15
  iManufacturer           3 Linux 5.15.32-v7l+ xhci-hcd
  iProduct                2 xHCI Host Controller
  iSerial                 1 0000:01:00.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x001f
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
        bMaxBurst               0

Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            9 Hub
  bDeviceSubClass         0
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x2109 VIA Labs, Inc.
  idProduct          0x3431 Hub
  bcdDevice            4.21
  iManufacturer           0
  iProduct                1 USB2.0 Hub
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0019
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0002 2.0 root hub
  bcdDevice            5.15
  iManufacturer           3 Linux 5.15.32-v7l+ xhci-hcd
  iProduct                2 xHCI Host Controller
  iSerial                 1 0000:01:00.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0019
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
Gefühlt ist das gar nicht dabei.

Jemand eine Idee woran es liegen könnte und was standardmäßig der richtige Wert für den Serial Port wäre?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
udo1toni
Beiträge: 15243
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Smartmeter Binding findet IR Reader nicht

Beitrag von udo1toni »

Raten ist an dieser Stelle eine denkbar ungünstige Strategie :)

Schritt 1: Du rufst in der shell den Befehl sudo dmesg -w auf
Schritt 2: Du steckst das USB-Kabel an (so dass das Gerät am rechner angemeldet werden kann).
Daraufhin sollten etliche neue Zeilen ausgegeben werden, die Auskunft über das neu erkannte USB Device geben. Dort kann schon stehen, wie der Stick heißt und unter welchem Gerätenamen er erreichbar ist.
Falls Du den korrekten Gerätenamen siehst, merkst Du ihn Dir und schaust, ob das Gerät in der Geräteliste auftaucht:

Code: Alles auswählen

ls -l /dev/
Nun kommt es drauf an, wie der Name des Gerätes ist. Es könnte z.B. ttyACM0 sein, es gibt aber auch noch weitere Möglichkeiten.
Der wichtigste Punkt ist allerdings: Nur weil ein Gerät in GNU/Linux verfügbar ist, ist es das noch lange nicht in Java. Du musst eventuell das Gerät zuerst in die Java Umgebung "hineinreichen". Das geschieht über die Datei /etc/default/openhab und dort über den Parameter EXTRA_JAVA_OPTS.
In der Datei sind Beispiele für die erforderliche Schreibweise angegeben, z.B. so:

Code: Alles auswählen

 EXTRA_JAVA_OPTS="-Dgnu.io.rxtx.SerialPorts=/dev/ttyACM0
Damit würde der serielle Port ttyACM0 in openHAB verfügbar gemacht.
Wenn Du /etc/default/openhab anpassen musst, ist anschließend ein Restart von openHAB fällig:

Code: Alles auswählen

sudo systemctl restart openhab.service
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

c0rtez
Beiträge: 9
Registriert: 6. Jan 2020 22:09
Answers: 0

Re: Smartmeter Binding findet IR Reader nicht

Beitrag von c0rtez »

Danke @udo1toni

Habe es probiert, allerdings tut sich gar nichts wenn ich das Gerät anstecke. Habe auch schon ein anderes Kabel und einen anderen USB Anschluss am Pi probiert. Daran liegt es nicht.

Ich glaube langsam trotz der Kabeltäusche dass das problem technisch ist. Ich habe das Gefühl der Lesekopf wird gar nicht erkannt.

Wenn ich den Lesekopf angeschlossen habe sieht das Ergebnis von lsusb so aus:

Code: Alles auswählen

openhabian@hausserver:~ $ lsusb
Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Ziehe ich den Lesekopf ab, ändert sich absolut gar nichts.

Benutzeravatar
udo1toni
Beiträge: 15243
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Smartmeter Binding findet IR Reader nicht

Beitrag von udo1toni »

Vergiss erst mal lsusb, das ist zwei Layer später. dmesg muss das Gerät sehen, sonst geht später gar nichts.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

c0rtez
Beiträge: 9
Registriert: 6. Jan 2020 22:09
Answers: 0

Re: Smartmeter Binding findet IR Reader nicht

Beitrag von c0rtez »

udo1toni hat geschrieben: 9. Mai 2024 11:41 Vergiss erst mal lsusb, das ist zwei Layer später. dmesg muss das Gerät sehen, sonst geht später gar nichts.
Hey Udo, hatte bisher keine Zeit mir das genauer anzusehen. Heute aber mal die Ruhe gehabt das alles nochmal in Ruhe nach deiner Anleitung aus dem vorherigen Posting durchzugehen. Hat einwandfrei funktioniert. Lesekopf gefunden und es kommen auch schon fröhlich Daten an.

Vielen DANK!

Benutzeravatar
udo1toni
Beiträge: 15243
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Smartmeter Binding findet IR Reader nicht

Beitrag von udo1toni »

Prima!
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

c0rtez
Beiträge: 9
Registriert: 6. Jan 2020 22:09
Answers: 0

Re: Smartmeter Binding findet IR Reader nicht

Beitrag von c0rtez »

udo1toni hat geschrieben: 4. Jun 2024 09:32Prima!
Du kannst mir nicht zufällig noch bei was anderem in diesem Context helfen?
Ich hatte es ehrlich gesagt schon im offiziellen Openhab Forum auf openhab org probiert... aber entweder ich bin zu blöd, oder mein technisches Englisch reicht nicht aus.

Der Gesamtzählerstand des Zählers ist aktuell 20269
Das Item mit dem für den OBIS Code relevanten Channel gibt mir aber den Wert 20269252.40

Die 252.40 sind also irgendwie zu viel, so als wäre das Komma 3 Stellen zu weit links?
Es gibt zwar Angaben in der Doku die in die Richtung gehen, aber ich glaube damit ist noch was anderes gemeint. Stehe ehrlich gesagt auf dem Schlauch was ich tun muss damit diese Werte korrekt sind :-(

Benutzeravatar
udo1toni
Beiträge: 15243
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Smartmeter Binding findet IR Reader nicht

Beitrag von udo1toni »

Nein, das ist korrekt. Der Zähler zeigt auf seinem Display den Wert in kWh an, der OBIS Wert wird aber in Wh ausgegeben.
Du musst beim Verknüpfen mit einem Item eigentlich nur darauf achten, dass es sich beim Item um ein QuantityType Item handelt (hier Number:Energy).
Welche exakte Version von openHAB nutzt Du? Falls 4.x, musst Du im Item selbst den unit Parameter setzen (es bietet sich an, den auf Wh zu setzen, Du kannst aber auch kWh oder eine andere Energieeinheit nutzen. In dieser Einheit werden die WErte persistiert und die unit darf deshalb auch nur einmal gesetzt werden (bzw. wenn Du die unit unterwegs änderst, werden alle alten Messwerte um den entsprechenden Faktor verkehrt ausgegeben).
Weiterhin musst Du in der stateDescription das pattern auf (z.B.) %.2f kWh setzen, dann wird der Wert in kWh mit zwei Nachkommastellen angezeigt.
Im Unterschied zur unit kannst Du das Pattern jederzeit anpassen, es hat nur Einfluss auf die Darstellung des Wertes.
Solltest Du noch mit einer Version 3.x unterwegs sein, so gibt es keinen unit Parameter. Alles andere ist aber weiterhin gültig.
QuantityType Werte führen ihre Einheit mit, und openHAB kann damit umgehen, einfache Konvertierungen wie K in °C oder °F sind genauso automatisch möglich, wie die Ausgabe in verschiedenen Einheiten oder Faktoren (mA, kV, MJ... geht alles). Und noch krasser ist, dass openHAB sogar aus V * A als Ergebnis W ausgibt (streng genommen ist das zwar nicht unbedingt korrekt, aber umgangssprachlich passt es ja).
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

c0rtez
Beiträge: 9
Registriert: 6. Jan 2020 22:09
Answers: 0

Re: Smartmeter Binding findet IR Reader nicht

Beitrag von c0rtez »

Oh wow... ein einfaches :Energy hat das Problem gelöst.

Mal wieder ein ganz großes Merci.

PS
ich laufe tatsächlich noch auf OH3.5
Mir fehlt aktuell leider echt die zeit für den Umstieg. Ich möchte nicht updaten, da beim update von 2 auf 3 damals doch danach einiges nicht gut lief und ich neu aufsetzen musste. Daher will ich direkt einen neuen PI aufsetzen... mal schauen wann ich dafür ein paar tage zeit finde.

Benutzeravatar
udo1toni
Beiträge: 15243
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Smartmeter Binding findet IR Reader nicht

Beitrag von udo1toni »

Tatsächlich ist es immer eine gute Idee, ein neues System aufzusetzen.
Der Umstieg von 3.5 auf 4.1 wird aber weniger Probleme bereiten, denn einer der Hauptpunkte, die Umstellung von Paper UI zu Main UI, liegt nun hinter Dir :) Du kannst auch einfach von Java 11 auf Java 17 updaten, und zwar ohne openHAB upzudaten, auch das ist ein wichtiger Punkt, den Umstieg leichter zu gestalten.
Aber wie gesagt, der Ansatz, das neue System parallel zum alten System aufzusetzen erspart Dir im Zweifel viel Ärger, insbesondere kannst Du damit die Downtime minimieren, ohne Dich selbst dabei unter Zeitdruck zu setzen.

Mein Tipp, wenn es soweit ist: Setze das neue System mit 3.5 auf und upgrade dann, nachdem Du die Daten des alten Systems schon übernommen hast.
Das gilt allerdings nur, wenn Du die Konfiguration über ide UI vornimmst. Solltest Du die Konfiguration über die Textdateien bevorzugen, hast Du keinen Vorteil durch das Upgrade über die Verisonen, da Du ohnehin alle Anpassungen von Hand vornehmen musst.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten