Temperatur-Scanner für MAX-Thermostate

Begonnen von John, 12 März 2013, 09:44:59

Vorheriges Thema - Nächstes Thema

Harald

#645
Hallo zusammen,

ich habe jetzt meine Versuche, den Temperaturscanner auf meine Gegebenheiten (siehe mein Profil) anzupassen, aufgegeben.

Es passierte immer wieder, nicht reproduzierbar, dass zu unterschiedlichen Zeiten und bei wechelnden Geräten Schaltzeiten der Wochenprogramme nicht, wie ich früher (hier und folgende) schon beschrieben habe, richtig übernommen wurden. Ich vermute, dass fermoll mit seinen Überlegungen (hier) nicht unrecht hat.

Meine eingefügten Änderungen um einen "Eco-Modus" zu implementieren, funktionierten grundsätzlich. Meistens wurden die Schaltpunkte der Wochenprogramme -wie gewünscht- übergangen. Die Wochenprogramme wurden erst nach Betätigen des Ecotasters auf Auto wieder aktiv. Leider passierte der oben beschriebene "Fehler" auch im "Eco-Mode", sodaß ein sicherer Betrieb über längere Zeit nicht möglich war.

Ich habe nun in jedem Raum einen Temperaturfühler (nur für die Anzeige, nicht zum Regeln!) platziert, dessen Kurve mit in das entsprechende Diagramm geschrieben wird. Somit habe ich jeweils eine kontinuierliche Raumtemperaturanzeige. Die Isttemperatur der Thermostate schreibe ich zur Kontrolle als gepunktete Linie mit, wie die angehängten Diagramme zeigen.

Ich denke, das John's toller Temperaturscanner auf jeden Falle für den Einsatz mit Max-Geräten, die über einen CUL gesteuert werden, hervorragend geeignet ist.
Der Einsatz bei einem System mit dem Max-Cube scheint es aber einige Unregelmäßigkeiten zu geben, die möglicherweise auch mit Timingproblemen und/oder mit fermoll's Vermutungen zusammen hängen könnten.

Viele Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Mr.Heat

kann ich leider bestätigen. Es gibt bei mir zwei Phänomene:

1. (nicht so schlimm) : bei länger eingestellter gleicher Temparatur klettert der Scanner von der Solltemperatur weg. z.B. eingestellt 18°C, er wechselt zwischen 17,5°C und 18°C. Plötzlich wechselt er nur noch zwischen 17,5°C und 17°C. Manchmal sogar dann 16,5°C und 17°C.

2. mit Scanner werden Wochenprofilwechsel übergangen. Morgens im Bad (im Keller) bleibt der Thermostat auf 21°C. Da die Wärme nach oben geht, habe ich damit quasi Dauerheizung gehabt den ganzen Tag. Die Wärme staut sich dann oben.

Aus diesem Grund ist der Scanner momentan inaktiv bei mir, da mir die Temperaturanzeige auch nicht soooo wichtig ist... ich habe keine Ahnung, woher das Verhalten kommen könnte. Evtl. im zusammenhang mit Übertragungsfehlern oder Verzögerungen.... ich setze das mit einem CUL ein.

fermoll

ZitatIch denke, das John's toller Temperaturscanner auf jeden Falle für den Einsatz mit Max-Geräten, die über einen CUL gesteuert werden, hervorragend geeignet ist.

Ich habe in Bezug auf Max Thermostate und CUL keine Erfahrung. Aber ich gebe zu bedenken, dass auch die Kommunikation mit dem CUL der 1% Regel unterliegt. Vielleicht reagiert der CUL ja auch anders als der Cube. Mir erscheint es sinnvoll, bei beiden den DutyCycle zu protokollieren und vielleicht herauszufinden, ob und wann 100% erreicht sind und ob die nicht gewollten Verhaltensweisen damit zusammenhängen. Leider habe ich mir die FHEM.cfg zerschossen und weiss nicht mehr, wie ich den Cube Loggen konnte.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

Harald

#648
Hallo fermoll,

ich habe nur vermutet, dass MaxScan mit dem CUL funktioniert, da John das ja so betreibt. Ich selbst habe da auch keine Erfahrung.

