Die lieben Credits - debugging

Begonnen von f.reddy, 21 März 2013, 23:25:34

Vorheriges Thema - Nächstes Thema

f.reddy

Hallo zusammen,

beim Schreiben des Wochenplans auf ein MAX Thermostat sind mir nun schon mehrfach die Credits ausgegangen - so in einem Rutsch klappts nicht so recht.
Zugegeben - gleichzeitig lief MaxScan, ich hab mir der Android APP experimentiert und dann versucht über telnet wieder einiges grade zu biegen...
Das kann schon etwas viel gewesen sein.

Trotzdem würde ich gerne vestehen wo es hängt. Meine Credits steigen bis auf etwa 120, dann werden Sie wieder genullt. Das MaxScan ist aus, sollte jedoch auch erst ab 400C aktiv werden.
get CUL raw T02 gibt mir N/A zurück -> Buffer leer oder klappt der Befehl nicht!??
Ich konnte keine Änderungen am Heizplan feststellen - trotzdem sind die Credits weniger geworden


Meine Frage ist nun: Zählen die Credits auch hoch, obwohl der CUL noch was im Buffer hat und wie komm ich an die Infos, was mir die Credits aufbraucht?

Schonmal Danke für die Antworten!

Gruß
Stefan

mfeske

Hallo Stefan,

konntest Du das Problem schon lösen ? Bei mir läuft auch Max Scan und momentan nur 2 Thermostate und mir gehen auch ständig die credits aus :-( Der Wochenplan wird bei mir über eine Funktion immer neu geschrieben, wenn jemand an- oder abwesend ist.

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

fermoll

Erstens hat EQ-3 (ELV) das Max-System nicht für den CUL entworfen, sondern im Zusammenspiel mit den eigenen Komponenten. Es ist nur der Tüftelei vieler zu verdanken, dass die Kommunikation entschlüsselt wurde, sehr wahrscheinlich auch nicht vollständig. Das gilt wohl auch für andere Komponenten, z.B. Homematik. Allerdings scheinen mir die System an sich auch nicht ausgereift, da ELV bei der Steuerung, z.B. über den Server Probleme zu haben scheint. Bei f.reddy fällt mir auf, dass der CUL mit 433 mHz und im HM-Mode 868 mHz nebeneinander läuft. Das scheint mir grenzwertig, da er jedes Mal umschalten muss. Wenn es denn überhaupt möglich ist. Wie man den DutyCycle des Cul protokollieren kann, weiss ich allerdings nicht, da ich den Cube verwende.
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

HaraldP

Ja, das übliche Credits-Problem. Ich habe in meinem CUL die max. Credits auf 3600 hochgesetzt, wie das hier schon mal vorgeschlagen wurde. Seit dem habe ich Ruhe.
Harald
CUL auf RPi, 3 MAX HT + 1 MAX WT(Wohnzimmer); 1 MAX HT+ mit 1x MAX HT(Küche); 1 MAX HT+ mit 1x MAX HT(Schlafzimmer);  1 MAX HT(Bad); 1 Max HT(Bastelzimmer)

mfeske

Harald,

ich glaube zu wissen Du hast damit was gemacht, was gegen Gesetze verstößt. Wenn das Limit erreicht ist hat das meist einen Grund.

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

HaraldP

Das "Gesetz" spricht von der 1% Regel. Das bedeutet, dass man während einer Stunde nur 36s lang senden darf. Bei dem hier verwendeten 10ms Raster sind das 3600 Credits. Die Reduzierung auf 900 ist willkürlich gewählt.
Aber das Ganze wurden hier schon ausführlich diskutiert.
CUL auf RPi, 3 MAX HT + 1 MAX WT(Wohnzimmer); 1 MAX HT+ mit 1x MAX HT(Küche); 1 MAX HT+ mit 1x MAX HT(Schlafzimmer);  1 MAX HT(Bad); 1 Max HT(Bastelzimmer)

mfeske

und Du meinst wirklich die Entwickler würden grundlos 2700 Credits "verschenken" ?
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

HaraldP

So richtig erklären, wie es zu dem 900er Wert kam, kann das offensichtlich keiner.
Hier die Diskussion:
http://forum.fhem.de/index.php?action=post;quote=56791;topic=9997.0;last_msg=57635
CUL auf RPi, 3 MAX HT + 1 MAX WT(Wohnzimmer); 1 MAX HT+ mit 1x MAX HT(Küche); 1 MAX HT+ mit 1x MAX HT(Schlafzimmer);  1 MAX HT(Bad); 1 Max HT(Bastelzimmer)

Tion

Falls ich mich recht erinnere , sind die 900 credits pro 15min. Damit man nicht gleich seine 3600 verbrät und dann ne Stunde gewartet werden muss.
FHEM@CT||RFXTRX,CUL868@MAX,HM-Usb,JeeLink
Jee:TX29DTH-IT||Max:Thermostat,ShutterContact,
HM:SEC-MDIR,LC-SW1-PL2,LC-Dim1TPBU-FM,PB-2-WM55
RFX:FA20RF/2, HE501EU,ITL-230,OWL Intuition-lc,YCT-100,div Brennstuhl,IT 1500
FS20:IRU,KSE||FbDect 200,EG-PM2-LAN

HaraldP

Also im culfw ist folgendes implementiert: Pro Sekunde wird credit_10ms um ein erhöht, bis MAX_CREDIT (=900) erreicht ist. Beim Senden wird credit_10ms um einen entsprechenden Wert vermindert, aber nicht unter Null. Ist credit_10ms==0, dann wird nicht gesendet.
In der Allgemeinzuteilung Vfg30/2014 ist von der 1% Regel die Rede. Dazu gibt es die folgende Fußnote:

"Arbeitszyklus (relative Frequenzbelegungsdauer oder duty cycle in %) ist definiert als anteilsmäßiger aktiver Sendebetrieb innerhalb einer Zeitdauer von einer Stunde zu einem beliebigen Zeitpunkt."

Damit ist m.E. klar, daß credit_10ms bis auf 3600, nämlich 1 Stunde, erhöht werden darf, wenn nicht gesendet wird.
CUL auf RPi, 3 MAX HT + 1 MAX WT(Wohnzimmer); 1 MAX HT+ mit 1x MAX HT(Küche); 1 MAX HT+ mit 1x MAX HT(Schlafzimmer);  1 MAX HT(Bad); 1 Max HT(Bastelzimmer)

Tion

FHEM@CT||RFXTRX,CUL868@MAX,HM-Usb,JeeLink
Jee:TX29DTH-IT||Max:Thermostat,ShutterContact,
HM:SEC-MDIR,LC-SW1-PL2,LC-Dim1TPBU-FM,PB-2-WM55
RFX:FA20RF/2, HE501EU,ITL-230,OWL Intuition-lc,YCT-100,div Brennstuhl,IT 1500
FS20:IRU,KSE||FbDect 200,EG-PM2-LAN

mfeske

#11
Also auch ohne Maxscan gehen mir bei zwei Stellantrieben jetzt immer die Credits aus und das obwohl sie in der gleichen Etage sind :-( Habt Ihr einen Tip wie ich vorgehen kann ?

Am CUL868 hat sich ja eigentlich nichts geändert:
Internals:
   CMDS       BbCFiAZEGMKUYRTVWXefmltux
   CUL868_MSGCNT 68
   CUL868_TIME Initialized
   Clients    :CUL_MAX:HMS:CUL_IR:STACKABLE_CC:
   DEF        /dev/serial/by-id/usb-busware.de_CUL868-if00@9600 1034
   DeviceName /dev/serial/by-id/usb-busware.de_CUL868-if00@9600
   FD         11
   FHTID      1034
   NAME       CUL868
   NR         22
   NR_CMD_LAST_H 31
   PARTIAL
   RAWMSG     Z0F8804600DCFBD00000000185A2900BD2D
   RSSI       -51.5
   STATE      Initialized
   TYPE       CUL
   VERSION    V 1.62 CUL868
   initString X21
Zr
Za123456
Zw111111
   Matchlist:
     1:CUL_MAX  ^Z........................
     8:HMS      ^810e04....(1|5|9).a001
     D:CUL_IR   ^I............
     H:STACKABLE_CC ^\*
   Readings:
     2015-01-08 19:16:54   ccconf          freq:868.300MHz bWidth:101KHz rAmpl:33dB sens:8dB
     2015-03-28 08:56:13   cmds             B b C F i A Z E G M K U Y R T V W X e f m l t u x
     2015-03-28 10:41:47   credit10ms      2
     2015-03-28 10:42:12   state           Initialized
   XMIT_TIME:
     1427532136.48563
     1427532257.09119
     1427532377.67394
     1427532498.26048
     1427532618.85193
     1427532730.44846
     1427532843.01381
     1427532964.57515
     1427533085.16969
     1427533205.76158
     1427533326.34791
     1427533446.94527
     1427533567.53952
     1427533688.12873
     1427533799.72632
     1427533912.29018
     1427534033.85804
     1427534154.45557
     1427534275.03787
     1427534395.63434
     1427534516.22063
     1427534636.8135
     1427534757.40453
     1427534869.00544
     1427534981.57416
     1427535103.14015
     1427535223.76345
     1427535344.35504
     1427535464.94658
     1427535585.5654
     1427535706.15782
Attributes:
   devStateIcon .*:cul_868
   hmId       240271
   icon       cul_868
   rfmode     MAX
   room       Funkzentrale


und am cm auch nichts:
Internals:
   CUL868_MSGCNT 69
   CUL868_RAWMSG Z0EE802020DCFBD1234560001185A29
   CUL868_RSSI -52
   CUL868_TIME 2015-03-28 10:43:47
   DEF        123456
   IODev      CUL868
   LASTInputDev CUL868
   MSGCNT     69
   NAME       cm
   NR         23
   STATE      Defined
   TYPE       CUL_MAX
   addr       123456
   cnt        0
   pairmode   0
   retryCount 0
   Readings:
     2015-03-25 14:30:04   packetsLost     656
   sendQueue:
     HASH(0x23a8108)
     HASH(0x23dc490)
     HASH(0x23ddac8)
     HASH(0x23ade08)
     HASH(0x23e6e48)
     HASH(0x23db238)
     HASH(0x23a77a8)
     HASH(0x23de200)
     HASH(0x23b8518)
     HASH(0x23dccd0)
     HASH(0x23ad9d0)
     HASH(0x23de3e0)
     HASH(0x23d3860)
     HASH(0x23dcb20)
     HASH(0x23935c8)
     HASH(0x23a8468)
     HASH(0x23dbe60)
     HASH(0x23daa28)
     HASH(0x23dc178)
     HASH(0x23a7f70)
     HASH(0x21dd328)
     HASH(0x21f3d30)
     HASH(0x2515ee8)
     HASH(0x250d358)
     HASH(0x23dc760)
     HASH(0x23dddf8)
     HASH(0x2516bf0)
     HASH(0x20bfdf8)
     HASH(0x20befb0)
     HASH(0x2392fc8)
     HASH(0x23dc970)
     HASH(0x20c0a10)
     HASH(0x20bf568)
     HASH(0x25167d0)
     HASH(0x20bf280)
     HASH(0x2518ec8)
     HASH(0x23dada0)
     HASH(0x25160b0)
Attributes:
   IODev      CUL868
   room       Funkzentrale


ein set CUL868 raw e ergibt jetzt leider 2015.03.28 10:51:20 1: Error in CUL_MAX_SendQueueHandler: CUL CUL868 did not answer request for current credits. Waiting 5 seconds.  :o ich bin am Ende :-(

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

John

Hallo Micha,
ZitatDer Wochenplan wird bei mir über eine Funktion immer neu geschrieben, wenn jemand an- oder abwesend ist.

darüber solltest du nochmals nachdenken.

Wie oft passiert das am Tag ?

Das ist wohl dein ShowStopper.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

mfeske

Hallo John,

ich hatte keine andere Möglichkeit gefunden als über die Funktion immer den kompletten Wochenplan zu schreiben. Das kann natürlich mehrfach am Tag passieren. Mein Sohn geht zur Schule, also abwesend neuer Wochenplan, er kommt wieder also anwesend, neuer Wochenplan. Exttremfall ist natürlich das Wochenende wo er ständig rein- und rausgeht.

Was würdet Ihr Vorschlagen? Ziel sollte halt sein, wenn er nicht da ist, das die Heizung aus ist.

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

John

Hi Micha,

ich empfehle dir den Wochenplan nach den planbaren Zeiten manuell einzurichten und nicht automatisiert zu modifizieren.

Wenn dein Sohn etwa regelmäßig um 14:00 Uhr nach Hause kommt, erhält der Thermostat um 14:00 Uhr - xy Minuten über den Wochenplan
einen neuen Sollwert.

Wenn er ausnahmsweise doch nicht kommt, würde ich das akzeptieren.

Das automatische Schalten über Anwesenheit hat sich bei mir nicht bewährt.

Wenn du das dennoch machen willst, kannst du ja einfach den Sollwert reduzieren und nicht den gesamten Wochenplan ändern.
Das wäre auch mit dem MaxScanner verträglich.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

mfeske

Hallo John,

versteh ich Dich richtig ?

Ich soll den Wochenplan auf Temperatur 15 Grad setzen. Wenn mein Sohn kommt wird die Temperatur 21 Grad gesetzt. Doch die wird doch beim nächsten Zeitpunkt aus dem Wochenplan überschrieben und in der Nacht sollen doch nur 18 Grad gesetzt werden.

Stichwort wird ein DOIF sein ?

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

mfeske

Hallo John,

ich habe das jetzt über off und auto realisiert, oder komme ich da jetzt in Konflikte mit dem Wochenplan?
define Heizung_Janic_presence DOIF ([Janic] eq "absent") ({SetTempList_Janic_Heizung_absent}) DOELSEIF ([Janic] eq "present") ({SetTempList_Janic_Heizung_present})
attr Heizung_Janic_presence room Janic


99_myUtils.pm
sub
SetTempList_Janic_Heizung_absent()
{
{ fhem ("set Heizung_Janic desiredTemperature off")};
}
sub
SetTempList_Janic_Heizung_present()
{
{ fhem ("set Heizung_Janic desiredTemperature auto")};
}
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)