Bitte um Hilfestellung bei Syntax (Abfragen Counter in Modul)

Begonnen von backbone10, 04 Februar 2014, 10:26:11

Vorheriges Thema - Nächstes Thema

backbone10

Hi,
vielleicht mag mir bitte wer bei meinem Problem helfen, ich schaffs scheinbar alleine nicht weiter.

Ich hab die Module GPIO und HOURCOUNTER laufen, funktioniert soweit.
Jetzt wollte ich das ganze um ein paar punkte erweitern, komm aber seite Tagen nicht weiter

Kurz die PIN Definitionen

define PIN 13 GPIO_27   
define PIN 15 GPIO_22   
define PIN 18 GPIO_24   
define PIN 22 GPIO_25   

Mit Pin 18 und 22 überwache ich die Laufzeiten und brauche bei Überschreitung von Schwellwerten einen Ausgang auf Pin22 (high)

Die Counter heissen
devName:CN.PUMPE; pulseTimeIncrement
devName:CN.BRENNER;pulseTimeIncrement
und zählen die Einschaltdauer in Sekunden. Ich brauch eine Alarmierung bei Überschreitung der Laufzeit der Pumpe von 900 sec und einer Unterschreitung von 300 sekunden (gleicher Alarm)

Damit ich den Alarm quittieren kann möchte ich gerne den Raspi mit shutdown ans Betriebsystem komplett niederfahren (Abfrage eines Tasters / GPIO) und dann mit Power off/on wieder starten. Die Abfrage für Shutdown möchte ich über einen Taster an PIN 13 realisieren.

Ich hab probiert den (Alarm) Timer mit userreadings zu machen, bin aber gescheitert.
Meine Frage nun :
Ist das der ideale Weg ?, wenn ja, vielleicht mag mir jemand bei der Syntax helfen

danke

bb10

backbone10

Hi,
ich hab das mit notify & usereading probiert, hab es aber nicht hingekriegt. Ich weiss nicht, wie man die Bedingung mit ins notify reinnimmt. CN.PUMPE pulseTimeIncrement: grösser 900 und CN.PUMPE value=1    dann soll Pin22:on  gehen
und                     CN.BRENNER pulseTimeIncrement: kleiner 700 und CN.Brenner value=0    dann soll Pin22:on  gehen.

Vielleicht kann doch jemand noch was dazu sagen :)

danke

bb10



2014-01-23_23:36:24 CN.PUMPE value: 1
2014-01-23_23:36:24 CN.PUMPE 1
2014-01-25_09:39:31 CN.PUMPE countsOverall: 1
2014-01-25_09:39:31 CN.PUMPE pulseTimeIncrement: 122587  xxxxxxxxxxxxxxxxxxxxxxx
2014-01-25_09:39:31 CN.PUMPE pulseTimePerDay: 122587
2014-01-25_09:39:31 CN.PUMPE pulseTimeOverall: 122587
2014-01-25_09:39:31 CN.PUMPE pauseTimeIncrement: 2531
2014-01-25_09:39:31 CN.PUMPE pauseTimeOverall: 2531
2014-01-25_09:39:31 CN.PUMPE value: 1
2014-01-25_09:39:31 CN.PUMPE tickHour: 1
2014-01-25_09:39:31 CN.PUMPE tickDay: 1
2014-01-25_09:39:31 CN.PUMPE countsPerDay: 0

CN.Pumpe   value:   1



John

Hi bb10,
ich hätte das hier ums Haar übersehen.

HourCounter hat ja noch keinen offiziellen Status, daher solltest du direkt in den initialen Post deine Fragen reinstellen.
http://forum.fhem.de/index.php/topic,12216.msg72596.html#msg72596

Kannst du bitte das Define deines HourCounters posten, dann sehen wir weiter.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

John

ich hab mal folgendes getestet:

define Test.Event notify CN.Test:pulseTimeIncrement.* {my $val=%EVTPART1;; Log(3," value out range with name:%NAME attribute:%EVTPART0 value:%EVTPART1") if ($val > 10|| $val <5);;}

Wenn du Pulsdauer <5 Sekunden oder > 10 Sekunden ist, dann wird in der Log-Datei eine Meldung ausgegeben.
Mein Counter heisst CN.Test.


liefert in der Log-Datei
Zitat2014.02.08 17:59:41 3:  value out range with name:CN.Test attribute:pulseTimeIncrement: value:3


John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

backbone10

Hi,
danke für die Antwor!. Werde es noch heute ausprobieren und berichten

anbei noch die Definitionen

#Heizung BRENNER
define CN.BRENNER HourCounter Pin18:off Pin18:on
attr CN.BRENNER room KE.HEIZUNG
define SHUTTER.BRENNER.event notify SHUTTER.BRENNER:onoff.*  { CounterNotify("%NAME","%EVTPART0","%EVTPART1");;}
define FileLog_SHUTTER.BRENNER FileLog ./log/SHUTTER.BRENNER-%Y.log (CN\.BRENNER:.*)
attr FileLog_SHUTTER.BRENNER room KE.HEIZUNG
attr FileLog_SHUTTER.BRENNER verbose 3
define SVG_FileLog_SHUTTER.BRENNER SVG FileLog_SHUTTER.BRENNER:SVG_FileLog_SHUTTER.BRENNER:CURRENT
attr SVG_FileLog_SHUTTER.BRENNER room KE.HEIZUNG



und


# Regenwasser PUMPE

define CN.PUMPE HourCounter Pin15:on Pin15:off
attr CN.PUMPE room KE.HEIZUNG
attr CN.PUMPE verbose 5
define SHUTTER.PUMPE.event notify SHUTTER.PUMPE:onoff.*  { CounterNotify("%NAME","%EVTPART0","%EVTPART1");;}
attr SHUTTER.PUMPE.event room KE.HEIZUNG
define FileLog_SHUTTER.PUMPE FileLog ./log/SHUTTER.PUMPE-%Y.log (CN\.PUMPE:.*)
attr FileLog_SHUTTER.PUMPE room KE.HEIZUNG
attr FileLog_SHUTTER.PUMPE verbose 3
define SVG_FileLog_SHUTTER.PUMPE SVG FileLog_SHUTTER.PUMPE:SVG_FileLog_SHUTTER.PUMPE:CURRENT
attr SVG_FileLog_SHUTTER.PUMPE room KE.HEIZUNG

Danke nochmal

mfg

bb10

Puschel74

Hallo,

wenn du bitte über den Smylies das Raute-Symbol für Code und das "Brief-Symbol" für Zitate verwenden könntest wäre es einfacher zwischen Text und Code zu unterscheiden.
Danke.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

John

Hallo bb10,

du verwendest noch Teile des alten Skriptes.

Zitatdefine SHUTTER.BRENNER.event notify SHUTTER.BRENNER:onoff.*  { CounterNotify("%NAME","%EVTPART0","%EVTPART1");;}

CounterNotify ist nicht mehr nötig, da das HourCounter-Modul dieses nicht mehr braucht.
Du solltest das alte Skript  99_UtilsMaxCounter komplett löschen.

Alle Informationen befinden sich in der Hourcounter-Instanz.
Bitte lies dir nochmal das Wiki durch.

John


CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

backbone10

Hi John,
Danke nochmal, schaut so aus als hätte ich es richtig gemacht.
Der Wiki Beitrag ist zwar echt gut gemacht, ich habs aber trotzdem geschafft Wesentliches zu überlesen.
Auf jeden Fall werde beim nächsten Mal richtig posten :)

mfg

bb10