FHEM Forum

FHEM - Hausautomations-Systeme => MAX => Thema gestartet von: fgam am 14 September 2016, 11:53:57

Titel: MAX! pairt nicht
Beitrag von: fgam am 14 September 2016, 11:53:57
Hallo,
ich versuche, ein MAX!-Heizkörperthermostat (basic) mit
fhem zu pairen.

Ich habe eine CUL-Adapter (http://shop.busware.de/product_info.php?products_id=29%22).

Das Thermostat geht in einen 30-Sekunden-Anlernmodus, aber fhem registriert kein
neues Gerät (autocreate ist aktiviert).

fhem zeigt ein CUL_MAX mit Namen cm als "defined".
Aber das Gerät wird beim pairen anscheinend nicht erkannt.

Ich habe das Thermostat nicht vorher an einen Cube angelernt.

Wie kann ich herausfinden, woran es liegt?
Titel: Antw:MAX! pairt nicht
Beitrag von: rubbertail am 14 September 2016, 11:59:56
1. Werksreset des Thermostats
2. genug Credits?
Titel: Antw:MAX! pairt nicht
Beitrag von: fgam am 14 September 2016, 12:02:38
Was sind credits?
Titel: Antw:MAX! pairt nicht
Beitrag von: rubbertail am 14 September 2016, 14:14:53
Der CUL ist beschränkt in seiner Sendezeit (such mal hier nach Credits - das ist quasi die "Maßeinheit", wieviel er noch senden darf, die füllt sich bei Nichtgebrauch wieder auf). Zum Pairen braucht er eine ganze Menge an solchen. Auf dem CUL kannst du die über einen get-Befehl (bin unterwegs und kann nicht nachsehen, aber "credits" kommt vor im auswählbaren Parameter) abfragen, maximal kann er 600 haben.
Über das Thema Credits und 1%-Regel mit dem CUL gibts aber Hunderte Artikel hier. :)
Titel: Antw:MAX! pairt nicht
Beitrag von: mahowi am 14 September 2016, 14:38:52
Wenn nicht genügend Credits mehr vorhanden sind kommt im Log eine Meldung in der Art von:
2: CUL_MAX_SendQueueHandler: Not enough credit! credit10ms is 4, but we need 110. Waiting 106 seconds.

Du solltest mal im Event-Monitor beobachten, was passiert, wenn Du pairen willst. Eventuell ist das Thermostat auch einfach zu weit weg vom CUL oder zu abgeschirmt, so daß die Funksignale nicht ankommen.

Du hast Dein CUL_MAX auch in den pairmode geschaltet, nehme ich doch an?
set cm pairmode
Titel: Antw:MAX! pairt nicht
Beitrag von: fgam am 14 September 2016, 15:32:41
Danke!

Unter dem Begriff "credits" habe ich natülich schon gesucht, in der Forumssuche kamen
aber leider nur 2 Links gefunden, nämlich die Beträge aus diesem Thema.
Auch in der allgmeine Web-Suche habe ich dazu nichts gefunden, auch nicht im Max-Wiki.
Vielleicht kann mir jemand einen Link zu einem Artikel, den ich nicht finde, das wäre schon
hilfreich.

Über die 1%-Regel hingegen habe ich schon vorher gelesen: das bezieht sich doch darauf, wie viele Geräte bereits
aktiv sind, oder?

Bei mir ist für den CUL aber das Thermostat das erste Gerät, dass ich überhaupt paire. Es laufen noch
keine anderen Devices unter CUL.

Ich habe allerdings noch einen Homematic-Stick parallel laufen, darauf sind schon mehrere Rolladenmotoren
gepairt, was auch funktioniert. Das sollte aber ja mit dem CUL-Stick nichts zu tun haben, oder?

Ich frage mich natürlich auch, ob der CUL selbst das Problem sein könnte.
In den Pair-Mode habe ich ihn versetzt, und auch geschaut, dass er dies im DeviceOverview
auch angibt (pairmode 1), während der 30 Sekunden, in denen das Gerät sendet.
Funkprobleme sollte es nicht geben, der Raspberry Pi, mi dem ich arbeite, steht 1.5 Meter
von der Heizung entfernt.

Im Eventmontior wird absolut gar nichts angezeigt.
Titel: Antw:MAX! pairt nicht
Beitrag von: mahowi am 14 September 2016, 16:01:11
Kannst Du mal ein list von CUL und CUL_MAX angeben? Also die Ausgabe von list cm und auch vom entsprechenden IODev.
Titel: Antw:MAX! pairt nicht
Beitrag von: fgam am 14 September 2016, 16:48:24
Internals:
   DEF        123456
   IODev      CUL0
   NAME       cm
   NR         27
   STATE      Defined
   TYPE       CUL_MAX
   addr       123456
   cnt        0
   pairmode   0
   retryCount 0
   sendQueue:
Attributes:
   IODev      CUL0
Titel: MAX! pairt nicht
Beitrag von: rubbertail am 14 September 2016, 16:49:49
Und bitte noch dasselbe vom device CUL0 :)

list CUL0

Hier ist wichtig, dass der RFMode vom CUL auch auf MAX gestellt ist... Sonst wirds nix.
Titel: Antw:MAX! pairt nicht
Beitrag von: fgam am 14 September 2016, 18:24:22
O.k., siehe unten.
Was ist denn CUL0?
Muss ich vielleicht CUL0 in den pairmode versetzen statt cm?

Internals:
   CMDS
   Clients    :CUL_MAX:HMS:CUL_IR:STACKABLE_CC:
   DEF        /dev/ttyACM0@9600 0000
   DeviceName /dev/ttyACM0@9600
   FHTID      0000
   NAME       CUL0
   NR         26
   PARTIAL
   STATE      disconnected
   TYPE       CUL
   initString X21
Zr
   Matchlist:
     1:CUL_MAX  ^Z........................
     8:HMS      ^810e04....(1|5|9).a001
     D:CUL_IR   ^I............
     H:STACKABLE_CC ^\*
   Readings:
     2016-09-13 22:44:11   state           disconnected
Attributes:
   rfmode     MAX
Titel: MAX! pairt nicht
Beitrag von: rubbertail am 14 September 2016, 20:07:02
Der Status ist "disconnected". Da ist der CUL noch nicht richtig eingerichtet.

Du brauchst

CUL (das Hardwaredevice) -> CUL_MAX (die Schnittstelle zu den MAX-Thermostaten) -> MAX-Komponenten.

Dein "cm" ist nur die "Zwischenschicht" zwischen Hardware-CUL und Komponenten, das reicht alleine nicht.

Erst müssen die beiden ersten Dinge stimmen, dann erst gehts mit dem Pairen.

Der Pairmodus war schon ok, aber wenn der CUL disconnected ist, wird das nix mit dem Pairen. :)

Ging denn mit dem CUL schonmal irgendwas?

Wenn du schon ein anderes USB-Dings verwendest, teste mal, ob es mit /dev/ttyACM1@9600 in der DEF geht - vielleicht sprichst du einfach den falschen USB-Stick an?
Titel: Antw:MAX! pairt nicht
Beitrag von: mahowi am 14 September 2016, 20:55:00
Das Problem mit ttyACM* oder ttyUSB* ist, daß diese nicht immer zwangsläufig gleich heißen nach einem Reboot. Auch beim ab- und anstecken ändert sich die Bezeichnung.
Besser ist es, auf /dev/serial/by-id/usb-xxx zu verweisen. In /dev/serial/by-id/ erscheinen die USB-Geräte mit eindeutiger ID. Diese ändert sich nicht, die Geräte hier sind symbolische Links zu den eigentlichen Schnittstellen.

Ich weiß jetzt nicht, wie die ID des Busware CUL aufgebaut ist, aber am einfachsten ist es, Du ziehst ihn mal ab, siehst Dir das Verzeichnis an und guckst nach, welches Device nach dem erneuten Einstecken auftaucht. Dann ersetzt Du das /dev/ttyACM0 durch /dev/serial/by-id/"ID vom CUL".
Titel: Antw:MAX! pairt nicht
Beitrag von: fgam am 14 September 2016, 22:41:00
Das klingt kompliziert. Ein Verzeichnis /dev/serial gibt es bei meinem Rasperry Pi3 nicht.

Ein lsusb liefert Folgendes:

Bus 001 Device 007: ID 03eb:2ff4 Atmel Corp. atmega32u4 DFU bootloader
Bus 001 Device 006: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 001 Device 005: ID 1b1f:c00f 
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Und Device 007 verschwindet, wenn ich den CUL-Stick abziehe.
Was muss ich denn dann genau eingeben bei dem define-Befehl?

Titel: Antw:MAX! pairt nicht
Beitrag von: mahowi am 14 September 2016, 23:45:59
Zitat von: fgam am 14 September 2016, 22:41:00
Bus 001 Device 007: ID 03eb:2ff4 Atmel Corp. atmega32u4 DFU bootloader

Das sieht für mich so aus, als ob auf dem CUL gar keine Firmware installiert ist. Ich würde mal sagen, da muß erst culfw oder a-culfw drauf.
Aber vielleicht meldet sich ja noch jemand mit einem Busware CUL.
Titel: MAX! pairt nicht
Beitrag von: rubbertail am 15 September 2016, 12:29:13
Hast du denn mal ne Firmware auf dem CUL installiert? Wenn nein, muss das vorher geschehen... Unter www.culfw.de steht, wie's geht.

Out of the Box mag der CUL noch nicht.
Titel: Antw:MAX! pairt nicht
Beitrag von: fgam am 16 September 2016, 13:16:24
O.k., ich habe ihn geflasht:

sudo dfu-programmer atmega32u4 flash  --debug 1 CUL_V2_MAX.hex
Checking memory from 0x0 to 0x2F7F...  Empty.
0%                            100%  Programming 0x2F80 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
0%                            100%  Reading 0x7000 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
Validating...  Success
0x2F80 bytes written into 0x7000 bytes memory (42.41%).

Jetzt bekomme ich den  atmega32u4 unter lsusb aber anscheinend gar nicht mehr angezeigt:

Bus 001 Device 004: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 001 Device 005: ID 1b1f:c00f 
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Ist er ganz veschwunden???
Wenn ich den Stick abziehe, sieht das genauso aus:

Bus 001 Device 004: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 001 Device 005: ID 1b1f:c00f 
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub





Titel: Antw:MAX! pairt nicht
Beitrag von: mahowi am 16 September 2016, 13:39:43
Da kann ich leider nicht weiterhelfen, ich habe nur einen nanoCUL und zwei umgeflashte Cubes. Aber Du solltest dazu nochmal im CUL-Board (https://forum.fhem.de/index.php/board,47.0.html) nachfragen. Da bekommst Du wahrscheinlich eher Hilfe als hier im MAX-Board.

Titel: Antw:MAX! pairt nicht
Beitrag von: fgam am 16 September 2016, 15:38:01
O.k., das probiere ich, vielen Dank.
Die Sache ist durch Eure Tips ja schon einige
Schritte weiter!
Titel: Antw:MAX! pairt nicht
Beitrag von: LuckyDay am 16 September 2016, 16:18:58
wenn du den [CULV3-OEM] bestellt hast,
Warum flascht du dann eine Software für V2
Zitatsudo dfu-programmer atmega32u4 flash  --debug 1 CUL_V2_MAX.hex

die wäre richtig  CUL_V3.hex
Titel: Antw:MAX! pairt nicht
Beitrag von: fgam am 16 September 2016, 19:22:37
Sehr schön, danke!

Habe das device wieder und mit der richtigen Version geflasht.

Trotzdem ist das Device noch "disconnected".

Welches ist denn jetzt der richtigte tty btzw. die richtige DEVICE-definition?

lsusb sagt:

Bus 001 Device 006: ID 03eb:2ff4 Atmel Corp. atmega32u4 DFU bootloader
Titel: Antw:MAX! pairt nicht
Beitrag von: rubbertail am 22 September 2016, 17:08:45
Ich muss passen, ich flash das Ding immer am Windows-PC mit dem Atmel-Tool... und mein lsusb bringt für den CUL

Bus 001 Device 005: ID 03eb:204b Atmel Corp. LUFA USB to Serial Adapter Project

Also nix mehr mit Bootloader. Irgendwie siehts für mich so aus, als wär die Firmware immer noch nicht ganz drauf und er würde in den Bootloader laufen, um genau diese zu bekommen, aber unter Linux hab ich das selber noch nie probiert, da kann ich nicht helfen.