Einen Dummy über einen Grenzwert schalten

Begonnen von Stargazer, 08 August 2016, 15:33:13

Vorheriges Thema - Nächstes Thema

Stargazer

Hallo zusammen,

ich bin ja derzeit dabei, unsere Energiesparte im Haus etwas zu visualisieren. Ich greife die Energiewerte unserer SMA Webbox mit dem Webbox Modul ab.
Ich wollte jetzt ganz gerne einen Betriebsstatus über einen Dummy darstellen. Nur habe ich das bis jetzt nur über Komponenten gemacht, die An oder Aus, Auf oder Zu, ausgegeben haben. Da war das nicht schwer. Doch jetzt habe ich es nicht so einfach. Ich lasse mir über das state des Webboxmoduls die aktuelle Leistung in Watt anzeigen.
Ich würde es jetzt so machen, dass wenn ein Wert größer 0 anliegt, der Dummy auf AN springt. Nun weiß ich nicht so recht, wie ich diese Zahlenbedingung in ein Notify einbinde.

Oder hat noch jemand eine andere Idee...?

Viele Grüße..

André

DeeSPe

#1
z.B.
define n_webbox_watt notify webbox:state.* {fhem("set DUMMY on") if(Value($NAME) > 0)}
(ungetestet)

Gruß
Dan

EDIT:
Und wenn wieder ausgeschaltet werden soll sobald wieder 0, dann so:
define n_webbox_watt notify webbox:state.* {if(Value($NAME) > 0){fhem("set DUMMY on")} else {fhem("set DUMMY off")}}
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Stargazer

Hallo DeeSPe,

vielen Dank für deine Hilfe. Ich hatte nochmal nachgedacht mit dem "state" Befehl und habe ihn durch das Reading" Gemittelte Leistung" ersetzt.
Sonst geht der Dummy bei ganz wenig Wind an und aus im Wechsel. Über die Gemittelte Leistung kommt das nicht vor. Darum die Änderung.

Ich habe den ersten Code eingegeben. Heraus kam folgende Meldung:

To add a regexp an eventTypes definition is needed


Den zweiten Code hatte ich mal testweise 1:1 übernommen. Da kam die gleiche Meldung.

So eine Meldung hatte ich noch nicht. Wie kann ich das Problem lösen ?


Viele Grüße und besten Dank

André

DeeSPe

Zitat von: Stargazer am 08 August 2016, 16:54:36
Hallo DeeSPe,

vielen Dank für deine Hilfe. Ich hatte nochmal nachgedacht mit dem "state" Befehl und habe ihn durch das Reading" Gemittelte Leistung" ersetzt.
Sonst geht der Dummy bei ganz wenig Wind an und aus im Wechsel. Über die Gemittelte Leistung kommt das nicht vor. Darum die Änderung.

Ich habe den ersten Code eingegeben. Heraus kam folgende Meldung:

To add a regexp an eventTypes definition is needed


Den zweiten Code hatte ich mal testweise 1:1 übernommen. Da kam die gleiche Meldung.

So eine Meldung hatte ich noch nicht. Wie kann ich das Problem lösen ?


Viele Grüße und besten Dank

André

Du musst natürlich "webbox" und "DUMMY" mit den Namen Deiner jeweiligen Geräte ersetzen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Wenn Du ein anderes Reading als state verwenden willst, so muss das natürlich angepasst werden:
define n_webbox_watt notify webbox:READINGNAME.* {if(ReadingsVal($NAME,"READINGNAME",1) > 0){fhem("set DUMMY on")} else {fhem("set DUMMY off")}}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Stargazer

Hi,

ich habe nun hoffentlich alles in der Reihe. Er schreibt mir immer noch den eventType - Text.

So sieht es derzeit aus..

VG

André


DeeSPe

#6
Das wird so nicht funktionieren.
Bei Verwendung eines anderen Readings als state musst du statt "Value($NAME)" "ReadingsVal($NAME,"READINGSNAME",0) nehmen. Die 0 steht für den Default Wert.
Könntest an dieser Stelle auch "$EVTPART1" nehmen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

schka17

Ich verwende für solche Anwendungsfälle das Modul THRESHOLD.


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Stargazer

Hallo,

sooo..ich habe das jetzt wie im Angehangenen Bild definiert. Aber irgendwie fällt der Euro nur Centweise, heute.
Komisch....es würde doch jetzt so Sinn machen, oder ?

Viele Grüße und besten Dank

André

DeeSPe

Naja, so fast!

Setzte bitte Deinen Code in die Code Tags anstatt Bilder hochzuladen. Das macht es für uns einfacher!

Bitte mal genau so 1:1 in die FHEM Eingabezeile.
Das sollte dann wie gewünscht funktionieren.
define n_Windturbine_Gemittelte_Leistung notify Windturbine:Gemittelte_Leistung.* {fhem("set Windanlage_in_Betrieb on") if($EVTPART1 > 0)}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Stargazer

Hi Dan,

hab's gerade so gemacht wie du gesagt hast. Leider immer noch mit der gleichen "To add a regexp an eventTypes definition is needed" - Meldung.

Hier nochmal der Codeausschnitt bis jetzt:

define Windanlage_in_Betrieb dummy
attr Windanlage_in_Betrieb alias Windanlage in Betrieb
attr Windanlage_in_Betrieb devStateIcon An:10px-kreis-gruen Aus:10px-kreis-rot
attr Windanlage_in_Betrieb room Energie
attr Windanlage_in_Betrieb webCmd An:Aus
define n_Windturbine_Gemittelte_Leistung notify Windturbine:Gemittelte_Leistung.* {fhem("set Windanlage_in_Betrieb on") if($EVTPART1 > 0)}


VG

André

DeeSPe

Zitat von: Stargazer am 08 August 2016, 20:01:03
Hi Dan,

hab's gerade so gemacht wie du gesagt hast. Leider immer noch mit der gleichen "To add a regexp an eventTypes definition is needed" - Meldung.

Hier nochmal der Codeausschnitt bis jetzt:

define Windanlage_in_Betrieb dummy
attr Windanlage_in_Betrieb alias Windanlage in Betrieb
attr Windanlage_in_Betrieb devStateIcon An:10px-kreis-gruen Aus:10px-kreis-rot
attr Windanlage_in_Betrieb room Energie
attr Windanlage_in_Betrieb webCmd An:Aus
define n_Windturbine_Gemittelte_Leistung notify Windturbine:Gemittelte_Leistung.* {fhem("set Windanlage_in_Betrieb on") if($EVTPART1 > 0)}


VG

André

Bitte mal ein list von der Windturbine:
list Windturbine

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Stargazer

Hi,

bitte sehr:

Internals:
   DEF        192.168.178.26 http
   INTERVAL   30
   MITTELWERTINTERVAL 300
   NAME       Windturbine
   NR         21
   PORT       80
   PROTOCOL   http
   STATE      OK
   TYPE       SMAWebbox
   URL        192.168.178.26
   Readings:
     2016-08-08 20:04:26   Aktuelle_Leistung 339
     2016-08-08 19:54:51   Device1         WR33-012:2001363730
     2016-08-08 19:54:51   Device2         WR33RP14:2002179742
     2016-08-08 19:54:51   Device3         WR33RP14:2002179848
     2016-08-08 20:04:26   Gemittelte_Leistung 352.4
     2016-08-08 20:04:26   Gesamtenergie   8662.010
     2016-08-08 20:04:26   Tagesenergie    4.141
   Helper:
     MWDATE     1470679196.12535
Attributes:
   group      Energie
   room       Energie
   stateFormat Aktuell: Aktuelle_Leistung Watt, Tagesertrag: Tagesenergie kW/h


Vielen Dank für die großartige Hilfe !!

André

DeeSPe

Hmm, das notify sollte genau so funktionieren.
Erzeugen denn die Readings Events in der Event Konsole? Wenn nicht probier mal:
attr Windturbine event-on-change-reading .*

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Kannst Du in der Deteilansicht des notify oben im "Regexp wizard" das Device und Reading auswählen?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe