Autor Thema: Stromzähler mit S0 Schnittstelle nochmals  (Gelesen 50973 mal)

Offline StefanStrobel

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 961
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #270 am: 05 Januar 2018, 15:14:45 »
Hallo,

Wenn z.B. Für Pin4 auch das Attribut verboseReadings4 auf 1 gesetzt ist, dann werden auch Readings countDiff4 und timeDiff4 erzeugt. Die liefern jeweils das Delta zum aktuellen Intervall...

Gruß
    Stefan

Offline birdy

  • Full Member
  • ***
  • Beiträge: 178
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #271 am: 05 Januar 2018, 21:43:37 »
Hallo Stefan

Seit ca. 24 h läuft bei mir die Kombination 2.04/5.7 funktioniert zuverlässig, keine Abweichung bis jetzt.

Eine „Spezialität“ ist mir aber noch aufgefallen. Die Pin Attribute werden nach dem Neuaufbau der Webseite korrekt dargestellt -> Bild 1.
Aber sobald der erste Impuls daher kommt, werden die Attribute mit dem Readings des entsprechenden Pin überschrieben -> Bild 2.
Das F5 drücken löst dann das Problem kurzfristig. Trotzdem bin ich mir nicht ganz sicher ob dies wirklich im Sinne des Erfinders ist.  ;)

Beste Grüsse birdy
FHEM5.8@Debian 8.6@Proxmox VE 5.0-30@intelNUC   (+ Pi 3 )
CUL 433(a-culfw), CUL 868(SlowRF), Max-Cube MAXLan, Max-Cube CUN geflash, HM-CFG-USB-2 (HMALND)

Offline StefanStrobel

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 961
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #272 am: 06 Januar 2018, 18:27:56 »
Hallo birdy,

Das klingt seltsam. Muss ich mal in Ruhe versuchen nachzustellen.
Die Darstellung macht allerdings ein Frontend-Modul bzw. das Fhemweb-Modul. Arducounter zählt und schreibt die Werte in die Readings...

Gruß
    Stefan

Offline birdy

  • Full Member
  • ***
  • Beiträge: 178
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #273 am: 07 Januar 2018, 16:42:53 »
Das Phänomen ist zugegebener massen nicht ganz neu. Hat mit Sicherheit schon in der letzten Version bestanden. Aber seit wann oder ab welcher Version kann ich nicht eingrenzen. Könnte dies am identischen Namen liegen der via Longpoll  (oder wie die Technik auch immer heisst) automatisch aktualisiert wird?
FHEM5.8@Debian 8.6@Proxmox VE 5.0-30@intelNUC   (+ Pi 3 )
CUL 433(a-culfw), CUL 868(SlowRF), Max-Cube MAXLan, Max-Cube CUN geflash, HM-CFG-USB-2 (HMALND)

Offline Kornelius777

  • New Member
  • *
  • Beiträge: 8
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #274 am: 10 Januar 2018, 18:08:46 »
Hallo,

ich brauche bitte gerade mal etwas Hilfe:

Meine Schaltung im Hausanschlussraum sieht folgendermaßen aus:

Gaszähler --> Hallsensor --> Arduino1 --> Arduino2
Arduino1 legt brav (gerade nachgemessen) 5V bzw 0V an PinD7 von Arduino2 an.

Allerdings misst ArduCounter (läuft auf Arduino2) nix.

hier mein Listing:

