notify zur Übergabe der desired-temp verwenden

Begonnen von 13alerion, 15 Dezember 2014, 15:01:41

Vorheriges Thema - Nächstes Thema

13alerion

Hallo erstmal,
mein Name ist Fabian, ich studiere Elektrotechnik an der Bremer Uni und bin in einem Projekt auf das RBPi gestoßen. Da das Projekt eine Menge Spaß gemacht hat, wollte ich versuchen mir eine Heizungssteuerung zu basteln. Bin da vermutlich falsch herum ran gegangen und habe mir erstmal FHT8V Ventilstellantriebe und HM-TC-IT-WM-W-EU Wandthermostate gekauft. Als Funksender/-empfänger habe ich 2 SCC868 in Betrieb. Derzeit ist Stand der Dinge: ich habe einen PID20 in Betrieb der aus der gemessenen Temperatur der Wandthermostate und einer (im Moment manuell eingegebenen) Temperatur eine Reglerstellung ermittelt. Meine Idee war jetzt, das ganze um ein Notify zu erweitern, der bei einer Änderung der "desired-temp" des Wandthermostats diese Änderung an den PID weitergibt. Das will aber einfach nichts werden. Daher hier meine Frage: Was mache ich falsch?

define Des_Temp_buero notify CUL_HM_HM_TC_IT_WM_W_EU_32191D:desired-temp set PID_buero desired $EVENT
attr Des_Temp_buero addStateEvent 0
attr Des_Temp_buero forwardReturnValue 1
attr Des_Temp_buero room Heizung
attr Des_Temp_buero showTriggerTime 1

Das ist mein Code in der fhem.cfg zum Notify. Event Monitor bleibt bei Änderungen immer leer, daher habe ich versucht aus dem Log schlau zu werden. Das sind, denke ich die Zeilen im Log, bei denen es um die Übernahme der Änderung der Wunschtemperatur vom Thermostat zu FHEM geht:
2014.12.15 14:31:33 5: Triggering CUL_HM_HM_TC_IT_WM_W_EU_32191D (3 changes)
2014.12.15 14:31:33 5: Notify loop for CUL_HM_HM_TC_IT_WM_W_EU_32191D measured-temp: 26.0
2014.12.15 14:31:33 4: PID20 PID_buero: Notify.212 check 3 readings for measured-temp
2014.12.15 14:31:33 5: PID20 PID_buero: Notify.220 check event:<measured-temp: 26.0>
2014.12.15 14:31:33 4: eventTypes: CUL_HM CUL_HM_HM_TC_IT_WM_W_EU_32191D measured-temp: 26.0 -> measured-temp: .*
2014.12.15 14:31:33 4: eventTypes: CUL_HM CUL_HM_HM_TC_IT_WM_W_EU_32191D batteryLevel: 3.1 -> batteryLevel: .*
2014.12.15 14:31:33 4: eventTypes: CUL_HM CUL_HM_HM_TC_IT_WM_W_EU_32191D desired-temp: 27.0 -> desired-temp: .*

Manuell eingegeben funktioniert der set desired für den PID. Ich weiß gerade nicht wo ich den Fehler suchen soll oder muss. Für Tips bin ich dankbar.
Gruß, Fabian

Bartimaus

Hast Du Dir schonmal das Modul "THRESHOLD" vom User/Developer Damian angeschaut ?
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

13alerion

Werde ich gleich tun. Jetzt ist erstmal Studio angesagt. Aber danach. Sieht aber vielversprechend aus. Danke schonmal

frank

ZitatEvent Monitor bleibt bei Änderungen immer leer
erzeugt dein tc-it keine events der desired-temp? wie sieht ein list vom tc-it aus?

ausserdem darfst du nicht $EVENT an den pid übergeben, weil da auch der reading name enthalten ist. also wahrscheinlich $EVTPART1.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

13alerion

Hallo,
Zitat
erzeugt dein tc-it keine events der desired-temp? wie sieht ein list vom tc-it aus?
2014-12-15 17:09:33   desired-temp    20.0
das wird unter anderem ausgegeben,wenn ich list für das Teil ausführe. Das sollte doch heißen, dass es gehen müsste oder? Also auch mit notify?
Zitat
ausserdem darfst du nicht $EVENT an den pid übergeben, weil da auch der reading name enthalten ist. also wahrscheinlich $EVTPART1.
Aber wenn ich das Attribut "addStateEvent" auf 0 müsste er doch nur noch das event ausgeben also die Temperatur? habe es aber auch mal eine Runde versucht mit $EVTPART1 und die Zeile mit addstateevent ausgeklammert. Erhalte aber dasselbe Ergebnis. Und gelegentlich will scheinbar auch mein Event-Monitor. Aber auch der gibt dasselbe aus, was ich schon als Auszug aus dem Log gepostet habe. Kann man irgendwie in die notify reischauen? Also ob die überhaupt getriggert wird? Oder heißt die Tatsache, dass ich sie nicht im Log finde, dass sie nie aktiv war?
LG und bis später, Fabian

