Problem mit fakeThermostat - MaxCUL

Begonnen von MarvinLu, 19 Februar 2019, 17:29:35

Vorheriges Thema - Nächstes Thema

MarvinLu

Schönen guten Abend zusammen,

ich bin grade dabei vom Max! Cube auf einen Selbstbau CUL umzusteigen.

Bis auf die Tatsache, dass mich die 1% Regel beim Einrichten stört, funktioniert alles.
Alles bedeutet in diesem Fall aber auch (erstmal) nur ein Heizkörperthermostat.

Ich wollte heute mein MySensors DHT22 Thermometer als fakeThermostat einrichten, dabei stoße ich auf ein Problem.

Ich bekomme den "rf error" im STATE nicht abgestellt.

Ich habe das Vorgehen aus dem Wiki befolgt, jedoch wird leider kein Temperaturwert weitergegeben.

Mein Thermostat:

Internals:
   CHANGED   
   DEF        HeatingThermostat 1b36c2
   FUUID      5c6c00cd-f33f-dc26-bc81-30c98a5ab62812aa
   IODev      cm
   LASTInputDev cm
   MSGCNT     2
   NAME       MAX_HT_Bad_neu
   NR         99
   RSSI       -67.5
   STATE      12.0 °C (rf error)
   TYPE       MAX
   addr       1b36c2
   backend    cm
   cm_MSGCNT  2
   cm_TIME    2019-02-19 17:15:18
   dstsetting 1
   mode       1
   rferror    1
   serial     OEQ1775864
   type       HeatingThermostat
   READINGS:
     2019-02-19 14:27:33   MAXLAN_error    0
     2019-02-19 14:27:33   MAXLAN_errorInCommand
     2019-02-19 14:27:33   MAXLAN_initialized 0
     2019-02-19 14:27:33   MAXLAN_isAnswer 0
     2019-02-19 14:27:33   MAXLAN_valid    0
     2019-02-19 17:15:18   RSSI            -67.5
     2019-02-19 14:16:58   TimeInformationHour 0
     2019-02-19 17:15:18   battery         ok
     2019-02-19 17:15:18   batteryState    ok
     2019-02-19 14:27:33   boostDuration   5
     2019-02-19 14:27:33   boostValveposition 80
     2019-02-19 14:27:33   comfortTemperature 21.5
     2019-02-19 14:27:33   decalcification Sat 12:00
     2019-02-19 17:15:18   desiredTemperature 12.0
     2019-02-19 14:27:33   ecoTemperature  16.5
     2019-02-19 17:15:17   firmware        1.0
     2019-02-19 17:15:17   groupid         0
     2019-02-19 14:27:33   maxValveSetting 100
     2019-02-19 14:27:33   maximumTemperature on
     2019-02-19 14:27:33   measurementOffset 0.0
     2019-02-19 14:27:33   minimumTemperature off
     2019-02-19 17:15:18   mode            manual
     2019-02-19 17:15:17   msgcnt          29
     2019-02-19 17:15:18   state           12.0 °C (rf error)
     2019-02-19 16:39:37   temperature     12.1
     2019-02-19 17:15:17   testresult      160
     2019-02-19 14:27:33   valveOffset     0
     2019-02-19 17:15:18   valveposition   0
     2019-02-19 14:39:58   weekprofile-0-Sat-temp 17.0 °C
     2019-02-19 14:39:58   weekprofile-0-Sat-time 00:00-00:00
     2019-02-19 14:39:58   weekprofile-1-Sun-temp 17.0 °C
     2019-02-19 14:39:58   weekprofile-1-Sun-time 00:00-00:00
     2019-02-19 14:39:58   weekprofile-2-Mon-temp 17.0 °C
     2019-02-19 14:39:58   weekprofile-2-Mon-time 00:00-00:00
     2019-02-19 14:39:58   weekprofile-3-Tue-temp 17.0 °C
     2019-02-19 14:39:58   weekprofile-3-Tue-time 00:00-00:00
     2019-02-19 14:39:58   weekprofile-4-Wed-temp 17.0 °C
     2019-02-19 14:39:58   weekprofile-4-Wed-time 00:00-00:00
     2019-02-19 14:39:58   weekprofile-5-Thu-temp 17.0 °C
     2019-02-19 14:39:58   weekprofile-5-Thu-time 00:00-00:00
     2019-02-19 14:39:58   weekprofile-6-Fri-temp 17.0 °C
     2019-02-19 14:39:58   weekprofile-6-Fri-time 00:00-00:00
     2019-02-19 14:27:33   windowOpenDuration 15
     2019-02-19 14:27:33   windowOpenTemperature 12.0
   internals:
     interfaces thermostat;battery;temperature