Falls es Dir ja hilft, hier der Auszug aus meiner fhem.cfg. Den Cube kannst Du nicht mehr explizit loggen. Die Cube-Daten und die von Maxlan sind vor einigen Monaten zusammen gelegt worden.###############################################################
#
# MAXLAN
#
define MAXLAN MAXLAN 192.168.0.222 180 ondemand
attr MAXLAN icon it_net
attr MAXLAN room MAX
attr MAXLAN verbose 1
define FileLog_MAXLAN FileLog ./log/MAXLAN-%m-%U.log MAXLAN:(dutycycle).*
attr FileLog_MAXLAN alias MAXLAN
attr FileLog_MAXLAN logtype text
attr FileLog_MAXLAN room Diagramm.log
attr FileLog_MAXLAN verbose 1
#

Wichtig ist, dass DutyCycle in den Readings von Maxlan vorhanden ist und auch aktualisiert wird.
Ich musste mein Max-System gerade auch neu aufsetzen. Nach einem Spannungsausfall funktionierte es nicht mehr richtig. Die Daten der Ventile waren in fhem verfügbar, aber die von Maxlan wurden nicht mehr aktualisiert. Nur ein Reset des Cube mit anschließendem Neuanlernen der Komponenten bewirkte, dass alles wieder einwandfrei arbeitet.

Jetzt habe ich eine USV eingebaut, die Kabelverstärker, Router, Switch, RasPi und Cube versorgt, damit ein Spannungsausfall solche Probleme nicht mehr verursacht (hoffentlich !?).

Viele Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

persching

Hallo zusammen,
ich stehe noch ganz am Anfang meiner FHEM "Karriere", aber ich denke ich bin im Moment eigentlich mit dem Ergebnis zufrieden. Kurz zu meinen Gegebenheiten:

FHEM auf einer DS212 von Synology
CUL
2x MAX! Thermostat+ inkl. Fensterkontakt (alles in einem Raum und funktioniert als "Raumlösung")

Das wars im Moment auch schon mit der Ausstattung. Ich wollte erstmal mit den (bereits vorhandenen) Thermostaten "rumspielen" und gucken was mit FHEM so geht. Jedenfalls steuere ich die Thermostate mit dem Modul Heating Control an und erfasse die Temperatur mit dem Scanner. Mit dem Hourcounter will ich noch wissen wie oft und wie lange der Raum gelüftet wurde.

Jedenfalls ist es so, dass nach dem schließen des Fensters weder der Scanner noch irgendwelche anderen Befehle an die Thermostate funktioniert. Irgendwie als würde FHEM hängen. shutdown restart löst das Problem.

Hier mal der Auszug aus dem Log:

2015.05.03 10:47:39 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:47:44 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:47:49 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:47:54 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:47:59 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:48:04 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:48:09 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:48:14 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:48:19 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:48:24 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:48:29 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:48:34 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:48:39 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:48:44 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:48:49 3: MAX OG_Bad_T_Waschb: MaxScanRun.654 no action due open window; desi-temp by HC before/while window open:22.0
2015.05.03 10:48:53 3: MAX OG_Bad_T_Waschb: MaxScanRun.665 strMode:auto EcoTemp: DesiTemp:12.0 TempBeforeWindOpen:22.0
2015.05.03 10:48:53 1: PERL WARNING: Argument "" isn't numeric in numeric ge (>=) at /usr/local/FHEM/share/fhem/FHEM/99_UtilsMaxScan.pm line 671.
2015.05.03 10:48:53 3: MAX OG_Bad_T_Waschb: MaxScanRun.676 due window is closed: set OG_Bad_T_Waschb desiredTemperature auto 22.0
2015.05.03 10:48:58 3: MAX OG_Bad_T_Waschb: MaxScanRun.626 change leadDesiTemp due manipulation:43.5
2015.05.03 10:48:58 3: MAX OG_Bad_T_Waschb: MaxScanRun.687 received new desiredTemperature after opened window: continue scanning now
2015.05.03 10:48:58 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:49:00 2: CUL_MAX_Parse: Got unhandled message type 38
2015.05.03 10:49:03 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:49:08 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:49:12 2: CUL_0: unknown message Z0138
2015.05.03 10:49:13 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:49:14 2: CUL_MAX_SendQueueHandler: Missing ack from 078357 for 0ba90040123456078357002c
2015.05.03 10:49:18 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:49:23 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:49:28 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:49:33 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:49:38 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:49:43 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:49:48 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:49:53 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:49:58 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:50:03 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:50:08 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:50:13 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:50:18 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost
2015.05.03 10:50:23 3: MAX OG_Bad_T_Waschb: MaxScanRun.699 no action due boost

