tempList.cfg temperatur Profile

Begonnen von x347, 23 Oktober 2014, 14:03:07

Vorheriges Thema - Nächstes Thema

tpm88

Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

x347

Hallo,

bei mir funktioniere soweit nun auch alles Danke dafür =).
Ein Problem, habe ich allerdings noch, ein Thermostat wehrt sich gegen das Tempprofil.

set hm tempList restore meintempprofil.cfg
nach diesem Befehl, steh überall passed.
nach einem verify, steht fail.

Wenn ich in das Thermostat reingehe über die Oberfläche, dann schaut alles anders aus als normal und bei Templist steht incomplete:

R-boostPeriod

set_5 min

2014-11-25 11:48:55
R-boostPos

set_80 %

2014-11-25 11:48:55
R-btnNoBckLight

set_off

2014-11-25 11:48:55
R-dayTemp

set_21 C

2014-11-25 11:48:55
R-daylightSaveTime

set_on

2014-11-25 11:48:55
R-decalcTime

set_11:00

2014-11-25 11:48:55
R-decalcWeekday

set_Sat

2014-11-25 11:48:55
R-modePrioManu

set_all

2014-11-25 11:48:55
R-modePrioParty

set_all

2014-11-25 11:48:55
R-nightTemp

set_17 C

2014-11-25 11:48:55
R-noMinMax4Manu

set_off

2014-11-25 11:48:55
R-regAdaptive

set_on

2014-11-25 11:48:55
R-reguExtI

set_15

2014-11-25 11:48:55
R-reguExtP

set_30

2014-11-25 11:48:55
R-reguExtPstart

set_30

2014-11-25 11:48:55
R-reguIntI

set_15

2014-11-25 11:48:55
R-reguIntP

set_30

2014-11-25 11:48:55
R-reguIntPstart

set_30

2014-11-25 11:48:55
R-showInfo

set_time

2014-11-25 11:48:55
R-showWeekday

set_off

2014-11-25 11:48:55
R-sign

off

2014-10-19 11:04:58
R-tempMax

set_30.5 C

2014-11-25 11:48:55
R-tempMin

set_4.5 C

2014-11-25 11:48:55
R-tempOffset

set_0.0K

2014-11-25 11:48:55
R-valveErrPos

set_15 %

2014-11-25 11:48:55
R-valveMaxPos

set_100 %

2014-11-25 11:48:55
R-valveOffsetRt

set_0 %

2014-11-25 11:48:55
R-winOpnBoost

set_off

2014-11-25 11:48:55
R-winOpnDetFall

set_1.4 K

2014-11-25 11:48:55
R-winOpnMode

set_on

2014-11-25 11:48:55
R-winOpnPeriod

set_15 min

2014-11-25 11:48:55
R-winOpnTemp

set_12 C

2014-11-25 11:48:55
R_0_tempListSat

incomplete

2014-11-25 20:30:59
R_1_tempListSun

incomplete

2014-11-25 20:30:59
R_2_tempListMon

incomplete

2014-11-25 20:30:59
R_3_tempListTue

incomplete

2014-11-25 20:30:59
R_4_tempListWed

incomplete

2014-11-25 20:30:59
R_5_tempListThu

incomplete

2014-11-25 20:30:59
R_6_tempListFri

incomplete

2014-11-25 20:30:59
R_tempList_State

incomplete

2014-11-25 20:30:59
ValvePosition

100

2014-11-25 20:18:19
boostTime

-

2014-11-25 20:18:19
controlMode

auto

2014-11-25 20:18:19
desired-temp

13.0

2014-11-25 20:18:19
measured-temp

8.6

2014-11-25 20:18:19
motorErr

ok

2014-11-25 20:18:19
partyEnd

-

2014-11-25 20:18:19
partyStart

-

2014-11-25 20:18:19
partyTemp

-

2014-11-25 20:18:19
state

T: 8.6 desired: 13.0 valve: 100

2014-11-25 20:18:19


Warum steht hier vor jeder Zeile "set_..." davor? Das bei keinem anderen so!
Kann mir einer Helfen woran liegt das?

Viele Grüße
Alexander


martinp876

der registerwert sollte geändert werden - aber es ist eben nicht der aus dem device gelesene wert. ein getconfig wird da set_ verschwinden lassen. Den Wert kannst du danach prüfen - hoffentlich on

chriss

Hallo,

bin auch gerade bei meinen ersten Schritten mit FHEM und habe scheinbar das gleiche Problem (welches ja eigentlich behoben sein sollte): Wenn ich mittels
set hm tempList restore FHEM/heizung_urlaub.cfg ein anderes Temperaturprofil setzen will, bekomme ich die Fehlermeldung

Zitat
fail  : schlafzimmer for Schlafzimmer_Klima: file: tempList.cfg for Schlafzimmer_Klima does not exist
fail  : wohnzimmer for CUL_HM_HM_CC_RT_DN_2E7F2C_Clima: file: tempList.cfg for CUL_HM_HM_CC_RT_DN_2E7F2C_Clima does not exist
fail  : wohnzimmer for CUL_HM_HM_CC_RT_DN_2E7FA3_Clima: file: tempList.cfg for CUL_HM_HM_CC_RT_DN_2E7FA3_Clima does not exist
fail  : wohnzimmer for Wohnzimmer_Klima: file: tempList.cfg for Wohnzimmer_Klima does not exist

FHEM sucht also immer noch nach der Datei tempList.cfg statt nach FHEM/heizung_urlaub.cfg. Meine Versionsstände lauten:

Zitat
# $Id: fhem.pl 7283 2014-12-21 16:14:16Z rudolfkoenig $
# $Id: 10_CUL_HM.pm 7293 2014-12-21 18:09:32Z martinp876 $
# $Id: 01_FHEMWEB.pm 7284 2014-12-21 16:18:32Z rudolfkoenig $
# $Id: 92_FileLog.pm 7135 2014-12-05 21:11:17Z rudolfkoenig $
# $Id: 00_HMLAN.pm 7104 2014-11-30 18:55:56Z martinp876 $
# $Id: 98_HMinfo.pm 7086 2014-11-29 09:40:41Z martinp876 $
# $Id: 99_SUNRISE_EL.pm 6765 2014-10-14 18:24:29Z rudolfkoenig $
# $Id: 98_SVG.pm 7245 2014-12-17 16:13:07Z rudolfkoenig $
# $Id: 99_Utils.pm 6660 2014-10-03 06:35:43Z rudolfkoenig $
# $Id: 98_autocreate.pm 6505 2014-09-06 12:24:48Z rudolfkoenig $
# $Id: 98_dummy.pm 4934 2014-02-15 08:23:12Z rudolfkoenig $
# $Id: 91_eventTypes.pm 7221 2014-12-15 10:02:49Z rudolfkoenig $
# $Id: 91_notify.pm 7260 2014-12-19 12:50:49Z rudolfkoenig $
# $Id: 98_statistics.pm 7251 2014-12-18 06:24:55Z tpoitzsch $
# $Id: 98_telnet.pm 6611 2014-09-24 07:48:32Z rudolfkoenig $
# $Id: 98_update.pm 6784 2014-10-18 09:12:57Z rudolfkoenig $

Mache ich etwas falsch oder existiert der Bug immer noch?

Gruß,
Chris

martinp876

hm - das ist doch etwas komplex. Es gibt viele einstellungen.
zum einen HMInfo mit dem config directory
dann das attribut tempListTempl
dann die Daten aus dem File.

Evtl zu viele optionen.

was steht in tempListtemplate des einzelnen device? Wenn darin nichts steht ist bei mir alles i.o.

chriss

Sorry, hat etwas länger gedauert, da ich die Tage unterwegs war...

In meinen "tempListTempl" stehen die jeweiligen entities drin. Also in "Schlafzimmer_Clima" steht "schlafzimmer". Diese entity ist natürlich auch im cfg-File enthalten. modpath steht bei mir auf "." (default), die cfg-Datei liegt im Unterverzeichnis FHEM/

martinp876

Zitatdie cfg-Datei liegt im Unterverzeichnis FHEM/
dort ist nicht "."
setze sie nach "fhem".

probiere auch einfach saveConfig, dann sollte FHEM ggf ein file anlegen. Dort ist es richtig.

nebenbei: ich habe ein dir "setup" angelegt, in das ich all diese File schreibe.
attr <Clima> tempListTmpl setup/tempList.cfg:Bad



chriss

Schon klar, aber ich verwende doch folgenden Parameter:

set hm tempList restore FHEM/heizung_urlaub.cfg

das Verzeichnis "FHEM" liegt in "/opt/fhem", sollte also passen. Ich probiere es mal im übergeordneten Verzeichnis...

Zitat
nebenbei: ich habe ein dir "setup" angelegt, in das ich all diese File schreibe.
attr <Clima> tempListTmpl setup/tempList.cfg:Bad

Mein Ansatz ist, nirgendwo explizit den Dateinamen anzugeben, um diesen nur als Parameter von restore/verify zu verwenden. Dazu möchte ich verschiedene cfg-Files für verschiedene Basiszustände verwenden, also default.cfg, urlaub.cfg, anwesend.cfg etc. Sollte doch gehen, oder?

chriss

Zitat
dort ist nicht "."
setze sie nach "fhem".

Habe ich auch probiert, funktioniert leider auch nicht.

martinp876

hast du schon ein
set hm tempList save
probiert?

sollte dein file abspeichern.

Ja, man sollte mit den Kommandos immer ein tempalte nutzen können ohne das attribut zu setzen. Natürlich reicht das file nicht, du muss es dann immer komplett eingeben. also file:templatename.

chriss

Zitat
hast du schon ein
set hm tempList save
probiert?

Ja. set hm tempList save erzeugt, wie erwartet eine entsprechende Datei in /opt/fhem/. Verwende ich
set hm tempList save FHEM/testfile.cfg, wird wie erwartet das file testfile.cfg im Verzeichnis /opt/fhem/FHEM/ erzeugt.

Ein anschliessendes set hm tempList restore FHEM/testfile.cfg führt wieder zu obiger Fehlermeldung:

Zitat
fail  : schlafzimmer for Schlafzimmer_Clima: schlafzimmer not found in file tempList.cfg
fail  : wohnzimmer for CUL_HM_HM_CC_RT_DN_2E7F2C_Clima: wohnzimmer not found in file tempList.cfg
fail  : wohnzimmer for CUL_HM_HM_CC_RT_DN_2E7FA3_Clima: wohnzimmer not found in file tempList.cfg
fail  : wohnzimmer for Wohnzimmer_Climate: wohnzimmer not found in file tempList.cfg

Es wird, so wie ich die Fehlermeldung verstehe, wieder nach tempList.cfg gesucht anstatt nach FHEM/testfile.cfg

Zitat
Ja, man sollte mit den Kommandos immer ein tempalte nutzen können ohne das attribut zu setzen. Natürlich reicht das file nicht, du muss es dann immer komplett eingeben. also file:templatename.

Ich probiere das ja etwas anders: In den Attributen gebe ich nur den Templatenamen an, z.B. "schlafzimmer" und beim restore gebe ich das file an, z.B. "heizung_urlaub.cfg".

BTW: Mir ist noch aufgefallen, dass die erzeugten cfg-Files als Entities die Namen der jeweiligen Geräte verwenden und nicht die unter dem Attribut tempListTmpl angegebenen Namen. Das ist so gewollt? Denn dadurch funktioniert ein "store" mit anschliessendem "restore" ja auch nicht, unabhängig vom verwendeten Filenamen.

martinp876

habe es überarbeitet. Sollte jetzt funktionieren.
Im Attribut kann man angeben:
0 oder none: kein template genutzt
templateName : filename wird aus default genommen
file:templateName: filename und template ist fix

Kommando inHMInfo:
tempList: man kann einen filenamen angeben. Der wird genommen, wenn im attribut keiner steht
tempListTmpl: man gibt ein template an - das overruled das Attribut.

teste einmal. Version 7388 cul_hm und hminfo werden benötigt

chriss

Prima. Habe es gerade ausprobiert und scheint zu funktionieren. Muss aber noch etwas intensiver testen.

Nun kann man sehr einfach zwischen verschiedenen Temperaturprofilen wechseln, indem man eine Datei pro Profil verwendet. In dieser Datei können, wenn gewünscht, mittels Entities für jedes Thermostat andere Temperaturen vorgegeben werden. Umschalten kann man einfach, indem mit "restore" eine andere Datei ausgewählt wird. Klappt auch prima z.B. mit dem LightScene Modul.

bgewehr

#43
Hallo!

Ich nutzen das HMInfo Modul für die Temperaturlistenverwaltung.

Mit Jörgs fronthem-Schnittstelle habe ich smartVISU angebunden.
Zunächst habe ich ein homematic-widget für smartvisu erstellt, das die einzelnen timer readings anzeigen und bearbeiten kann.
Darauf habe ich nun Buttons angeordnet, um die folgenden Aktionen auszulösen:

- init: Zurück zur Einstellung, die in tmpList.cfg gespeichert ist
- save: aktuellen Stand in eine Datei speichern, die den Namen des Device hat
- restore: zuletzt gespeicherten STand aus o. g. Datei wieder einlesen

Mir gelingt es, eine Liste zu speichern. Sie wird im Verzeichnis fhem erzeugt.

Datei ../fhem/Ventil_Raum_1.cfg






entities:Ventil_Raum1_Clima
R_0_tempListSat> 06:00 17.0 22:00 21.0 24:00 17.0
R_1_tempListSun> 06:00 17.0 22:00 21.0 24:00 17.0
R_2_tempListMon> 06:00 17.0 09:00 21.0 17:00 17.0 22:00 20.0 24:00 17.0
R_3_tempListTue> 06:00 17.0 09:00 21.0 17:00 17.0 22:00 20.0 24:00 17.0
R_4_tempListWed> 06:00 17.0 09:00 21.0 17:00 17.0 22:00 20.0 24:00 17.0
R_5_tempListThu> 06:00 17.0 09:00 21.0 17:00 17.0 22:00 20.0 24:00 17.0
R_6_tempListFri> 06:00 17.0 09:00 21.0 17:00 17.0 22:00 20.0 24:00 17.0



Auffällig hier, dass die Liste bei jedem Speichern eine Leerzeile oben ergänzt. Habt Ihr das auch?

Mir gelingt es nur selten, diese wieder zu restoren.

Wenn ich das manuell mit

set Ventil_Raum1_clima tmpList -f Ventil restore Ventil_Raum_1.cfg

versuche, bekomme ich oft die Meldung


fail  : ././Ventil_Raum_1.cfg:Ventil_Raum1_Clima for Ventil_Raum1_Clima:
Ventil_Raum1_Clima: tempList not verified


Was bedeutet das?
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

martinp876

ZitatVentil_Raum1_Clima: tempList not verified
die Liste ist nicht bestätigt. du musst die Liste aus dem RT zurücklesen, dann ist die ím FHEM "verifiziert". Dies e kannst du dann über HMInfo mit dem file vergleichen.
autoReadReg sollte das Lesen automatisch machen - dauert natürlich ein paar minuten, systembedigt.