frank

Zitat2014-12-15 17:09:33   desired-temp    20.0
das ist ein reading.

ZitatDas sollte doch heißen, dass es gehen müsste oder?
nein.

wenn im eventmonitor keine events zu sehen sind, kann ein notify auch nicht reagieren, weil es von events getriggert wird. je nach konfiguration erzeugen readings events, oder auch nicht. darum wollte ich ein komplettes list vom tc-it.

ZitatKann man irgendwie in die notify reischauen? Also ob die überhaupt getriggert wird?
ich lasse mir zb mit

Log 1,"----- NOTIFY TEST ----- $NAME $EVENT";

im fhem.log anzeigen, wann was das notify getriggert hat.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

13alerion

Okay, dann habe ich das mit dem list falsch verstanden. Hier das komplette list:

Internals:
   DEF        32191D
   IODev      SCC1
   LASTInputDev SCC1
   MSGCNT     27
   NAME       CUL_HM_HM_TC_IT_WM_W_EU_32191D
   NR         32
   SCC1_MSGCNT 27
   SCC1_RAWMSG A0EC1841032191D0000000BA8E91040::-41.5:SCC1
   SCC1_RSSI  -41.5
   SCC1_TIME  2014-12-15 19:11:21
   STATE      CMDs_done
   TYPE       CUL_HM
   channel_01 CUL_HM_HM_TC_IT_WM_W_EU_32191D_Weather
   channel_02 CUL_HM_HM_TC_IT_WM_W_EU_32191D_Climate
   channel_03 CUL_HM_HM_TC_IT_WM_W_EU_32191D_WindowRec
   channel_06 CUL_HM_HM_TC_IT_WM_W_EU_32191D_remote
   channel_07 CUL_HM_HM_TC_IT_WM_W_EU_32191D_SwitchTr
   lastMsg    No:B5 - t:70 s:32191D d:000000 00EA25
   protLastRcv 2014-12-15 19:14:33
   rssi_at_SCC1 avg:-40.22 min:-46 max:-36 lst:-46 cnt:123
   Readings:
     2014-12-15 17:13:33   Activity        alive
     2014-12-15 13:07:55   CommandAccepted yes
     2014-12-15 13:07:54   D-firmware      1.1
     2014-12-15 13:07:54   D-serialNr      LEQ0994375
     2014-12-15 13:08:24   PairedTo        0x000002
     2014-12-15 13:08:00   R-btnLock       off
     2014-12-15 13:08:00   R-burstRx       on
     2014-12-15 13:08:00   R-cyclicInfoMsg on
     2014-12-15 13:08:00   R-cyclicInfoMsgDis 0
     2014-12-15 13:08:00   R-globalBtnLock off
     2014-12-15 13:08:00   R-localResDis   off
     2014-12-15 13:08:00   R-lowBatLimitRT 2.2 V
     2014-12-15 13:08:00   R-modusBtnLock  off
     2014-12-15 13:08:00   R-pairCentral   0x000002
     2014-12-15 13:08:24   RegL_00:        01:01 02:01 09:01 0A:00 0B:00 0C:02 0F:00 11:00  12:16 16:00 18:00 19:00 1A:00 00:00
     2014-12-15 17:06:37   RegL_07:        0
     2014-12-15 19:11:21   batteryLevel    3.1
     2014-12-15 19:11:21   desired-temp    21.0
     2014-12-15 19:11:21   measured-temp   23.3
     2014-12-15 16:59:28   state           CMDs_done
     2014-12-15 13:08:13   time-request    -
   Helper:
     mId        00AD
     rxType     6
     Io:
       newChn     +32191D,00,01,00
       nextSend   1418667273.23539
       prefIO
       rxt        0
       vccu
       p:
         32191D
         00
         01
         00
     Mrssi:
       mNo        B5
       Io:
         SCC1       -44
     Prt:
       bErr       0
       sProc      0
     Q:
       qReqConf
       qReqStat
     Role:
       dev        1
     Rssi:
       At_scc1:
         avg        -40.2276422764228
         cnt        123
         lst        -46
         max        -36
         min        -46
     Shregw:
       07         02