persching

Hat keiner eine Idee? Bei mir ist das bei jedem öffnen des Fensters reproduzierbar. Nur die desiredTemperature nach dem schließen ist nicht gleich. Gestern waren es 42 und 56 Grad Celsius und heute dann 3,5. :(
Liegt das jetzt am Scanner oder an heating control?

RMD

Hallo

Bin neu hier und habe eine Frage zum Temperatur-Scanner. Weshalb wird bei Mode Manuell seitens der Thermostate trotzdem der Wert "desiredTemperature auto xxx" durch den Scanner gesetzt, und das Thermostat wieder in den AUTO-Modus gezwungen?

Im Einsatz MAX Cube + 2 Heizkörperthermostate.

Danke

John

CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

willyk

Hallo,   irgendwie haut das mit dem Scanner nicht so hin wie ich mir das vorstelle. Wie es aussieht habe ich eine etwas exotische Konfiguration.

Das Problem: eines meiner HTs wird vom Scanner weitgehend ignoriert. Pro Tag (nicht pro Stunde) wird dieses Gerät etwa 8 mal im Scannerzyklus berücksichtigt; andere HT werden bis zu 80 Mal am Tag abgefragt.

Die Ursache ist, soweit ich das beurteilen kann, dass dieser HT über einen Cube betrieben wird, die anderen HTs hängen an einem CUL. Der Scanner versucht, den Timestamp von desiredTemp auszulesen, und dann mit diesem Wert die Reihenfolge festzulegen, in der die HTs abgefragt werden.

Allerdings wird der Timestamp immer neu gesetzt, wenn der Cube von fhem abgefragt wird. Bei den CUL-Geräten wird der Timestamp nur gesetzt, wenn auch eine Änderung (durch den Scanner) durchgeführt wurde. Das führt dann im Ergebnis dazu, dass der an den Cube angeschlossene HT immer ganz am Schluss ist.

Auszug aus dem Log (der Problem-HT heisst EG_Toilette_H):

2015.11.24 23:37:30 2: MAX UG_Treppenh_H: MaxScanRun.440 sdNextScan:2015-11-24 23:37:30 strDesiTime:2015-11-24 23:22:47
2015.11.24 23:37:30 2: MAX UG_Treppenh_H: MaxScanRun.454 TYPE:CUL_MAX IOName:cm
2015.11.24 23:37:30 2: MAX UG_Treppenh_H: MaxScanRun.495 CulName:maxcl CulCredits:3600 CreditTime:2015-11-24 23:35:36 dutyCycle:?
2015.11.24 23:37:30 2: MAX UG_Treppenh_H: MaxScanRun.541 CulCredits:3600 Credits:900 scanDynamic:1
2015.11.24 23:37:30 3: MAX UG_Treppenh_H: MaxScanRun.764 <<set UG_Treppenh_H desiredTemperature auto 17.0>>
2015.11.24 23:37:30 2: MAX UG_Treppenh_H: MaxScanRun.805 ++++++++
2015.11.24 23:37:30 2: MAX UG_Hobby_H: MaxScanRun.440 sdNextScan:2015-11-24 23:38:36 strDesiTime:2015-11-24 23:36:53
2015.11.24 23:37:30 2: MAX UG_Hobby_H: MaxScanRun.454 TYPE:CUL_MAX IOName:cm
2015.11.24 23:37:30 2: MAX UG_Hobby_H: MaxScanRun.495 CulName:maxcl CulCredits:3600 CreditTime:2015-11-24 23:37:30 dutyCycle:?
2015.11.24 23:37:30 2: MAX UG_Hobby_H: MaxScanRun.541 CulCredits:3600 Credits:900 scanDynamic:1
2015.11.24 23:37:30 2: MAX UG_Hobby_H: MaxScanRun.805 ++++++++
2015.11.24 23:37:30 2: MAX EG_Spielz_H: MaxScanRun.440 sdNextScan:2015-11-24 23:42:50 strDesiTime:2015-11-24 23:28:07
2015.11.24 23:37:30 2: MAX EG_Spielz_H: MaxScanRun.454 TYPE:CUL_MAX IOName:cm
2015.11.24 23:37:30 2: MAX EG_Spielz_H: MaxScanRun.495 CulName:maxcl CulCredits:3600 CreditTime:2015-11-24 23:37:30 dutyCycle:?
2015.11.24 23:37:30 2: MAX EG_Spielz_H: MaxScanRun.541 CulCredits:3600 Credits:900 scanDynamic:1
2015.11.24 23:37:30 2: MAX EG_Spielz_H: MaxScanRun.805 ++++++++
2015.11.24 23:37:30 2: MAX UG_Gast_H: MaxScanRun.440 sdNextScan:2015-11-24 23:43:39 strDesiTime:2015-11-24 23:28:56
2015.11.24 23:37:30 2: MAX UG_Gast_H: MaxScanRun.454 TYPE:CUL_MAX IOName:cm
2015.11.24 23:37:30 2: MAX UG_Gast_H: MaxScanRun.495 CulName:maxcl CulCredits:3600 CreditTime:2015-11-24 23:37:30 dutyCycle:?
2015.11.24 23:37:30 2: MAX UG_Gast_H: MaxScanRun.541 CulCredits:3600 Credits:900 scanDynamic:1
2015.11.24 23:37:30 2: MAX UG_Gast_H: MaxScanRun.805 ++++++++
2015.11.24 23:37:30 2: MAX EG_Eingang_H: MaxScanRun.440 sdNextScan:2015-11-24 23:44:46 strDesiTime:2015-11-24 23:30:03
2015.11.24 23:37:30 2: MAX EG_Eingang_H: MaxScanRun.454 TYPE:CUL_MAX IOName:cm
2015.11.24 23:37:30 2: MAX EG_Eingang_H: MaxScanRun.495 CulName:maxcl CulCredits:3600 CreditTime:2015-11-24 23:37:30 dutyCycle:?
2015.11.24 23:37:30 2: MAX EG_Eingang_H: MaxScanRun.541 CulCredits:3600 Credits:900 scanDynamic:1
2015.11.24 23:37:30 2: MAX EG_Eingang_H: MaxScanRun.805 ++++++++
2015.11.24 23:37:30 2: MAX UG_Sauna_H: MaxScanRun.440 sdNextScan:2015-11-24 23:44:57 strDesiTime:2015-11-24 23:30:14
2015.11.24 23:37:30 2: MAX UG_Sauna_H: MaxScanRun.454 TYPE:CUL_MAX IOName:cm
2015.11.24 23:37:30 2: MAX UG_Sauna_H: MaxScanRun.495 CulName:maxcl CulCredits:3600 CreditTime:2015-11-24 23:37:30 dutyCycle:?
2015.11.24 23:37:30 2: MAX UG_Sauna_H: MaxScanRun.541 CulCredits:3600 Credits:900 scanDynamic:1
2015.11.24 23:37:30 2: MAX UG_Sauna_H: MaxScanRun.805 ++++++++
2015.11.24 23:37:30 2: MAX OG_Buegelz_H: MaxScanRun.440 sdNextScan:2015-11-24 23:50:49 strDesiTime:2015-11-24 23:36:06
2015.11.24 23:37:30 2: MAX OG_Buegelz_H: MaxScanRun.454 TYPE:CUL_MAX IOName:cm
2015.11.24 23:37:30 2: MAX OG_Buegelz_H: MaxScanRun.495 CulName:maxcl CulCredits:3600 CreditTime:2015-11-24 23:37:30 dutyCycle:?
2015.11.24 23:37:30 2: MAX OG_Buegelz_H: MaxScanRun.541 CulCredits:3600 Credits:900 scanDynamic:1
2015.11.24 23:37:30 2: MAX OG_Buegelz_H: MaxScanRun.805 ++++++++
2015.11.24 23:37:30 2: MAX EG_Toilette_H: MaxScanRun.440 sdNextScan:2015-11-24 23:51:00 strDesiTime:2015-11-24 23:37:17
2015.11.24 23:37:30 2: MAX EG_Toilette_H: MaxScanRun.454 TYPE:MAXLAN IOName:maxcube
2015.11.24 23:37:30 2: MAX EG_Toilette_H: MaxScanRun.495 CulName:maxcube CulCredits:930 CreditTime:2015-11-24 20:32:55 dutyCycle:7
2015.11.24 23:37:30 2: MAX EG_Toilette_H: MaxScanRun.541 CulCredits:930 Credits:900 scanDynamic:1
2015.11.24 23:37:30 2: MAX EG_Toilette_H: MaxScanRun.805 ++++++++
2015.11.24 23:37:30 2: MAX MaxScan: MaxScanRun.838 next scan in seconds:180


Der Cube ist mit einem Pollinterval definiert; immer wenn dieses Intervall abgelaufen ist, werden anscheinend die Timestamps neu gesetzt:

Internals:
   CHANGED
   DEF        HeatingThermostat 0cf2e6
   IODev      maxcube
   LASTInputDev maxcube
   MSGCNT     2004
   NAME       EG_Toilette_H
   NR         60
   RSSI       -69.5
   STATE      17.0 °C
   TYPE       MAX
   addr       0cf2e6
   backend    maxcube
   cm_MSGCNT  59
   cm_TIME    2015-11-24 20:34:13
   dstsetting 1
   maxcube_MSGCNT 1945
   maxcube_TIME 2015-11-24 23:41:17
   mode       1
   rferror    0
   serial     KEQ0698592
   type       HeatingThermostat
   Readings:
     2015-11-24 23:41:17   MAXLAN_error    0
     2015-11-24 23:41:17   MAXLAN_errorInCommand
     2015-11-24 23:41:17   MAXLAN_initialized 1
     2015-11-24 23:41:17   MAXLAN_isAnswer 0
     2015-11-24 23:41:17   MAXLAN_valid    1
     2015-11-24 23:41:17   RSSI            -69.5
     2015-11-06 11:38:48   batt_State      ok
     2015-11-06 11:38:48   batt_State.ok   Fri Nov  6 11:38:48 2015
     2015-11-24 23:41:17   battery         ok
     2015-11-24 13:15:33   boostDuration   20
     2015-11-24 13:15:33   boostValveposition 80
     2015-11-24 13:15:33   comfortTemperature 21.0
     2015-11-24 13:15:33   decalcification Sat 12:00
     2015-11-24 23:41:17   desiredTemperature 17.0
     2015-11-24 13:15:33   ecoTemperature  off
     2015-11-24 13:15:33   firmware        1.8
     2015-11-24 13:15:33   groupid         3
     2015-11-24 13:15:33   maxValveSetting 100
     2015-11-24 13:15:33   maximumTemperature on
     2015-11-24 13:15:33   measurementOffset 0.0
     2015-11-24 13:15:33   minimumTemperature off
     2015-11-24 23:41:17   mode            manual
     2015-11-24 23:41:17   onlyAutoMode    0
     2015-11-24 23:41:17   state           17.0 °C
     2015-11-24 23:41:17   temperature     21.8
     2015-11-24 13:15:33   testresult      255
     2015-11-24 13:15:33   valveOffset     0
     2015-11-24 23:41:17   valveposition   0
     2015-11-24 13:15:33   weekprofile-0-Sat-temp 17.0 °C  /  21.0 °C  /  17.0 °C  /  16.5 °C
     2015-11-24 13:15:33   weekprofile-0-Sat-time 00:00-07:00  /  07:00-19:30  /  19:30-23:55  /  23:55-00:00
     2015-11-24 13:15:33   weekprofile-1-Sun-temp 17.0 °C  /  21.0 °C  /  17.0 °C  /  16.5 °C
     2015-11-24 13:15:33   weekprofile-1-Sun-time 00:00-07:00  /  07:00-19:30  /  19:30-23:55  /  23:55-00:00
     2015-11-24 13:15:33   weekprofile-2-Mon-temp 17.0 °C  /  21.0 °C  /  17.0 °C  /  16.5 °C
     2015-11-24 13:15:33   weekprofile-2-Mon-time 00:00-07:00  /  07:00-19:30  /  19:30-23:55  /  23:55-00:00
     2015-11-24 13:15:33   weekprofile-3-Tue-temp 17.0 °C  /  21.0 °C  /  17.0 °C  /  16.5 °C
     2015-11-24 13:15:33   weekprofile-3-Tue-time 00:00-07:00  /  07:00-19:30  /  19:30-23:55  /  23:55-00:00
     2015-11-24 13:15:33   weekprofile-4-Wed-temp 17.0 °C  /  21.0 °C  /  17.0 °C  /  16.5 °C
     2015-11-24 13:15:33   weekprofile-4-Wed-time 00:00-07:00  /  07:00-19:30  /  19:30-23:55  /  23:55-00:00
     2015-11-24 13:15:33   weekprofile-5-Thu-temp 17.0 °C  /  21.0 °C  /  17.0 °C  /  16.5 °C
     2015-11-24 13:15:33   weekprofile-5-Thu-time 00:00-07:00  /  07:00-19:30  /  19:30-23:55  /  23:55-00:00
     2015-11-24 13:15:33   weekprofile-6-Fri-temp 17.0 °C  /  21.0 °C  /  17.0 °C  /  16.5 °C
     2015-11-24 13:15:33   weekprofile-6-Fri-time 00:00-07:00  /  07:00-19:30  /  19:30-23:55  /  23:55-00:00
     2015-11-24 13:15:33   windowOpenDuration 15
     2015-11-24 13:15:33   windowOpenTemperature 12.0
   Helper:
     DesiTime   1448266714
     LastWasAutoReset
     NextScan   1448405700
     NextScanTimestamp 2015-11-24 23:55:00
     TempBeforeWindOpen 17.0
     TemperatureTime 1448404817
     WinWasOpen 0
     desiredOffset 0
     leadDesiTemp 17.0
     switchDate 1448405700
   Internals:
     interfaces thermostat;battery;temperature
Attributes:
   IODev      maxcube
   event-on-change-reading .*
   room       EG_Toilette,EG,MAX
   scanTemp   1
   userReadings onlyAutoMode  { return "0";}


Hab ich das richtig verstanden, oder mache ich irgendwo einen Denkfehler?

Um das Problem zu beheben, müsste ein anderes Kriterium als der Timestamp ausgewertet werden, auf dem Cube ist das anscheinend keine geeignete Methode. Ausserdem sollte die Abfrage-Schleife über die Max-Devices für die einzelnen IODevs erfolgen; wenn eines der IODevs keine Credits mehr hat, kann das andere ja durchaus weiterarbeiten.

Bin ich auf dem richtigen Weg, oder völlig daneben?
Danke für ein Feedback + Gruss
willyk
NUC mit Ubuntu, MAX!Cube, CUNO, 6 MAX WT, 16 MAX HT, 2 MAX Fensterkontakt, MaxScanner

Kharim

Zitat von: RMD am 13 Oktober 2015, 09:35:21
Hallo

Bin neu hier und habe eine Frage zum Temperatur-Scanner. Weshalb wird bei Mode Manuell seitens der Thermostate trotzdem der Wert "desiredTemperature auto xxx" durch den Scanner gesetzt, und das Thermostat wieder in den AUTO-Modus gezwungen?

Im Einsatz MAX Cube + 2 Heizkörperthermostate.

Danke

Zitat von: John am 13 Oktober 2015, 10:20:01
Die Antwort findest du hier:
http://www.fhemwiki.de/wiki/MAX!_Temperatur-Scanner#Der_L.C3.B6sungsansatz

John

Hallo Zusammen,

habe den selben Effekt, aber wahrscheinlich die Antwort nicht verstanden...

Es gibt 2 Scanner-Modi...per Temperaturänderung und per Modusänderung, richtig?
Einmal wird also zwischen Auto und Manuell geschaltet und einmal die Temperatur.
Befindet sich das Thermostat im manuellen Modus und ich nutze die Variante der Temperaturumschaltung, würde ich erwarten dass der manuelle Modus erhalten bleibt!

Dem ist aber leider (bei mir) nicht so. Ich nutze DesiredChange (also Temp) und trotzdem schaltet der Scanner jedesmal von Manuell zurück auf Auto....
Ich vermute fast, das liegt daran, dass man hier die Temperatur aus dem Wochenprogramm nimmt?
Könnte man nicht besser die aktuell am Thermostat eingestellte Temperatur als Basis nehmen und damit im manuellen Modus verbleiben?

Im Grunde verhindert der Scanner damit jegliche manuelle Temperatureinstellung, da er zwangsweise nach Wochenprogramm arbeitet.....

Grüße,
Kharim
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

John

An alle Scanner-Freunde

ich habe nun die Modul-Variante des Scanners erstellt.

Diese ist wie üblich im ersten Beitrag des Threads zu finden.

Die Inbetriebsetzung und die Atribute werden hier beschrieben
http://www.fhemwiki.de/wiki/MAX!_Temperatur-Scanner#Die_Modul-Variante_.28Beta-Version.29

Da ich weder über Cube, noch über Wandthermostate verfüge, kann ich nicht alles Test-Szenarien abfahren.
Daher bitte ich darum, das  Modul zu nutzen und Fehler rückzumelden.

Ziel ist es das Modul in das offizielle FHEM Repository aufzunehmen.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

mahowi

Hallo John,

soweit scheint die Modul-Variante ganz gut zu funktionieren.  :) (mit Cube als CUL geflasht)

Lediglich bei der Eventausgabe scheint ein <CR> zu fehlen, die nächste Zeile wird nämlich direkt dahinter gehängt. Z.B.:
2016.01.07 18:39:13 3 : MaxScanner MAX_009cd1 Work.1153 <<set MAX_009cd1 desiredTemperature auto 21>>2016-01-07 18:39:14 structure AllHeaters auto
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Risiko

#657
Hallo John,

ich habe auch auf die Modulvariante umgestellt. Mal schauen wie es läuft. Jedenfalls vielen vielen Dank.

Wieso generierst du ein Notify? Könntest doch im Modul auf alle Notify lauschen (NotifyFn) und nur auf von bekannten Fensterkontakten, etc.  (Namen hast du ja) reagieren. Das hätte auch den Vorteil, dass man nicht immer das Notify neu erstellen muss (rotes Fragezeichen als Resultat). Genau das ist doch auch der Vorteil eines Moduls. Also MaxScanner_RunNotify innerhalb von NotifyFn aufrufen.

Etwas unschön finde ich auch den ganzen userattr. Es wäre meiner Meinung nach schöner, wenn man alles im Scanner parametrieren könnte. Wenn man N Thermostate hat aber nur eines vom Scanner überwachen will, dann bekommen trotzdem alle die userattr --> wieder Änderungen an der cfg. Das ist aber wohl Ansichtssache.

Ach ja. Das Notify wurde erst nach einem zweiten Neustart angelegt. Es müsste aber angelegt\geändert werden, sobald man am Attr scnShutterList was ändert, oder?

Nachtrag:
Wenn man das Loglevel (verbose) vom Scanner auf 1 stellt, wieso kommen dann Logmeldungen > 1 ins Logfile?

scuba

Ich hab ebenfalls gerade umgestellt.
Derzeit steckt bei mir kein CUL am Raspberry, daher bekomm ich folgende Meldung im Log:
2016.01.08 09:14:28 1: MaxScanner Heizkoerper_Arbeitszimmer Work.782 !! credit10ms/dutycycle must be a number

Die Ausgabe ist zwar korrekt aber ein bisschen irreführend.


John

Besten Dank an alle, die geantwortet haben.

@Risiko
die userattr werde ich so belassen, da ich schon viel Arbeit mit Tests verbracht habe.

Den Vorschlag zu NotifyFn ist gut, werde ich mir ansehen.

@scuba
kannst du mir bitte ein
Zitatlist <dein CulMax>
zukommen lassen

Weiterhin verbose vom Thermostat auf 5 stellen, einige Einträge loggen und mir zukommen lassen.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP