Hallo,
ich lasse fhem auf einem RPi2 laufen. Nach der Installation von fhem habe ich so einiges ausprobiert.
Bei der Heizungssteuerung habe ich mich für einen Umstieg von RWE-SmartHome auf Homematic entschieden. Derzeit habe ich einen USB-Konfigurationsadapter (HM-CFG-USB-2) und einen Heizkörperthermostat HM-CC-RT-DN. Zunächst wurden die beiden Geräte gepeert. Dem Heizkörperthermostat und den Kanälen habe ich einen sprechenden Namen gegeben. Die Anzeige der verschiedenen Werte und die Solltemperaturänderung funktionieren einwandfrei.
Danach habe ich eine Funktion in 99_myUtils.pm zur Änderung des Wochenprogramms eingefügt. Beim Übertragen des Wochenprogramms traten dann die Fehler auf. "Please define HM_Bad_Clima first" und auch die anderen Kanäle sollten erst angelegt werden. Da sie aber schon angelegt waren, habe ich den ursprünglichen Name wieder eingestellt. Aber auch danach kam "Please define...". Obwohl ich ständig diese Meldungen bekommen habe, war doch irgendwann das Wochenprogramm übertragen. Wie mir das gelungen ist, kann ich nicht mehr nachvollziehen.
Nun habe ich HMinfo angelegt. Mit "get hm regCheck" bekomme ich die Meldung "missing register list HM_Bad_Clima: RegL_07"
Mit set HM_Bad_Clima getConfig ändert sich leider nichts.
Kann mir jemand helfen, die Fehler zu beseitigen?
Gruß
Apollon
setze mal im hauptdevice das attribut autoreadreg auf 5_missing.
dann sollte die liste irgendwann automatisch kommen. aber geduld ist gefragt. :)
Meinst Du mit Hauptdevice das Heizköperthermostat und nicht einen seiner Kanäle?
Wenn ja, dann steht autoreadreg bereits auf 5.
Zitat von: Apollon am 05 April 2016, 10:56:55
Meinst Du mit Hauptdevice das Heizköperthermostat und nicht einen seiner Kanäle?
Wenn ja, dann steht autoreadreg bereits auf 5.
genau so. wieviel geduld hattest du bereits?
poste mal ein "list <mein_hauptdevice>" und vom hmusb.
Da ich Neueinsteiger bin habe ich schon viel Geduld aufgebracht. Ich habe tagelang im Netz gesucht und dabei viel gelernt und noch mehr ausprobiert.
Hier das Listing:Internals:
DEF 398813
IODev hmusb
LASTInputDev hmusb
MSGCNT 7950
NAME HM_Bad
NR 57
NTFY_ORDER 50-HM_398813
STATE CMDs_done
TYPE CUL_HM
channel_01 HM_Bad_Weather
channel_02 HM_398813_Climate
channel_03 HM_398813_WindowRec
channel_04 HM_Bad_Clima
channel_05 HM_398813_ClimaTeam
channel_06 HM_398813_remote
hmusb_MSGCNT 7950
hmusb_RAWMSG E398813,0000,429C5DBD,FF,FFCF,5286103988130000000A7CD9100000
hmusb_RSSI -49
hmusb_TIME 2016-04-05 11:32:12
lastMsg No:52 - t:10 s:398813 d:000000 0A7CD9100000
protLastRcv 2016-04-05 11:32:12
protResnd 6 last_at:2016-04-05 11:19:31
protSnd 623 last_at:2016-04-05 11:21:53
protState CMDs_done
rssi_at_hmusb avg:-46.47 max:-32 cnt:7950 lst:-49 min:-67
rssi_hmusb max:-33 avg:-44.47 cnt:104 min:-58 lst:-51
Readings:
2016-03-29 12:35:20 Activity alive
2016-04-05 11:21:49 CommandAccepted yes
2016-03-29 12:35:20 D-firmware 1.4
2016-03-29 12:35:20 D-serialNr MEQ0567302
2016-04-02 09:42:25 PairedTo 0x424242
2016-03-23 14:23:26 R-backOnTime 10 s
2016-03-23 14:23:26 R-burstRx on
2016-03-23 14:23:26 R-cyclicInfoMsg on
2016-03-23 14:23:26 R-cyclicInfoMsgDis 0
2016-03-23 14:32:01 R-pairCentral 0x424242
2016-04-02 09:42:25 RegL_00. 01:01 02:01 09:01 0A:42 0B:42 0C:42 0E:0A 0F:00 11:00 12:15 16:00 18:00 19:00 1A:00 00:00
2016-04-05 11:21:53 RegL_07. 01:2A 02:22 03:09 04:3D 05:18 06:03 07:00 08:16 09:07 0A:30 0B:00 0C:64 0D:0F 0E:05 0F:00 10:00 11:00 12:09 13:8E 14:40 15:54 16:54 17:6C 18:5A 19:72 1A:48 1B:E1 1C:51 1D:08 1E:41 1F:20 20:45 21:20 22:45 23:20 24:45 25:20 26:45 27:20 28:45 29:20 2A:45 2B:20 2C:45 2D:20 2E:40 2F:54 30:54 31:6C 32:5A 33:72 34:48 35:E1 36:51 37:08 38:41 39:20 3A:45 3B:20 3C:45 3D:20 3E:45 3F:20 40:45 41:20 42:45 43:20 44:45 45:20 46:45 47:20 48:40 49:36 4A:58 4B:42 4C:54 4D:4E 4E:48 4F:DE 50:51 51:08 52:41 53:20 54:45 55:20 56:45 57:20 58:45 59:20 5A:45 5B:20 5C:45 5D:20 5E:45 5F:20 60:45 61:20 62:40 63:48 64:50 65:50 66:58 67:72 68:48 69:E1 6A:51 6B:08 6C:41 6D:20 6E:45 6F:20 70:45 71:20 72:45 73:20 74:45 75:20 76:45 77:20 78:45 79:20 7A:45 7B:20 7C:44 7D:48 7E:54 7F:6C 80:44 81:CC 82:55 83:08 84:45 85:20 86:45 87:20 88:45 89:20 8A:45 8B:20 8C:45 8D:20 8E:45 8F:20 90:45 91:20 92:45 93:20 94:45 95:20 96:40 97:48 98:50 99:50 9A:58 9B:72 9C:48 9D:E1 9E:51 9F:08 A0:41 A1:20 A2:45 A3:20 A4:45 A5:20 A6:45 A7:20 A8:45 A9:20 AA:45 AB:20 AC:45 AD:20 AE:45 AF:20 B0:40 B1:36 B2:58 B3:3E B4:5C B5:51 B6:48 B7:E1 B8:51 B9:08 BA:41 BB:20 BC:45 BD:20 BE:45 BF:20 C0:45 C1:20 C2:45 C3:20 C4:45 C5:20 C6:45 C7:20 C8:45 C9:20 CA:12 CB:21 CC:2D CD:0F CE:1E CF:1E 00:00
2016-04-05 11:32:12 actuator 0
2016-04-05 11:32:12 battery ok
2016-04-05 11:32:12 batteryLevel 3.1
2016-04-05 11:32:12 desired-temp 15.5
2016-04-05 11:32:12 measured-temp 21.7
2016-04-05 11:32:12 motorErr ok
2016-04-05 11:21:53 state CMDs_done
2016-04-04 00:27:43 time-request -
Helper:
HM_CMDNR 82
PONtest 1
cSnd 0142424239881300040000000007,0142424239881300040000000007
mId 0095
rxType 140
Expert:
def 1
det 0
raw 1
tpl 0
Io:
newChn +398813,00,00,00
nextSend 1459848732.60175
prefIO
rxt 0
vccu
p:
398813
00
00
00
Mrssi:
mNo 52
Io:
hmusb -47
Prt:
awake 0
bErr 0
sProc 0
Rspwait:
Q:
qReqConf
qReqStat
Role:
dev 1
prs 1
Rssi:
At_hmusb:
avg -46.4740880503145
cnt 7950
lst -49
max -32
min -67
Hmusb:
avg -44.4711538461538
cnt 104
lst -51
max -33
min -58
Shadowreg:
Attributes:
IODev hmusb
actCycle 000:10
actStatus alive
autoReadReg 5_readMissing
expert 2_raw
firmware 1.4
model HM-CC-RT-DN
room Bad
serialNr MEQ0567302
subType thermostat
Bin mir nicht sicher, ob es hier zum Problem beiträgt, unschön ist es allemal: Du hast einige Kanäle des Device umbenannt, einige haben noch den alten Namen.
Empfehlung für's umbenennen von HM Devices mit mehreren Kanälen: beim Hauptdevice ein
set <hauptdevice> deviceRename <neuername>
machen (geht gut auch übers WebInterface, da ist deviceRename in der Liste der "set" Befehle aufgeführt). Dann bekommen alle Kanäle durchgängig den korrekten Präfix.
Peter
Zunächst hatte ich alle Kanäle auf den gleichen Namen gesetzt. Doch mit den Fehlermeldungen habe ich dann lerdiglich das Hauptdevice und 2 Kanäle hin und her umbenannt. Dass es mit nur einem Befehl geht, wusste ich nicht. Nun habe ich aber alle Kanäle mit "set <hauptdevice> deviceRename <neuername>" umbenannt. Nachdem ich "set HM_Bad_Clima getConfig" und dem anschließenden "get hm regCheck" eingegeben habe, taucht der Fehler immer noch auf.
Hilfe, wo kommt mein Fehler her?
Ich habe nun alle Kanäle umbenannt in HM_Bad_xxx.
Nach dem reload von 99-myUtils.pm erscheint wieder mehrfach die Meldung Please define HM_398813_Clima first und auch alle anderen Kanäle.
Nach dem regCheck wird als Ergebnis weiterhin missing register list HM_Bad_Clima angezeigt.
Wo kommt der Fehler her? Irgendwas mache ich falsch, aber ich weiß nicht was. :'(
Getconfig
Die reihenfolge der definitionen beruecksichtigen
Zitat von: martinp876 am 05 April 2016, 16:05:53
Getconfig
Die reihenfolge der definitionen beruecksichtigen
Das verstehe ich nicht. Ich habe gedacht, nach dem getConfig prüfe ich mit regCheck die Einstellungen.
Checkconfig ist umfassender.
Wann kommt der fehler?
Die reihenfolge der definition im .cfg ist relevant beim reboot.
Was dein utils macht kann ich nicht beurteilen (sehen)
So einen Effect hatte ich kürzlich bei einem anderen Sensor.
https://forum.fhem.de/index.php/topic,51629 (https://forum.fhem.de/index.php/topic,51629)
Ich habe damals alle readings mit clear Readings gelöscht und anschließend
den Connect button des Sensors nochmal gedrückt. Anschließend wurden alle
Readings korrekt angezeigt.
Evtl. war das auch das Glück des Unwissenden.
:)
linuxpaul
Moin moin,
ich habe seit gestern wieder vieles probiert, getestet und gelesen.
Checkconfig hat folgendes ergeben:
configCheck done:
missing register list
HM_Bad_Clima: RegL_07.
Register changes pending
HM_Bad_Clima
templist mismatch
HM_Bad_Clima: file: ././tempList.cfg for HM_Bad_Clima does not exist
Aus der fhemwiki habe ich folgende Korrekturmaßnahme entnommen:
set HM_Bad_Clima getConfig
Leider beseitigt die Maßnahme nicht die Fehlermeldung.
So sieht meine 99_myUtils.pm aus:
##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.
#==========================================================================
# erstell am 26.3.2016
# 1. Programm für Heizkörperthermostat
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
# Enter you functions below _this_ line.
# HM_Bad Temperatur setzen
sub
SetTempList_HM_Bad()
{
{ fhem ("set HM_Bad_Clima tempListMon prep 04:30 16.0 05:10 22.0 06:30 23.0 18:30 18.0 22:00 18.0 24:00 16.0")};
{ fhem ("set HM_Bad_Clima tempListTue prep 06:00 16.0 06:30 20.0 09:30 22.0 18:30 18.0 22:00 18.0 24:00 16.0")};
{ fhem ("set HM_Bad_Clima tempListWed prep 04:30 16.0 05:10 22.0 06:30 23.0 18:30 18.0 22:00 18.0 24:00 16.0")};
{ fhem ("set HM_Bad_Clima tempListThu prep 06:00 16.0 06:40 20.0 09:30 22.0 18:30 18.0 22:00 18.0 24:00 16.0")};
{ fhem ("set HM_Bad_Clima tempListFri prep 04:30 16.0 05:10 22.0 06:30 23.0 18:30 18.0 22:00 18.0 24:00 16.0")};
{ fhem ("set HM_Bad_Clima tempListSat prep 07:00 16.0 09:00 21.0 09:30 22.5 18:30 18.0 22:00 18.0 24:00 16.0")};
{ fhem ("set HM_Bad_Clima tempListSun exec 07:00 16.0 09:00 21.0 09:30 22.5 18:30 18.0 22:00 18.0 24:00 16.0")};
}
1;
Ich habe es nun hinbekommen, die Temperaturlisten im Thermostat zu ändern. Nach dem Ändern der Datei 99_myUtils.pm nehme ich Änderungen so vor:
Save 99_myUtils.pm
reload 99_myUtils.pm
Hier kommt dann folgende Anzeige:
Messages collected while initializing FHEM:
statefile: Please define ActionDetector first
Please define ActionDetector first
Please define ActionDetector first
Please define HM_398813_Clima first
Please define HM_398813_Clima first
...
Das ist das, was ich überhaupt nicht verstehe, denn HM_398813_Clima habe ich nicht mehr. Diese Please define... stehen auch in der fhem.cfg. Löschen bringt nichts, weil das nach diversen Aktionen wieder in der fhem.cfg steht.
Anschließend gebe ich noch ein:
{SetTempList_HM_Bad()}
list HM_Bad_Clima
Mit dem letzten Befehl überprüfe ich die Einstellungen.
Hier noch ein Auszug aus meiner fhem.cfg
attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd Messages collected while initializing FHEM:\
statefile: Please define ActionDetector first\
Please define ActionDetector first\
Please define ActionDetector first\
Please define HM_398813_Clima first\
Please define HM_398813_Clima first\
...
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 3
define telnetPort telnet 7072 global
define WEB FHEMWEB 8083 global
attr WEB hiddenroom updatecheck
attr WEB menuEntries updatecheck
#attr WEB stylesheetPrefix dark
define WEBphone FHEMWEB 8084 global
attr WEBphone icon it_smartphone
attr WEBphone stylesheetPrefix smallscreen
define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix touchpad
# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log
define eventTypes eventTypes ./log/eventTypes.txt
# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
...
define hmusb HMLAN 127.0.0.1:1234
attr hmusb hmId 424242
attr hmusb hmLanQlen 1_min
attr hmusb loadLevel 0:low,40:batchLevel,90:high,99:suspended
define HM_Bad CUL_HM 398813
attr HM_Bad IODev hmusb
attr HM_Bad actCycle 000:10
attr HM_Bad actStatus alive
attr HM_Bad autoReadReg 5_readMissing
attr HM_Bad expert 2_raw
attr HM_Bad firmware 1.4
attr HM_Bad model HM-CC-RT-DN
attr HM_Bad room Bad
attr HM_Bad serialNr MEQ0567302
attr HM_Bad subType thermostat
define HM_Bad_Weather CUL_HM 39881301
attr HM_Bad_Weather model HM-CC-RT-DN
attr HM_Bad_Weather peerIDs 00000000,
define HM_Bad_Climate CUL_HM 39881302
attr HM_Bad_Climate model HM-CC-RT-DN
attr HM_Bad_Climate peerIDs 00000000,
define HM_Bad_WindowRec CUL_HM 39881303
attr HM_Bad_WindowRec model HM-CC-RT-DN
attr HM_Bad_WindowRec peerIDs 00000000,
attr HM_Bad_WindowRec stateFormat last:trigLast
define HM_Bad_Clima CUL_HM 39881304
attr HM_Bad_Clima model HM-CC-RT-DN
attr HM_Bad_Clima peerIDs 00000000,
attr HM_Bad_Clima room Bad
define HM_Bad_ClimaTeam CUL_HM 39881305
attr HM_Bad_ClimaTeam model HM-CC-RT-DN
attr HM_Bad_ClimaTeam peerIDs 00000000,
define HM_Bad_remote CUL_HM 39881306
attr HM_Bad_remote model HM-CC-RT-DN
attr HM_Bad_remote peerIDs 00000000,
define ActionDetector CUL_HM 000000
attr ActionDetector IODev hmusb
attr ActionDetector event-on-change-reading .*
attr ActionDetector model ActionDetector
define hm HMinfo
attr hm sumERROR battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorErr:ok,error:none,uncertain:[no|yes],smoke_detect:none,cover:closed
attr hm sumStatus battery,sabotageError,powerError,motor
attr hm webCmd update:protoEvents short:rssi:peerXref:configCheck:models
So, das sind nun erst einmal sehr viele Infos. Ich hoffe, dass jemand eine Idee hat.
@linuxpaul
Da ich gerade nicht Zuhause bin, werde ich heute Abend einmal den connectbutton drücken.
Gruß
Apollon
Moin moin,
ich auf Vorschlag von linuxpaul die Geräte neu gepairt. Hat aber nichts gebracht.
In meiner Verzweiflung habe ich fhem gestoppt und gestartet. Damit sind nun die entscheidenen Fehler verschwunden. Die Readings sehen nun ganz anders aus. Der configCheck hat folgendes Ergebnis gebracht: templist mismatch
HM_Bad_Clima: file: ././tempList.cfg for HM_Bad_Clima does not exist
Um das tempList.cfg werde ich mich nun kümmern. Ich sehe allerdings nicht, wo in HM_Bad_Clima der Verweis auf die Datei ist.
Gruß
Apollon
attr <climatechn> tempListTmpl none
@frank
Das war es. Nun bekomme ich keine Fehlermeldung mehr.
Danke an alle, die mir geholfen haben.