Attributes:
   IODev      SCC1
   actCycle   000:10
   actStatus  alive
   alias      Thermostat Buero
   autoReadReg 4_reqStatus
   expert     2_full
   firmware   1.1
   model      HM-TC-IT-WM-W-EU
   msgRepeat  1
   room       CUL_HM
   serialNr   LEQ0994375
   subType    thermostat
   webCmd     getConfig:clear msgEvents

frank

ich sehe nichts, was gegen events spricht. kommen denn nun "desired"-events im eventmonitor, wenn du die desired-temp am tc-it änderst? und wenn ja, poste sie mal.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

13alerion

#8
Aslo: ich verstehe diesen Event monitor nicht. Daher zur Sicherheit: Wenn ich den im Browser öffne und am tc-it die Wunschtemp ändere müsste da ein Event erscheinen oder? Da erscheint nämlich gar nichts. Weder mit chrome noch mit Firefox. Oder kann man da was falsch machen? Muss ich was in der fhem.cfg stehen haben zum event monitor damit der was ausspuckt?

edit: wenn ich die cfg öffne und anschließend speichere erscheint ein schwung Nachrichten im event monitor....jetzt versteh ich nur noch Bahnhof

Puschel74

Hallo,

sorry das ich mich hier einmische  ;)

im EventMonitor siehst du, wie du vielleicht schon vermutet hast, Events die auch FHEM "sieht".
Wenn kein Event kommt sieht FHEM nichts also ist auch nichts im EventMonitor.

ZitatWenn ich den im Browser öffne und am tc-it die Wunschtemp ändere müsste da ein Event erscheinen oder?
Nein- also ja, aber nicht sofort.
Der tc-it überträgt die Daten ja nicht ständig - zumindest nicht wenn er es ähnlich wie ein FHT macht.
Dann siehst du die Events nur wenn sie vom tc-it geschickt werden und das muss ja nicht "sofort" sein.

Was aber im EventMonitor auftauchen sollte wären die zyklischen Meldungen des tc-it.
Mein FHT sendet z.B. alle 3-5 Minuten seine Daten.
Wenn ich an einem die desired-temp ändere wird das nicht sofort an FHEM gesendet (eigentlich an die Zentrale, das ist aber hier FHEM) sondern erst wenn der nächste "Timeslot" zum senden kommt.
Wenn ich per FHEM an einem FHT die desired-temp ändere kann das durchaus auch mal 10 Minuten dauern bis es tatsächlich geändert ist und vom FHT auch so zurückgemeldet wurde.

Es ist halt keine "Echtzeitanwendung" sondern muss auch die 1%-Regel berücksichtigen.

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.

13alerion

#10
Hallo Puschel,
wieso sorry? Bin dankbar für input. Ich habe jetzt einfach mal den event monitor 40 min laufen lassen. In dieser Zet habe ich die desired temp an einem der Thermostate geändert. Das wird auch brav ins fhem webinterface übernommen und das recht zügig, also innerhalb von ca 30 sec. Ich hab auch mal die desired temp von fhem aus geändert. Außerdem laufen die ganze Zeit 6 PID Regler, die mit einer manuell eingestellten Wunschtemperatur und der vom Thermostat gelieferten Istgröße Dienst tun. Alles läuft so weit. Nur der Event-Monitor ist einfach mal völlig leer. Das kann nicht richtig sein oder?
LG

edit: muss ich evtl die verbose Einstelllung der tc-it ändern damit da was kommt oder beeinflustt das nur die log-Ausgaben?

frank

ZitatNur der Event-Monitor ist einfach mal völlig leer. Das kann nicht richtig sein oder?
das klingt nicht gut. kann es sein, dass du zu viele verbindungen (fenster, tabs, browser) zu fhem aufgebaut hast? mit firefox kann ich maximal ca. 4-5 tabs öffnen, die automatisch aktualisiert werden.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

13alerion

Hallo,
habe jetzt zur Sicherheit mal den Event Mointor als einziges Fenster laufen lassen (ca 15 min). Bleibt aber leer. Die PID Regler müssten aber ein Event generieren? Oder muss man den Event-Monitor in der Config initalisieren und da is bei mir was falsch?

frank

oh oh... , was hast du getan?

also mach mal ein 2. tab mit fhem auf und gib in die befehlszeile zb ein:

attr global verbose 3

nach switch auf den tab mit dem eventmonitor solltest du das dann erkennen können.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

13alerion