Internals:
   CounterResetTime 1515603774.14519
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH06NIQN-if00-port0@38400
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH06NIQN-if00-port0@38400
   FD         5
   Initialized 1
   NAME       HAR.ArduCounter
   NOTIFYDEV  global
   NR         24
   NTFY_ORDER 50-HAR.ArduCounter
   PARTIAL   
   STATE      opened
   TYPE       ArduCounter
   VersionFirmware 2.04
   VersionModule 5.7 - 2.1.2018
   buffer     
   Helper:
     DBLOG:
       GasZaehler:
         DBLogging:
           TIME       1515603671.90253
           VALUE      395.8
       GasZaehlerArdu:
         DBLogging:
           TIME       1515603671.90253
           VALUE      39580
       GasZaehlerTicks:
         DBLogging:
           TIME       1515603671.90253
           VALUE      0
       interpolatedLong7:
         DBLogging:
           TIME       1515603671.90253
           VALUE      0
       pin7:
         DBLogging:
           TIME       1515603671.90253
           VALUE      0
       power7:
         DBLogging:
           TIME       1515603671.90253
           VALUE      0.000
       reject7:
         DBLogging:
           TIME       1515603671.90253
           VALUE      0
   READINGS:
     2018-01-10 18:01:11   GasZaehler      395.8
     2018-01-10 18:01:11   GasZaehlerArdu  39580
     2018-01-10 18:01:11   GasZaehlerTicks 0
     2018-01-10 18:01:11   interpolatedLong7 0
     2018-01-10 18:01:11   pin7            0
     2018-01-10 18:01:11   power7          0.000
     2018-01-10 18:01:11   reject7         0
     2018-01-10 17:41:06   state           opened
Attributes:
   DbLogInclude .*
   event-on-update-reading .*
   flashCommand avrdude -b 57600 -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
   interval   60 300
   pinD7      rising
   readingNameLongCount7 GasZaehlerArdu
   room       HAR
   userReadings GasZaehler {ReadingsVal("HAR.ArduCounter","GasZaehlerArdu",0)/100}, GasZaehlerTicks difference {ReadingsVal("HAR.ArduCounter","GasZaehlerArdu",0)}
   userattr   pinD7 readingNameLongCount7

Was mache ich denn bloß falsch?

Vielleicht kann mir mal bitte jemand die Tomaten von den Augen nehmen.

Viele Grüße,

Kornelius

Hier übrigens noch:

M Status: ArduCounter V2.04
normal interval 60000
max interval 300000
min interval 0
min count 0
pin 7 PCInt pin 23, iMode rising, no min len, count 0 (+0) in 109997 ms
Next report in 9982 Milliseconds
pulse history:
pin 7 start -711279 len 8614 at 1 
pin 7 start -702665 len 20624 at 0 
pin 7 start -682041 len 8008 at 1 
pin 7 start -674033 len 19291 at 0 
pin 7 start -654742 len 7886 at 1 
pin 7 start -646856 len 19290 at 0 
pin 7 start -627566 len 7522 at 1 
pin 7 start -620044 len 19655 at 0 
pin 7 start -600389 len 7643 at 1 
pin 7 start -592746 len 20383 at 0 
pin 7 start -572363 len 8493 at 1 
pin 7 start -563870 len 22809 at 0 
pin 7 start -541061 len 9220 at 1 
pin 7 start -531841 len 25235 at 0 
pin 7 start -506606 len 10070 at 1 
pin 7 start -496536 len 28511 at 0 
pin 7 start -468025 len 11526 at 1 
pin 7 start -456499 len 32030 at 0 
pin 7 start -424469 len 12981 at 1 
pin 7 start -736151 len 24872 at 0 
« Letzte Änderung: 10 Januar 2018, 19:03:33 von Kornelius777 »

Offline Kornelius777

  • New Member
  • *
  • Beiträge: 8
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #275 am: 10 Januar 2018, 19:49:32 »
Kann es sein, dass das Attribut “factor“ verpflichtend ist?
Ich habe jetzt factor = 1 gesetzt.
Scheint erstmal zu zählen.

Viele Grüße!

Kornelius

Offline Otto123

  • Hero Member
  • *****
  • Beiträge: 9666
    • Otto's Technik Blog
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #276 am: 10 Januar 2018, 22:19:22 »
Hi Kornelius,

Aus der Doku,
Zitat
factor
Define a multiplicator for calculating the power from the impulse count and the time between the first and the last impulse

