Neue Version OWCOUNT

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

Vorheriges Thema - Nächstes Thema

Martin

Hallo heute ein Update gemacht und mit der neuen Version Owcount sieht mein logg so aus.





2014-04-15_18:41:57 Strom_A1 E-Energy: 12.455 kWh E-Power: 0.0000 kW B:   0.0 cts B_rate:  0.00 cts/h
2014-04-15_18:49:57 Strom_A1 E-Energy: 12.4551
2014-04-15_18:49:57 Strom_A1 E-Energy: 12.455 kWh E-Power: 0.0000 kW B:   0.0 cts B_rate:  0.00 cts/h
2014-04-15_18:57:57 Strom_A1 E-Energy: 12.4551
2014-04-15_18:57:57 Strom_A1 E-Energy: 12.455 kWh E-Power: 0.0000 kW B:   0.0 cts B_rate:  0.00 cts/h
2014-04-15_19:05:57 Strom_A1 E-Energy: 12.4551
2014-04-15_19:05:57 Strom_A1 E-Energy: 12.455 kWh E-Power: 0.0000 kW B:   0.0 cts B_rate:  0.00 cts/h



Meine Config
define Strom_A1 OWCOUNT DS2423eold A2D987000002 480
attr Strom_A1 AFactor 0.00266
attr Strom_A1 AMode daily
attr Strom_A1 AName E-Energy|energy
attr Strom_A1 ARate E-Power|power
attr Strom_A1 AUnit kWh|kWh
attr Strom_A1 IODev OW
attr Strom_A1 LogM StromM
attr Strom_A1 LogY StromY
attr Strom_A1 fp_Grundriss 150,700,1,Stromverbrauch
attr Strom_A1 model DS2423eold
attr Strom_A1 nomemory 1
attr Strom_A1 room Strom/Gas
attr Strom_A1 stateFormat { sprintf("%.1f kWh %.3f kWh", ReadingsVal("Strom_A1","E-Energy","kwh"), ReadingsVal("Strom_A1","E-Power","kwh"));; }
#attr Strom_A1 event-on-update-reading E-Energy,E-Power,day,month
#attr Strom_A1 APeriod hour
define FileLog_Strom_A1 FileLog ./log/Strom/Strom-%m-%Y.log Strom_A1.*E-Energy.*
attr FileLog_Strom_A1 room Logsb
define StromM FileLog ./log/Strom-Monat/StromM-%m-%Y.log Strom_A1:day.*
attr StromM archivedir ./log
attr StromM nrarchive 3
attr StromM room Logsb
define StromY FileLog ./log/Strom-Jahr/StromY-%m-%Y.log Strom_A1:month.*
attr StromY room Logsb
define weblink_Strom_A1 SVG FileLog_Strom_A1:count:CURRENT
attr weblink_Strom_A1 room Strom/Gas

Gruß
Martin

ntruchsess

Willst Du uns mit Deinem kommentarlos geposteten Log-auszug mitteilen, dass es bei Dir jetzt geht?

Hab Deine Config mit einem DS2423eold (Dougie-counter) probiert, funzt einwandfrei. Sowohl OWX, als auch OWX_ASYNC, beide male mit einem DS2480 Busmaster.

Gruß,

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

Martin

Hallo nein geht eben nicht wie man am logg sehen kann schreibt er immer E-Power: 0.0000 kw

Wenn es gehen würde dann sieht es so aus.

2014-04-16_11:41:30 Strom_A1 E-Energy: 7.9469
2014-04-16_11:41:30 Strom_A1 E-Energy: 7.947 kWh E-Power: 0.6383 kW B:   0.0 cts B_rate:  0.00 cts/h
2014-04-16_11:49:30 Strom_A1 E-Energy: 8.0347
2014-04-16_11:49:30 Strom_A1 E-Energy: 8.035 kWh E-Power: 0.6585 kW B:   0.0 cts B_rate:  0.00 cts/h
2014-04-16_11:57:30 Strom_A1 E-Energy: 8.1145
2014-04-16_11:57:30 Strom_A1 E-Energy: 8.114 kWh E-Power: 0.5985 kW B:   0.0 cts B_rate:  0.00 cts/h
2014-04-16_12:05:30 Strom_A1 E-Energy: 8.1943
2014-04-16_12:05:30 Strom_A1 E-Energy: 8.194 kWh E-Power: 0.5985 kW B:   0.0 cts B_rate:  0.00 cts/h