Attributes:
   IODev      cm
   event-on-change-reading 1
   group      MAX
   room       $System,4_Bad


Mein CUL:
Internals:
   CUL_868_MAX_MSGCNT 21
   CUL_868_MAX_RAWMSG Z0F0004601B35B20000000018092400BA
   CUL_868_MAX_RSSI -76
   CUL_868_MAX_TIME 2019-02-19 17:24:30
   DEF        123456
   FUUID      5c6b0cfe-f33f-dc26-dce6-4602b54f956d17fa
   IODev      CUL_868_MAX
   LASTInputDev CUL_868_MAX
   MSGCNT     21
   NAME       cm
   NR         98
   STATE      Defined
   TYPE       CUL_MAX
   addr       123456
   cnt        0
   pairmode   0
   retryCount 0
   sendQueue:
Attributes:
   IODev      CUL_868_MAX
   group      MAX,System
   icon       cul_max
   room       $System


bzw.:
Internals:
   CMDS       ABCEeFfGiKlMNRTtUVWXxZ
   CUL_868_MAX_MSGCNT 21
   CUL_868_MAX_TIME 2019-02-19 17:24:30
   Clients    :CUL_MAX:HMS:CUL_IR:STACKABLE_CC:TSSTACKED:STACKABLE:
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_00000000-if00-port0@38400 1234
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_00000000-if00-port0@38400
   FD         26
   FHTID      1234
   FUUID      5c6b0cb5-f33f-dc26-9956-1f38a0718eaf77c2
   NAME       CUL_868_MAX
   NR         97
   NR_CMD_LAST_H 3
   PARTIAL   
   RAWMSG     Z0F0004601B35B20000000018092400BAFC
   RSSI       -76
   STATE      Initialized
   TYPE       CUL
   VERSION    V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) nanoCUL868 (F-Band: 868MHz)
   initString X21
Zr
Za123456
Zw111111
   MatchList:
     1:CUL_MAX  ^Z........................
     8:HMS      ^810e04....(1|5|9).a001
     D:CUL_IR   ^I............
     H:STACKABLE_CC ^\*
     M:TSSTACKED ^\*
     N:STACKABLE ^\*
   READINGS:
     2019-02-19 17:02:43   ccconf          freq:868.350MHz bWidth:464KHz rAmpl:42dB sens:8dB
     2019-02-19 17:06:06   cmds             A B C E e F f G i K l M N R T t U V W X x Z
     2019-02-19 17:15:17   credit10ms      900
     2019-02-19 17:24:30   state           Initialized
   XMIT_TIME:
     1550592366.80722
     1550592367.10791
     1550592917.66664
Attributes:
   group      MAX,System
   icon       cul_868
   rfmode     MAX
   room       $System


Mein Thermometer:
Internals:
   DEF        101
   FUUID      5c5b358e-f33f-dc26-7d96-d31d4914926530cf
   IODev      MySensorGateway
   NAME       DHT22_Bad
   NR         65
   STATE      21.5°C - 45.8% - 17:26:54
   TYPE       MYSENSORS_DEVICE
   ack        0
   radioId    101
   repeater   1
   READINGS:
     2019-02-18 22:00:13   SKETCH_NAME     TemperatureAndHumidity
     2019-02-18 22:00:13   SKETCH_VERSION  1.1
     2019-02-19 17:26:54   humidity        45.8
     2019-02-18 22:00:12   parentId        0
     2019-02-18 22:00:13   state           received presentation
     2019-02-19 17:26:54   temperature     21.5
   gets:
   readingMappings:
     0:
       0:
         name       temperature
       1:
         name       humidity
   sensorMappings:
     0:
       receives:
       sends:
         16
         15
     1:
       receives:
       sends:
         16
         15
     10:
       receives:
       sends:
         6
         7
     11:
       receives:
       sends:
         11
     12:
       receives:
       sends:
         12
         14
     13:
       receives:
         24
       sends:
         17
         18
         54
         55
         56
         24
     14:
       receives:
       sends:
         45
         21
         0
         2
     15:
       receives:
       sends:
         13
         43
     16:
       receives:
       sends:
         23
         37
     17:
       receives:
       sends:
     18:
       receives:
       sends:
     19:
       receives:
         36
       sends:
         36
     2:
       receives:
       sends:
         16
         15
     20:
       receives:
         32
       sends:
         33
         50
         32
     21:
       receives:
         24
       sends:
         34
         35
         24
     22:
       receives:
       sends:
         37
         43
     23:
       receives:
         24
         25
         26
         27
         28
       sends:
         24
         25
         26
         27
         28
     24:
       receives:
       sends:
         37
         43
     25:
       receives:
       sends:
         19
         20
     26:
       receives:
         40
         17
         3
       sends:
         40
         17
         3
     27:
       receives:
         41
         17
         3
       sends:
         41
         17
         3
     28:
       receives:
         40
       sends:
         40
     29:
       receives:
       sends:
         2
         0
         45
         44
         21
         46
         22
     3:
       receives:
         2
         17
       sends:
         2
         17
     30:
       receives:
       sends:
         38
         39
         14
     31:
       receives:
       sends:
         2
         16
     32:
       receives:
       sends:
         16
         15
     33:
       receives:
       sends:
         37
         16
         15
     34:
       receives:
       sends:
         37
         16
         15
     35:
       receives:
       sends:
         37
         16
         15
     36:
       receives:
         47
       sends:
         47
     37:
       receives:
       sends:
         34
         35
     38:
       receives:
       sends:
         49
     39:
       receives:
       sends:
         0
         51
         52
         53
         2
     4:
       receives:
         2
         3
         17
       sends:
         2
         3
         17
     5:
       receives:
         29
         30
         31
         3
       sends:
         29
         30
         31
         3
     6:
       receives:
       sends:
         0
         42
     7:
       receives:
       sends:
         1
     8:
       receives:
       sends:
         4
         5
     9:
       receives:
       sends:
         8
         9
         10
   sets:
     clear      noArg
     flash      noArg
     fwType     
     reboot     noArg
     time       noArg
   typeMappings:
     0:
       type       temperature
     1:
       type       humidity
     10:
       type       direction
     11:
       type       uv
     12:
       type       weight
     13:
       type       distance
     14:
       type       impedance
     15:
       type       armed
       val:
         0          off
         1          on
     16:
       type       tripped
       val:
         0          off
         1          on
     17:
       type       power
     18:
       type       energy
     19:
       type       button_on
     2:
       type       status
       val:
         0          off
         1          on
     20:
       type       button_off
     21:
       type       hvacflowstate
     22:
       type       hvacspeed
     23:
       type       brightness
       range:
         max        100
         min        0
         step       1
     24:
       type       value1
     25:
       type       value2
     26:
       type       value3
     27:
       type       value4
     28:
       type       value5
     29:
       type       up
     3:
       type       percentage
       range:
         max        100
         min        0
         step       1
     30:
       type       down
     31:
       type       stop
     32:
       type       ir_send
     33:
       type       ir_receive
     34:
       type       flow
     35:
       type       volume
     36:
       type       lockstatus
       val:
         0          off
         1          on
     37:
       type       level
     38:
       type       voltage
     39:
       type       current
     4:
       type       pressure
     40:
       type       rgb
     41:
       type       rgbw
     42:
       type       id
     43:
       type       unitprefix
     44:
       type       hvacsetpointcool
     45:
       type       hvacsetpointheat
     46:
       type       hvacflowmode
     47:
       type       text
     48:
       type       custom
     49:
       type       position
     5:
       type       forecast
       val:
         0          stable
         1          sunny
         2          cloudy
         3          unstable
         4          thunderstorm
         5          unknown
     50:
       type       ir_record
     51:
       type       ph
     52:
       type       orp
     53:
       type       ec
     54:
       type       value
     55:
       type       va
     56:
       type       power_factor
     6:
       type       rain
     7:
       type       rainrate
     8:
       type       wind
     9:
       type       gust