Kann sein wenn Du das Attribute löschst, dann Faktor 0  ::)

Ich wiedehole mich:
Zitat
Power liefert die Momentanleistung.
So habe ich mir das mal mit Power für mich verdeutlicht, damit mir klar wird wie ich den factor angeben muss:
Power ist der Wert für die momentane Leistung in Impulsen/h ((delta count) / (delta time) * factor).

Gruß Otto
« Letzte Änderung: 10 Januar 2018, 22:21:19 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi,HMLAN,HMUART,Homematic,Fritz!Box 7490,Sonos,ET9200,Arduino nano,ESP8266

Offline Kornelius777

  • New Member
  • *
  • Beiträge: 8
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #277 am: 10 Januar 2018, 22:23:46 »
Hmpf. Aus meiner Sicht ist dieses Vorgehen suboptimal. Denn: 0 x factor = 0!
Meine Empfehlung:
Setze den default-Wert für factor auf “1“.

Viele Grüße!

Kornelius

Offline Otto123

  • Hero Member
  • *****
  • Beiträge: 9666
    • Otto's Technik Blog
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #278 am: 10 Januar 2018, 22:32:15 »
Der default Wert ist meines Wissens 1000 - wie gesagt wenn Du ihn löschst ...  :-X

Also kann sein die Antwort auf Deine Frage #275 ist Ja.  :D
Viele Grüße aus Leipzig
RaspberryPi,HMLAN,HMUART,Homematic,Fritz!Box 7490,Sonos,ET9200,Arduino nano,ESP8266

Offline StefanStrobel

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 961
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #279 am: 11 Januar 2018, 19:43:31 »
Hallo,

aus dem Modul-Code (Zeile 607):
my $factor = AttrVal($name, "readingFactor$pin", AttrVal($name, "factor", 1000));

wenn das Atribut nicht existiert, wird mit 1000 gerechnet.

Gruss
   Stefan
Informativ Informativ x 1 Liste anzeigen

Offline Nighthawk

  • Full Member
  • ***
  • Beiträge: 115
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #280 am: 12 Januar 2018, 19:54:26 »
HalloStefan,

vielen Dank für die Änderungen, nach längerer Beobachtung funktioniert der Zähler nun tadellos.

Offtopic:
Da ich einen zusätzlichen Wasserzähler mit Reedkontakt verbaut habe und dieser nicht ganz genau so zählt wie der Hauptzähler, bräuchte ich eine Art Offsetfunktion. Der Hauptzähler Zählt ca 2,25% mehr als der Zähler mit dem Reedkontakt, wie könnte ich diesen Offset im FHEM verarbeiten?

Gruß Alex

Offline birdy

  • Full Member
  • ***
  • Beiträge: 178
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #281 am: 12 Januar 2018, 20:14:25 »
Hallo Alex

Versuch es doch mal mit einem User reading in etwa so...

WasserNebenzaehler{ReadingsVal("HAR.ArduCounter","pin7",0)/2.25}

Gruss birdy
FHEM5.8@Debian 8.6@Proxmox VE 5.0-30@intelNUC   (+ Pi 3 )
CUL 433(a-culfw), CUL 868(SlowRF), Max-Cube MAXLan, Max-Cube CUN geflash, HM-CFG-USB-2 (HMALND)

Offline Nighthawk

  • Full Member
  • ***
  • Beiträge: 115
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #282 am: 12 Januar 2018, 20:19:06 »
Das war schnell, danke, werde ich testen.

Offline Kornelius777

  • New Member
  • *
  • Beiträge: 8
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #283 am: 12 Januar 2018, 20:55:20 »
...allerdings eher “* 1.0225“

Offline Nighthawk

  • Full Member
  • ***
  • Beiträge: 115
Antw:Stromzähler mit S0 Schnittstelle nochmals
« Antwort #284 am: 13 Januar 2018, 08:32:58 »
Das war klar ;-)
Funktioniert gut, danke!