Neues Modul EMONITOR - EnergieMonitor

Begonnen von Elektrolurch, 06 Dezember 2014, 17:11:34

Vorheriges Thema - Nächstes Thema

Elektrolurch

Hallo Markus,

dass hatte ich nämlich jetzt am Schluß auch im Sinn: Die beiden Zähler auf zwei readingsProxies aufteilen, dabei kann man das "power-Herd" und das "power-Kuehlschrank"  event jeweils in "power" umwandeln  (bzw. den Verbrauchsstand "energy") und das an EM weiterreichen. Dort brauche ich nämlich dann auch nichts mehr anpassen, außer den Typ readingsProxy noch mit aufzunehmen. Andere Änderungen in EM diesbezüglich (so Namen aus dem power.* - Event generieren), wären ein ziemliches, und dann doch spezielles Herumgefrickel.

Mal Frage "Offtopic":
Zitat: das sind 1 wire DS2523 module ich verwende das OWCOUNT modul 

1. Kann man die in den Sicherungskasten einbauen? Hutschiene?
2. Ich habe da im Keller in der Nähe einen CUNO, der hat angeblich auch einen 1Wire - Anschluß. Könnte ich den verwenden und was brauche ich da für Kabel?
3. Hast Du eine Bezugsquelle?

Danke.
Elektrolurch

configDB und Windows befreite Zone!

Elektrolurch

Hallo,

habe die neue Version vom EMONITOR in Beitrag 1 eingefügt und dort auch die Neuerungen / Änderungen und Ergänzungen dokumentiert.
Achtung! Unbedingt den letzten Abschnitt "Migration" beachten, da sich der Typ des Moduls von EM auf EMONITOR geändert hat.

Elektrolurch
configDB und Windows befreite Zone!

P.A.Trick

#47
Zitat von: Elektrolurch am 01 Februar 2015, 11:54:48
Hallo,

habe die neue Version vom EMONITOR in Beitrag 1 eingefügt und dort auch die Neuerungen / Änderungen und Ergänzungen dokumentiert.
Achtung! Unbedingt den letzten Abschnitt "Migration" beachten, da sich der Typ des Moduls von EM auf EMONITOR geändert hat.

Elektrolurch

Ich habe es wie beschrieben durchgeführt. Nach dem Fhem Restart habe ich folgende Meldung bekommen:

Error messages while initializing FHEM:
configfile: EMONITOR_Attr: room must at least one of:


Im Fhem Log meckert auch noch die RG:

2015.02.01 12:06:08.423 3: EM_rg: <{EM_subtitle(0);}>: Undefined subroutine &main::EM_subtitle called at (eval 337) line 1.

2015.02.01 12:06:08.424 3: EM_rg: <{EM_alias("DG.JZ.Deckenleuchte",1);}>: Undefined subroutine &main::EM_alias called at (eval 338) line 1.

2015.02.01 12:06:08.432 3: EM_rg: <{EM_alias("EG.GT.Aussenleuchte",1);}>: Undefined subroutine &main::EM_alias called at (eval 339) line 1.

2015.02.01 12:06:08.438 3: EM_rg: <{EM_alias("EG.Kueche.Kuehlschrank",1);}>: Undefined subroutine &main::EM_alias called at (eval 340) line 1.

2015.02.01 12:06:08.444 3: EM_rg: <{EM_alias("UG.AZ.PC",1);}>: Undefined subroutine &main::EM_alias called at (eval 341) line 1.

2015.02.01 12:06:08.452 3: EM_rg: <{EM_alias("UG.Keller.Kuehlschrank",1);}>: Undefined subroutine &main::EM_alias called at (eval 342) line 1.

2015.02.01 12:06:08.458 3: EM_rg: <{EM_alias("UG.Teststeckdose",1);}>: Undefined subroutine &main::EM_alias called at (eval 343) line 1.

2015.02.01 12:06:08.464 3: EM_rg: <{EM_alias("UG.WK.SchalterWaschmaschine",1);}>: Undefined subroutine &main::EM_alias called at (eval 344) line 1.

Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Markus

ReadingsProxy kante ich noch nicht, werde ich mir mal genauer anschauen. Danke

1. Kann man die in den Sicherungskasten einbauen? Hutschiene?

In den  Sicherungskasten werden I0 Zähler eingebaut Ich hab diese von ebay
http://www.ebay.at/itm/151506051137?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
http://www.ebay.at/itm/151419085123?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
mit 1 wire DS2423 greife ich nur das signal ab gibt es aber auch als selberbau viel billiger
http://www.eservice-online.de/1-Wire-Bus/Digital-Ein-und-Ausgang-Analog-Eingang-Zaehler/1-Wire-Dual-S0-Zaehlermodul.html
2. Ich habe da im Keller in der Nähe einen CUNO, der hat angeblich auch einen 1Wire - Anschluß. Könnte ich den verwenden und was brauche ich da für Kabel?

