Neue Version OWCOUNT

Begonnen von Prof. Dr. Peter Henning, 11 Januar 2014, 08:04:53

Vorheriges Thema - Nächstes Thema

Haecksler

Zitat von: Prof. Dr. Peter Henning am 04 März 2014, 13:40:46
Der "M-Fehler" ist in Version 5.09 ebenfalls behoben. Das mit den fehlenden Werten im B-Kanal kann ich nicht nachvollziehen, denn der wird mit dem A-Kanal gleich behandelt. Muss ggf. noch testen. Dazu wird es aber heute nicht kommen, weil ich heute 7 Stunden Lehre abzuleisten habe und danach in der Regel KO bin.

LG

pah

Kann es sein, dass es nicht am Kanal liegt, sondern im Modus in dem dieser betrieben wird?
Wenn ich es richtig gesehen habe ist nur Kanal B im "daily" Modus.
Ich hatte bei mir das gleich Ergebnis beim MonatsLog, auch bei mir war nur Kanal B im "daily" Modus und hat nichts ins MonatsLog geschrieben.

lg
Stefan

ntruchsess

#46
Hallo Pah,

ich habe OWCOUNT grade für das asynchrone OWX fit gemacht, es wäre nett, wenn Du auch noch mal draufschaust, bevor ich das ins SVN committe. Ich habe selber (noch) keinen echten DS2423, nur einen ATTiny-emulierten und kann deshalb nicht die komplette Bandbreite abtesten.

Was mir aufgefallen ist (schon bevor ich die asynchronen Anteile feingeschliffen habe), das mit den midnight-werten in Files funktioniert noch nicht sauber, weil die Files initial ja erst mal noch nicht da sind:


Use of uninitialized value $strval in pattern match (m//) at ./FHEM/21_OWCOUNT.pm line 1752.
Use of uninitialized value $strval in substitution (s///) at ./FHEM/21_OWCOUNT.pm line 1757.
Use of uninitialized value $data in concatenation (.) or string at ./FHEM/21_OWCOUNT.pm line 1768.
Use of uninitialized value in substr at ./FHEM/21_OWCOUNT.pm line 1135.
Use of uninitialized value $strval in pattern match (m//) at ./FHEM/21_OWCOUNT.pm line 827.
Use of uninitialized value $strval in substitution (s///) at ./FHEM/21_OWCOUNT.pm line 832.
Use of uninitialized value $strval in pattern match (m//) at ./FHEM/21_OWCOUNT.pm line 827.
Use of uninitialized value $strval in substitution (s///) at ./FHEM/21_OWCOUNT.pm line 832.


(Die Zeilennummern beziehen sich auf die oben verlinkte OWCOUNT-version in meinem Github-repository).

Gruß,

Norbert
while (!asleep()) {sheep++};

Prof. Dr. Peter Henning

Hm, ich bin derzeit vollständig ausgebucht, weil ich in der nächsten Woche ein Treffen meines Projektteams in Israel zu koordinieren habe. Kann ich also derzeit nicht vor der übernächsten Woche versprechen.

LG

pah

Martin

Hallo ich lasse mir den Verbrauch momentan und den bisher verbrauchten Strom
Anzeigen mit.
attr Strom_A1 stateFormat { sprintf("%.1f kWh %.3f kWh", ReadingsVal("Strom_A1","E-Energy","kwh"), ReadingsVal("Strom_A1","E-Power","kwh"));; }


Soweit so gut aber wenn ich jetzt ein Update von Fhem mache wird es nicht mehr
Angezeigt ist da was geändert worden??

Gruß
Martin

Alexander Bauer

Hallo Martin,

ist eine gute Frage. Mein Log sieht jetzt so aus:

2014-04-02_13:22:10 H.U.ST.HK Stromverbrauch: 3.443 kWk Stromverbrauch_rate: 0.3480 kWk/h Stromverbrauch2: 5.140 kWk Stromverbrauch2_rate: 0.8760 kWk/h
2014-04-02_13:27:11 H.U.ST.HK Stromverbrauch: 3.473 kWk Stromverbrauch_rate: 0.3588 kWk/h Stromverbrauch2: 5.227 kWk Stromverbrauch2_rate: 1.0405 kWk/h
2014-04-02_19:02:49 H.U.ST.HK Stromverbrauch: 2112.681 kWk Stromverbrauch_rate: 0.0000 kWk/h Stromverbrauch2: 1872.374 kWk Stromverbrauch2_rate: 0.0000 kWk/h
2014-04-02_19:07:49 H.U.ST.HK Stromverbrauch: 2112.697 kWk Stromverbrauch_rate: 0.1920 kWk/h Stromverbrauch2: 5.914 kWk Stromverbrauch2_rate: -21611.0879 kWk/h
2014-04-02_19:07:49 H.U.ST.HK Stromverbrauch: 2112.697 kWk Stromverbrauch_rate: 0.0000 kWk/h Stromverbrauch2: 1872.384 kWk Stromverbrauch2_rate: 0.0000 kWk/h
2014-04-02_19:12:49 H.U.ST.HK Stromverbrauch: 2112.712 kWk Stromverbrauch_rate: 0.1800 kWk/h Stromverbrauch2: 5.924 kWk Stromverbrauch2_rate: -21611.0879 kWk/h
2014-04-02_19:12:49 H.U.ST.HK Stromverbrauch: 2112.712 kWk Stromverbrauch_rate: 0.0000 kWk/h Stromverbrauch2: 1872.394 kWk Stromverbrauch2_rate: 0.0000 kWk/h

Version von OWCOUNT $Id: 21_OWCOUNT.pm 5383 2014-03-31 14:27:23Z ntruchsess $

Die ersten beiden Zeilen waren noch vor dem Update. Danach gab es einen FHEM Neustart und OWX war aus der Konfig verschwunden.
--

Fhem auf Cubietruck mit Debian Wheezy und Homematic und 1-Wire

ntruchsess

#50
Zitat von: Martin am 02 April 2014, 19:22:09
Angezeigt ist da was geändert worden??

hm, meine Änderung vom 31.03.2014 dürfte nach menschlichem Ermessen keine Auswirkungen haben, wenn man das normale (00_OWX.pm) OWX-modul verwendet, da ist nur der Autodetect von 00_OWX_ASYNC.pm drin. Die für OWX_ASYNC überarbeitete Version ist noch nicht im SVN-trunk, sondern nur im meinem Github-repository, ich muss da noch etwas mehr testen.
Die Änderungen von Pah vom 27.03.2014 sind da schon umfangreicher (Unterstützung der unterschiedlichen DS2423-emulationen). Da kann ich auf die Schnelle jetzt aber auch nicht überblicken, ob das mit Deinem stateFormat zusammenspielt, da fehlt mir Deine Definition von E-Power und E-Energy dafür, das sind ja keine originären OWCount-readings.

@Alexander: überprüfe mal, ob die IODevs an den OWX-clients richtig gesetzt sind. Das OWX selbst kann ja nicht so einfach verschwinden, das müsste 'wenigstens' eine Fehlermeldung (auf STDOUT) wenn es nicht compilieren würde, weil z.B. vom Update nicht vollständig geladen, auswerfen. (In dem Fall wäre es zwar nicht in der Config, aber auf der Webconsole verschwunden)
while (!asleep()) {sheep++};

ntruchsess

Zitat von: Prof. Dr. Peter Henning am 02 April 2014, 16:53:30
Hm, ich bin derzeit vollständig ausgebucht
Passt schon, ich habe grade von Tobias einen echten DS2423 gekauft, wenn der da ist, kann ich selber testen.

Muss eh noch das asynchrone DS2480-Busmaster-Modul fertig machen, ist bisher ja nur für FRM im SVN committet.

Gruß,

Norbert
while (!asleep()) {sheep++};

all_finder

Eher eine generelle Frage: wie könnte der Workaround sein, dass der Wert pro Auslesen (z.b. alle 30sec) genullt wird? Möchte den OWCOUNT für einen Windsensor (bereits mit einem DS2423 installiert) verwenden.

Haecksler

 Hallo zusammen,
seit dem Update bekomme ich keine Werte mehr von meinen Countern.
Benutze 2 DS2423eold.
Hat noch jemand Probleme damit?

Gruß,
Stefan

Achim

Hallo,

nach dem Update am 02.04. ging bei mir die Kombination FRM, OWX, OWTHERM und OWCOUNT nicht mehr. Da ich momentan keine Zeit habe mir das genauer anzusehen, habe ich das Backup wieder eingespielt. Bei mir ging aber schon die Kommunikation Arduino mit FRM nicht mehr richtig.
Auch ein Restart des Arduino mit erneutem Neustart von FHEM brachte keine Besserung. Ich poste mal den Inhalt meines Logfiles.
Zitat2014.04.02 21:41:01 3: OWTHERM: Device Heizraum_DS2 defined.
2014.04.02 21:41:02 3: OWCOUNT: Device OWX_Z1 defined.
2014.04.02 21:41:04 1: Including /var/log/fhem/fhem.save
2014.04.02 21:41:05 3: Ardu_Nano1: port 3030 opened
2014.04.02 21:41:05 1: OWX: 1-Wire bus NANO1_D3: interface Firmata detected in Ardu_Nano1
2014.04.02 21:41:06 1: HCS Therme_Steuerung An error occurred while switching device 'Therme_EinAus': Therme_EinAus, Ardu_Nano1 is not connected at /usr/share/fhem/FHEM/10_FRM.pm line 588.

2014.04.02 21:41:06 1: usb create starting
2014.04.02 21:41:09 1: usb create end
2014.04.02 21:41:09 3: myOWServer: Opening connection to OWServer localhost:4304...
2014.04.02 21:41:09 3: myOWServer: Successfully connected to localhost:4304.
2014.04.02 21:41:10 2: SecurityCheck:  telnetPort has no password/globalpassword attribute.  Restart fhem for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2014.04.02 21:41:10 0: Server started with 159 defined entities (version $Id: fhem.pl 5369 2014-03-30 06:58:52Z rudolfkoenig $, os linux, user fhem, pid 25446)
Use of uninitialized value $strval in pattern match (m//) at /usr/share/fhem/FHEM/21_OWCOUNT.pm line 1741.
Use of uninitialized value $strval in substitution (s///) at /usr/share/fhem/FHEM/21_OWCOUNT.pm line 1746.
Use of uninitialized value $data in concatenation (.) or string at /usr/share/fhem/FHEM/21_OWCOUNT.pm line 1757.
Use of uninitialized value in substr at /usr/share/fhem/FHEM/21_OWCOUNT.pm line 1130.
2014.04.02 21:41:12 1: OWCOUNT: model attribute of OWX_Z1 set to DS2423eold because no memory found
2014.04.02 21:41:15 1: OWX: 1-Wire devices found on bus NANO1_D3 ()
2014.04.02 21:41:46 3: set Therme_Steuerung defined : Unknown argument defined, choose one of eco interval mode off on
2014.04.02 21:41:46 3: Therme_Steuerung_at1: Unknown argument defined, choose one of eco interval mode off on
2014.04.02 21:42:06 1: HCS Therme_Steuerung An error occurred while switching device 'Therme_EinAus': Therme_EinAus, Ardu_Nano1 is not connected at /usr/share/fhem/FHEM/10_FRM.pm line 588.

2014.04.02 21:43:06 1: HCS Therme_Steuerung An error occurred while switching device 'Therme_EinAus': Therme_EinAus, Ardu_Nano1 is not connected at /usr/share/fhem/FHEM/10_FRM.pm line 588.

2014.04.02 21:44:06 1: HCS Therme_Steuerung An error occurred while switching device 'Therme_EinAus': Therme_EinAus, Ardu_Nano1 is not connected at /usr/share/fhem/FHEM/10_FRM.pm line 588.

2014.04.02 21:45:06 1: HCS Therme_Steuerung An error occurred while switching device 'Therme_EinAus': Therme_EinAus, Ardu_Nano1 is not connected at /usr/share/fhem/FHEM/10_FRM.pm line 588.

Viele Grüße
Achim
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

ntruchsess

Hallo Achim,

poste doch mal bitte alles relevante zu 'HCS Therme_Steuerung' aus Deiner config. Das versucht ja schon zu schalten, bevor der Arduino sich über das Netzwerk gemeldet hat, das kann in dem Moment gar nicht funktionieren.

Die 'Use of uninitialized value' habe ich mit meinem emulierten DS2423 auch. Zählt dann aber trotzdem (natürlich ohne midnight-werte).

Gruß,

Norbert
while (!asleep()) {sheep++};

Haecksler

Hallo,
Habe auch das Backup eingespielt jetzt geht es wieder.

Gruß,
Haecksler

Achim

Hallo Norbert,

mein Logfile sieht bei "Normalbetrieb" folgendermaßen aus:
Zitat2014.04.04 19:41:58 1: Including /etc/fhem.cfg
2014.04.04 19:42:01 3: WEB: port 8083 opened
2014.04.04 19:42:02 3: WEBphone: port 8084 opened
2014.04.04 19:42:02 3: WEBtablet: port 8085 opened
2014.04.04 19:42:04 3: Opening COC device /dev/ttyAMA0
2014.04.04 19:42:05 3: Setting COC baudrate to 38400
2014.04.04 19:42:05 3: COC device opened
2014.04.04 19:42:05 3: COC: Possible commands: mCFiAZOGMRTVWXefltux
2014.04.04 19:42:05 3: telnetPort: port 7072 opened
2014.04.04 19:42:12 3: OWTHERM: Device Heizraum_DS2 defined.
2014.04.04 19:42:13 3: OWCOUNT: Device OWX_Z1 defined.
2014.04.04 19:42:16 1: Including /var/log/fhem/fhem.save
2014.04.04 19:42:17 3: Ardu_Nano1: port 3030 opened
2014.04.04 19:42:17 1: OWX: 1-Wire bus NANO1_D3: interface Firmata detected in Ardu_Nano1
2014.04.04 19:42:18 1: HCS Therme_Steuerung An error occurred while switching device 'Therme_EinAus': Therme_EinAus, Ardu_Nano1 is not connected at /usr/share/fhem/FHEM/10_FRM.pm line 588.

2014.04.04 19:42:18 1: usb create starting
2014.04.04 19:42:21 1: usb create end
2014.04.04 19:42:21 3: myOWServer: Opening connection to OWServer localhost:4304...
2014.04.04 19:42:21 3: myOWServer: Successfully connected to localhost:4304.
2014.04.04 19:42:22 0: Server started with 159 defined entities (version $Id: fhem.pl 5369 2014-03-30 06:58:52Z rudolfkoenig $, os linux, user fhem, pid 29716)
2014.04.04 19:42:29 3: querying Firmata Firmware Version
2014.04.04 19:42:29 3: Firmata Firmware Version: Eth1.ino V_2_05
2014.04.04 19:42:29 3: received String_data: Unhandled sysex command
2014.04.04 19:42:31 3: Therme_Steuerung_Set2 return value: Unknown argument $EVTPART1, choose one of eco interval mode off on
2014.04.04 19:42:32 3: received String_data: Unhandled sysex command
2014.04.04 19:42:32 1: HCS Therme_Steuerung monitoring of devices started
2014.04.04 19:42:35 1: OWCOUNT: model attribute of OWX_Z1 set to DS2423eold because no memory found
2014.04.04 19:42:38 1: OWX: 1-Wire devices found on bus NANO1_D3 (Heizraum_DS2,OWX_Z1)
2014.04.04 19:42:41 1: OWX: 1-Wire devices found on bus NANO1_D3 (Heizraum_DS2,OWX_Z1)
2014.04.04 19:42:58 1: HCS Therme_Steuerung monitoring of devices started

der Auszug aus der fhem.cfg
Zitatdefine Ardu_Nano1 FRM 3030 global
attr Ardu_Nano1 room FRM_Nano

define Heizung_Hauptschalter FRM_IN 14
attr Heizung_Hauptschalter IODev Ardu_Nano1
attr Heizung_Hauptschalter room FRM_Nano
attr Heizung_Hauptschalter stateFormat reading

define NANO1_D3 OWX 3
attr NANO1_D3 IODev Ardu_Nano1
attr NANO1_D3 room FRM_Nano

define Heizraum_DS2 OWTHERM DS18B20 F0EBCA040000 60
attr Heizraum_DS2 IODev NANO1_D3
attr Heizraum_DS2 model DS1822
attr Heizraum_DS2 resolution 12
attr Heizraum_DS2 room FRM_Nano,Temperaturen
attr Heizraum_DS2 tempHigh 75
attr Heizraum_DS2 tempLow 70

define FileLog_Heizraum_DS2 FileLog /var/log/fhem/Heizraum_DS2-%Y.log Heizraum_DS2:temperature:\s*-{0,1}\d+[\.\d]*$
attr FileLog_Heizraum_DS2 logtype temp4,text
attr FileLog_Heizraum_DS2 room FRM_Nano,Temperaturen

define SVG_UG_Heizraum_DS2 SVG FileLog_Heizraum_DS2:temp4:CURRENT
attr SVG_UG_Heizraum_DS2 label "Heizraum Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr SVG_UG_Heizraum_DS2 room FRM_Nano

define OWX_Z1 OWCOUNT DS2423eold A2D988000002 60
attr OWX_Z1 AFactor 0.01
attr OWX_Z1 AMode daily
attr OWX_Z1 AName Gas|volume
attr OWX_Z1 AOffset 164403.0
attr OWX_Z1 ARate hour
attr OWX_Z1 AUnit Kubikmeter|m³
attr OWX_Z1 IODev NANO1_D3
attr OWX_Z1 LogM FileLog_Gasverbrauch_Monat
attr OWX_Z1 LogY FileLog_Gasverbrauch_Jahr
attr OWX_Z1 nomemory 1
attr OWX_Z1 room FRM_Nano

define FileLog_Gasverbrauch_Tag FileLog /var/log/fhem/Gasverbrauch_Tag-%Y-%m.log OWX_Z1.*m³.*
attr FileLog_Gasverbrauch_Tag room FRM_Nano

define FileLog_Gasverbrauch_Monat FileLog /var/log/fhem/Gasverbrauch_Monat-%Y-%m.log OWX_Z1:*day.*
attr FileLog_Gasverbrauch_Monat room FRM_Nano

define FileLog_Gasverbrauch_Jahr FileLog /var/log/fhem/Gasverbrauch_Jahr-%Y.log OWX_Z1:*month.*
attr FileLog_Gasverbrauch_Jahr room FRM_Nano

define SVG_UG_Gas SVG FileLog_Gasverbrauch_Tag:gasg4gasa6:CURRENT
attr SVG_UG_Gas label "Gasverbrauch Min $data{min2}, Max $data{max2}, Gesamt $data{max1}"
attr SVG_UG_Gas room FRM_Nano

define Therme_Steuerung HCS Therme_EinAus
attr Therme_Steuerung deviceCmdOff on
attr Therme_Steuerung deviceCmdOn off
attr Therme_Steuerung event-on-change-reading state,devicestate,eco,overdrive,Heizung_Ein,Heizung_Aus
attr Therme_Steuerung fp_EG 87,1040,1,Therme Steuerung
attr Therme_Steuerung idleperiod 10
attr Therme_Steuerung interval 1
attr Therme_Steuerung loglevel 4
attr Therme_Steuerung mode thermostat
attr Therme_Steuerung room FHT
attr Therme_Steuerung sensor Aussenfuehler1
attr Therme_Steuerung sensorReading temperature
attr Therme_Steuerung sensorThresholdOff 19
attr Therme_Steuerung sensorThresholdOn -20
attr Therme_Steuerung thermostatThresholdOff 0.2
attr Therme_Steuerung thermostatThresholdOn 0.2
attr Therme_Steuerung valveThresholdOff 40
attr Therme_Steuerung valveThresholdOn 35

define Therme_Steuerunglog FileLog /var/log/fhem/Therme_Steuerung-%Y-%m.log Therme_Steuerung

define Therme_Steuerungslog_at1 at *23:59 {addLog("Therme_Steuerung","devicestate")}
define Therme_Steuerungslog_at2 at *00:01 {addLog("Therme_Steuerung","devicestate")}

define SVG_W_Therme_Steuerung SVG Therme_Steuerunglog:therme:CURRENT
attr SVG_W_Therme_Steuerung label "Therme_Ein/Aus Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr SVG_W_Therme_Steuerung room FHT

# definiertes Ein/Ausschalten der Therme_Steuerung nach einem Neustart aufgrund des Heizungs Hauptschalters
define Therme_Steuerung_Set1 notify global:INITIALIZED define Therme_Steuerung_at1 at +00:00:40 {fhem ("set Therme_Steuerung ".Value("Heizung_Hauptschalter"))}

# Ein/Ausschalten der Themesteuerung aufgrund des Heizungs Hauptschalters
define Therme_Steuerung_Set2 notify Heizung_Hauptschalter set Therme_Steuerung $EVTPART1

Der HCS Error mit FRM und der Error mit dem EVTPART1 kommt wohl daher, das zu der Ausführungszeit die Firmataverbindung noch nicht aktiv ist und daher die Eingänge noch keine Werte haben.

Viele Grüße
Achim
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

ntruchsess

ja, das sehe ich genauso. Das ist mit dem OWX in deinem Logfile vom 02.04 auch so, da läuft das OWX los und macht seinen Device-scan bevor der Arduino verbunden hat. Das ist im synchronen OWX aber eigentlich schon immer so, das läuft nach dem Initialisieren nach 10 Sekunden per InternalTimer los und macht den DeviceScan.

Wenn FRM dann betriebsbereit ist, findet es dazugehörige OWX, configuriert die 1-Wire-pins und ruft dann OWX_Discover (noch mal) auf. Ab da sollte dann alles passen.
Keine Ahnung, warum sich Dein Arduino nicht beim FRM gemeldet hat. Hört das Log vom 02.04. denn da einfach auf?

Gruß,

Norbert
while (!asleep()) {sheep++};

Dennis_S

Hallo,
nach dem letzten Update habe ich auch mit dem OWCOUNT Probleme.
Es tauche folgende Einträge im Log auf:
2014-04-05_12:10:36 OWC Gasverbrauch: 1001.49
2014-04-05_12:10:36 OWC Gasverbrauch_rate: 1.08
2014-04-05_12:10:36 OWC B: 1
2014-04-05_12:10:36 OWC B_rate: 0
2014-04-05_12:10:36 OWC Gasverbrauch: 1001.490 m3 Gasverbrauch_rate: 1.0800 m3/h B:   1.0 cts B_rate:  0.00 cts/h
2014-04-05_12:10:36 OWC Gasverbrauch: 1001.49
2014-04-05_12:10:36 OWC Gasverbrauch_rate: 0
2014-04-05_12:10:36 OWC B: 1
2014-04-05_12:10:36 OWC B_rate: 0
2014-04-05_12:10:36 OWC Gasverbrauch: 1001.490 m3 Gasverbrauch_rate: 0.0000 m3/h B:   1.0 cts B_rate:  0.00 cts/h
---------
Es sieht so aus, als ob da was doppelt ausgeführt wird. Im ersten Durchlauf wird alles korrekt gerechnet, und im zweiten dann die Differenz zu dem Aufruf direkt davor,...

Fehlt da eine Konfigurationseinstellung?

Grüße

Dennis