Attributes:
   IODev      MySensorGateway
   group      MySensors
   mapReading_humidity 0 humidity
   mapReading_temperature 0 temperature
   mode       repeater
   room       4_Bad
   stateFormat {ReadingsVal('DHT22_Bad','temperature','')."°C - ".ReadingsVal('DHT22_Bad','humidity','')."% - ".substr(ReadingsTimestamp('DHT22_Bad','humidity',''),11,8)}


Meine Ergänzung in der 99_myUtils:
sub MaxFakeWallThermostat($$)
{
my ($heizung, $aktTemp)    = @_;
my $CULMAX     = $defs{$heizung}{LASTInputDev};
my $desiredTemp   = ReadingsVal($heizung, "desiredTemperature", undef);
my $windowOpenTemp = ReadingsVal($heizung, "windowOpenTemperature", undef);
my $lastTemp    = ReadingsVal($heizung, "LastExtTemperature", 0);
my $lastSet     = ReadingsTimestamp($heizung, "LastExtTemperature", 0);
if($desiredTemp && $windowOpenTemp &&
$desiredTemp != $windowOpenTemp &&
(time()-time_str2num($lastSet) >= 600 || abs($aktTemp-$lastTemp)>=0.2 )) {
  Log 3, "set $CULMAX fakeWT $heizung $desiredTemp $aktTemp";
  readingsSingleUpdate($defs{$heizung}, "LastExtTemperature", $aktTemp, 0);
  fhem("set $CULMAX fakeWT $heizung $desiredTemp $aktTemp");
}
}


Und zu guter Letzt noch meine Änderung in der Config:
define SendExtTemp notify DHT22_Bad:temperature.* {\
MaxFakeWallThermostat("MAX_HT_Bad_neu", $EVTPART1);;\
}


Kann mir da bitte jemand helfen den Fehler zu finden?

Liebe Grüße und schon mal vielen Dank,
Marvin

MarvinLu

Hallo zusammen :-)

Ich habe jetzt erstmal alle FakeThermostate rausgenommen, soweit funktioniert alles.

Jetzt hatte ich eine andere Idee:
Wäre es möglich, den Temperaturwert der Thermostate mittels userreading zu überschreiben, indem ich einfach den Tempretaurwert des DHT22 einlese?

Liebe Grüße,
Marvin

Wzut

dann kannst du auch gleich mit Tipp-Ex ne andere Zahl auf den Monitor schreiben ....
Wenn das gescheit laufen soll ist ein Wandthermostat fällig, vllt läuft ja auch fakeWT mit nur einem HT ,
würde mich nicht wundern nachdem sein Bruder fakeSK  auch so ne Niete war. 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

MarvinLu

Mh. Und wieso kann ich meinen mysensors Thermometer nicht einfach als Wandthermostat nutzen? Was siehst du da für Nachteile?
Liebe Grüße, Marvin

skyline

Schau dir mal das PID20 Modul an.

FakeThermostate habe ich auch mal versucht und anschließend wieder verlassen und auf den PID20 gewechselt.

MarvinLu

Steht schon auf meiner to do Liste, habe ich gestern auch entdeckt!
Danke für den Hinweis :)
Gruß, Marvin