Nein CUNO kann nur Temperatur da gibt es kein FHEM Modul soweit ich das weis
Ich verwende einen USB adapter an meinem Raspberry
http://www.ebay.at/itm/171041719472?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

Ich verwende normales Telefon Kabel Funktioniert super.
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

P.A.Trick

Mir ist noch aufgefallen, dass Homematic Geräte die auf "ignore = 1" stehen, dennoch im EMontor auftauchen.
@Elektrolurch: Kannst du die bitte ignorieren wie das "disable = 1" Attribut bei den FS20 und anderen Geräten?

Danke im Voraus!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Elektrolurch

Zitat:
Mir ist noch aufgefallen, dass Homematic Geräte die auf "ignore = 1" stehen, dennoch im EMontor auftauchen.
@Elektrolurch: Kannst du die bitte ignorieren wie das "disable = 1" Attribut bei den FS20 und anderen Geräten?


Habe ich in die toDo - Liste für die nächste Version aufgenommen.
Gerade  Beitrag #1 und Anhang aktualisiert.

configDB und Windows befreite Zone!

Tobias

HI,
die HM-LC-SW1PBU-FM haben ein Reading "current". Kannst du das als Standard mit aufnehmen??
Internals:
   .triggerUsed 1
   CFGFN
   DEF        2FB7A904
   NAME       SW_Licht_Bad_Sw_02
   NR         1253
   STATE      off
   TYPE       CUL_HM
   chanNo     04
   device     SW_Licht_Bad
   CHANGETIME:
   Readings:
     2015-01-27 19:27:40   CommandAccepted yes
     2015-01-29 07:09:38   RegL_01:          82:00 83:00 84:00 85:00 86:00 87:00 88:00 89:00  8A:00 8B:00 8C:00 00:00
     2015-02-01 14:37:40   current         0
     2015-02-01 07:42:16   deviceMsg       off (to CUL_HM)
     2015-02-01 07:42:16   level           0 %
     2015-02-01 07:42:16   pct             0
     2015-02-01 07:42:16   recentStateType info
     2015-02-01 07:42:16   state           off
     2015-02-01 07:42:16   timedOn         off
   Helper:
     dlvl       00
     dlvlCmd    ++A011F120052FB7A90204000000
     peerIDsRaw ,00000000
     Role:
       chn        1
       prs        1
     Shadowreg:
Attributes:
   model      HM-LC-Sw1PBU-FM-CustomFW
   peerIDs    00000000,
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Elektrolurch

Hallo,

   TYPE       CUL_HM

ist ja schon mit "energy" belegt.
Subtypen habe ich in EMONITOR derzeit nicht vorgesehen, da ich auch den ganzen Zoo nicht kenne.
Was soll "current" denn überhaupt sein? Strom?
Wenn ja, dann musst Du den erst ja in einen Verbrauchswert umrechnen, -> dummy oder readingsProxy.

Gruß

Elektrolurch
configDB und Windows befreite Zone!

Prof. Dr. Peter Henning

CUNO mit 1-Wire DS2413 geht, ist aber fragil wegen der geringen Performance des CUNO. Wenn nur ein Counter dranhängt, sollte das allerdings kaum ins Gewicht fallen.

LG

pah

Markus

Ich versuche mich jetzt schon seit Sunden mit readingsProxy aber komme nicht weiter
den wert bekomme ich nur als state und STATE angezeigt
ich versuche jetzt den wert über userReadings in ein reading zu kopieren aber das klappt nicht
oder könte das readingsProxy das schon von haus aus ich kapiere auch die doku zu wenig sorry

define Kuhlschrank readingsProxy Zahler_Kuche:Energie-Kuhlschrank
attr Kuhlschrank room Energie
attr Kuhlschrank userReadings energie:state {ReadingsVal($name,"state",0)}
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Elektrolurch

Hallo,

Zitat:
define Kuhlschrank readingsProxy Zahler_Kuche:Energie-Kuhlschrank
attr Kuhlschrank room Energie
# attr Kuhlschrank userReadings energie:state {ReadingsVal($name,"state",0)}
Das letzte brauchst Du nicht.

Ich habe zwar auch noch nichts produktives mit readingsProxy gemacht, aber sowei wie ich das verstehe, gibt es ja da zwei Funktionen zum Übersetzen eines set-Befehls (quasi Ausgang) und des Eingangs, sprich von Deinem
  Energie-Kuhlschrank
=> energy
bzw
power-Kuhlschrank nach power

attr Kuhlschrank  valueFn {'power '.$VALUE}

Damit müsste der state auf "power Wert" gehen und wenn sich das Teil wie ein dummy verhält, den reading "power" schreiben und damit auch das entsprechende event generieren.

Ob man damit auch zwei readings in einem readingsProxy übersetzen kann, weiß ich nicht.
define <name> readingsProxy <device>:<reading>
<reading> hierfür müsste dann auch eine regex zulässig sein (...:Energie-Kuhlschrank|power-Kuhlschrank)

und in valueFN müsste man dann auf $READING testen und je nach dem "power + Wert" oder "energy + Wert" zurückliefern.
Zitat:
Makes (a subset of) a reading from one device available as a new device.
This can be used to map channels from 1-Wire, EnOcean or SWAP devices to independend devices that can have state,icons and webCmd different from the parent device and can be used in a floorplan.

Hier wird von "subset" gesprochen, also mehreren readings, zumindest liest es sich so. Beispiel fehlt aber.


Ich habe das aber auch nicht ausprobiert, kann mir es nur so zusammenreimen, denn leider ist die 'CommandRef da wirklich wenig aufschlußreich.
Und im Forum habe ich da auch noch nichts gefunden, was mich da "erhellt" hätte.


Sorry.

Elektrolurch
configDB und Windows befreite Zone!

Markus

Danke Professor jetzt hab ich wieder was Gelernt

das Funktioniert leider nicht
attr Kuhlschrank  valueFn {'power '.$VALUE}
es steht dann im state und STATE immer power und der wert also sowas: power 0.1631

mit userreadings komme ich auch nicht weiter die reagieren weder im dummy noch im readingsProxy auf state oder STATE
und in ein anderes device zu schreiben klappt auch nicht


attr Kuhlschrank userReadings energie:Energy-Kuhlschrank { ReadingsVal("Kuhlschrank","Energy-Kuhlschrank",0) ? ReadingsVal("Kuhlschrank","Energy-Kuhlschrank","") : "" }


zitat von Boris:
attr e.ext.GDS userReadings currentMsg:(a_event|a_valid) { ReadingsVal("e.ext.GDS","a_valid",0) ? ReadingsVal("e.ext.GDS","a_event","") : "" }

Da wird ein userReading "currentMsg" für das Device e.ext.GDS angelegt.
Dieses wird immer dann aktualisiert, wenn sich das Reading a_event oder a_valid des
Device e.ext.GDS ändert.
Wenn die Änderung getriggert wird, wird geprüft, ob das Reading a_valid ungleich 0 ist.
Falls JA wird der Inhalt von a_event in das userReading currentMsg übertragen.
Fall NEIN wird der Inhalt von currentMsg gelöscht.

Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Elektrolurch

Version 1.1 vom 2.2.2015 in Beitrag 1 hochgeladen.
Bugfix: Man konnte Attribute, die eine Werteliste hatten, nach der Umstellung des 'Typs auf EMONITOR nicht mehr setzen. Insbesondere "verbose" ging nicht mehr.

Added: ignore von devices wird jetzt auch berücksichtigt, so wie disable, d.h. deren Verbrauchswerte (Events) werden von EM ignoriert.
configDB und Windows befreite Zone!

P.A.Trick

Zitat von: Elektrolurch am 02 Februar 2015, 10:55:44
Version 1.1 vom 2.2.2015 in Beitrag 1 hochgeladen.
Bugfix: Man konnte Attribute, die eine Werteliste hatten, nach der Umstellung des 'Typs auf EMONITOR nicht mehr setzen. Insbesondere "verbose" ging nicht mehr.

Added: ignore von devices wird jetzt auch berücksichtigt, so wie disable, d.h. deren Verbrauchswerte (Events) werden von EM ignoriert.

Hm ich habe meine RG gelöscht, aber die HM Channels erscheinen dennoch von ignorierten Devices (siehe Anhang)!

Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Elektrolurch

Zitat:

es steht dann im state und STATE immer power und der wert also sowas: power 0.1631


Irgendwas habe ich da mal gelesen, dass das bei einem dummy nur dann in ein reading und nicht in den state geschrieben wird, wenn das reading auch schon existiert.

Mach also mal:
setreading Kuehschrank power 5

Für das generierte notify sollte das aber auch egal sein...

Elektrolurch
configDB und Windows befreite Zone!