Das ist mit der alten Version von Owcount.
Meine Frage was Läuft da schief ???
Gruß
Martin

ntruchsess

#108
Zitat von: Prof. Dr. Peter Henning am 14 April 2014, 21:30:46
@Norbert: Bitte im Moment mal keine neuen Commits für OWCOUNT - habe da ein paar Dinge aufgeräumt und muss erst testen. Außerdem noch einen Fehler in Zeile 762 behoben.

Hallo Peter,

wie schaut's denn mit Deiner Anpassungen im OWCOUNT von letzter Woche aus? Ich habe den asynchronen code aller anderen Devices auf Protothreads umgestellt. Das garantiert die individuelle Nichtunterbrechbarkeit einer Abfolge von 1-Wire Kommandos pro Device und vereinfacht den asynchronen code deutlich. Ich möchte natürlich Konflikte mit Deinen Änderungen schon im Vorfeld möglichst vermeiden...

Gruß,

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

Prof. Dr. Peter Henning

Betraf nur das Aufräumen im Code - und der "vermeintliche" fehler in Zeile 762.. Schicke ich per Mail, denn ich komme für den Rest der Woche kaum noch dazu, daran etwas zu machen.

LG

pah

ntruchsess

Danke, dann arbeite ich das ein, wenn ich es habe. Meine noch 'ungeputzte', aber auf ProtoThreads umgestellte Version ist im OWX asynchron überarbeitet-Thread verlinkt.

Gruß,

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

Bastelbernd

Hallo

da das mit den Y-Logs zum Monatswechsel immer noch nicht richtig geklappt hat, habe ich das mal bei mir so geändert,
alt
    #-- put in monthly and yearly sums
    $dvalue    = sprintf("D%02d ",$day).$dvalue;
    $dvalue    = sprintf($dvalue,$total0,$total1);
    readingsBulkUpdate($hash,"day",$dvalue);
    if ( $monthbreak == 1){
      $mvalue  = sprintf("M%02d ",$month+1).$mvalue;
      $mvalue  = sprintf($mvalue,$total2,$total3);
      readingsBulkUpdate($hash,"month",$mvalue);
    } 

neu
  #-- put in monthly and yearly sums
    $dvalue    = sprintf("D%02d ",$day).$dvalue;
    $dvalue    = sprintf($dvalue,$total0,$total1);
    readingsBulkUpdate($hash,"day",$dvalue);
    if ( $monthbreak == 1){
      $mvalue  = sprintf("M%02d ",$month+1).$mvalue;
      $mvalue  = sprintf($mvalue,$total0,$total2,$total1,$total3);
      readingsBulkUpdate($hash,"month",$mvalue);
    } 

nun klappt das auch mit den  Y-Logs zum Monatswechsel richtig.
2014-05-31_23:58:43 OWX_1D_AAF60D000000 month: M05  Strom_GM: 246.4 kWh Strom_GY: 1305.5 kWh Strom_HM:  13.5 kWh Strom_HY:  89.3 kWh

ich glaube hier ist auch noch ein kleiner Fehler
   if( $daily==1){
      for (my $j=0;$j<int(@year);$j++){
        $total += $year[$j][$i];
      }
    }else{
      $total = $year[int(@year)-1][$i]
        if (int(@year)>0);
    };

da bei daily=0 die Monatswerte immer dazugezählt werden. Habe das beim mir mal so geändert.
   if( $daily==1){
      for (my $j=0;$j<int(@year);$j++){
        $total += $year[$j][$i];
      }
    }else{
      $total = $year[int(@year)-1][$i]
        if (int(@year)==0);
    };


vielleicht kann sich das jemand von den Profis mal ansehen und gegebenfalls ändern.

Gruß Bernd



FHEM auf Server mit Mainboard ASRock J3160B,Gehause Mini ITX E-3002+ SSD
Viessmann(optolink) HM-CFG-USB(HMLAN), PoKeys57E
Jeelik(Arduino)+LaCrosse, Nextion
Firmata+Arduino+1Wire+2xDS2423+IN+OUT
Electrolama zig-a-zig-ah!,Zigbee2MQTT

Martin

Nach Update geht mein Owcount nicht mehr hat sich was geändert ??
meine Config


define Strom_A1 OWCOUNT DS2423eold A2D987000002 480
attr Strom_A1 AFactor 0.00266
attr Strom_A1 AMode daily
attr Strom_A1 AName E-Energy|energy
attr Strom_A1 ARate E-Power|power
attr Strom_A1 AUnit kWh|kWh
attr Strom_A1 IODev OW
attr Strom_A1 LogM StromM
attr Strom_A1 LogY StromY
attr Strom_A1 fp_Grundriss 150,730,1,Stromverbrauch
attr Strom_A1 model DS2423eold
attr Strom_A1 nomemory 1
attr Strom_A1 room Strom/Gas



Gruß
Martin

ntruchsess

Zitat von: Martin am 11 Juli 2014, 17:39:12
Nach Update geht mein Owcount nicht mehr hat sich was geändert ??

Kommt darauf an, von welcher Version du upgradest: Die letzte relevante Änderung am OWCOUNT war am 13.05.2014, der letzte potentiell für OWCOUNT relevante commit am OWX am 30.03.2014, beim OWX_ASYNC am 14.06.2014.

Fehlermeldung, verwendeten Busmaster, OWX, OWSERVER oder OWX_ASYNC usw... dürfen wir jetzt vermutlich raten.

Gruß,

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

Martin

Ok  beim Letzten mal musste ich nur ein Old dahinter hängen im Log steht

2014.07.12 12:32:26 1: OWCOUNT: model attribute of Gas_B1 set to DS2423eold because no memory found
2014.07.12 12:32:27 1: OWCOUNT: model attribute of Strom_A1 set to DS2423eold because no memory found



Gruß
Martin

ntruchsess

das ist keine Fehlermeldung. Die Meldung dient zur Information, dass OWCOUNT beim Initialisieren die DS2423 als emulierte Version (dougie-counter) ohne beschreibbaren Speicher identifiziert hat.

Gruß,

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

Martin

Ok danke habe jetzt mein 21_OWCOUNT.pm aus dem Backup rauskopiert
Und jetzt geht wieder alles lag also am neuen Owcount meins ist glaube ich vom April


Gruß
Martin

marc2

Hallo Norbert,

der dougie-counter läuft bei mir mit OWX_ASYNC ansich wunderbar. Allerdings nur, wenn noch ein weiterer
1w Sensor am Bus hängt (z.B. ein DS18S20). Hängt er allein am Bus wir er nicht erkannt

2016.04.01 00:12:21 5: OWX_ASYNC_Schedule master: OWHAR, task: OWHAR
2016.04.01 00:12:21 2: OWX: 1-Wire devices found on bus OWHAR ()
2016.04.01 00:12:21 4: OWX_ASYNC_RunTasks: OWHAR task exited: OWX: 1-Wire devices found on bus OWHAR


Hängt der DS18S20 mit am Bus, dann klappt es sofort wieder:

2016.04.01 00:13:32 5: OWX_ASYNC_Schedule master: OWHAR, task: OWHAR
2016.04.01 00:13:32 2: OWX: 1-Wire devices found on bus OWHAR (Thermometer_HAR2,gaszaehler)
2016.04.01 00:13:32 4: OWX_ASYNC_RunTasks: OWHAR task exited: OWX: 1-Wire devices found on bus OWHAR
10.20A48C020800      DS18S20/DS1920 Thermometer_HAR2
1D.A2D984000002      DS2423         gaszaehler


Hättest Du eine Idee ?

Danke & Gruß, Marc

Prof. Dr. Peter Henning

Das ist ein Uralt-Thread aus dem Jahr 2014 !

Bitte hier posten. https://forum.fhem.de/index.php/topic,51642.0.html

pah