IT Empfang mit CUL

Begonnen von mehf, 18 August 2013, 20:47:11

Vorheriges Thema - Nächstes Thema

joesy

Kommt darauf an, ob du die Firmware selbst kompilierst. Soweit ich weiss, muss du den Trunk aus dem SVN nehmen.

Wenn ja, muss HAS_IT in der board.h gesetzt sein:
http://forum.fhem.de/index.php/topic,12600.msg90555.html#msg90555

Oder du nimmst die Firmware hier aus dem Thread passend zu dem CUL (CULV3.hex oder CULV4.hex). Diese Firmware hat den IT Empfang aktiv.

drbishop

hmm meine Hoffnung war das ich hier noch was falsch mache. Ich sehen keinerlei IT Empfang im Log oder event. Trotz der FW aus dem Thread und dem Austausch der beiden Dateien.
Alle mit einem CUL 433. Gehts bei Dir?
FB7390, Fhem 5.5, CUL433, CUL868, Wlan, IT
Never change a running system, never run a changing system, change a never running system!

joesy

Wird sich am Wochenende herausstellen, bin momentan noch beruflich unterwegs. Wollte noch im Umfeld die Punkte abklären, bevor ich es am Wochenende teste.

joesy

#48
Jetzt bin doch früher dazu gekommen, zu testen.

Am Anfang habe ich auch nichts empfangen. Im Log war nichts zu sehen. Ich verwende die folgenden selbstlernenden Intertechno-Empfänger mit dem dazugehörigen Handsender.

http://intertechno.at/produkte/zwischenstecker/schalter/IT-1500.html

Vor einiger Zeit hatte ich meine vorhandenen Funksteckdosen durch die Intertechno Funksteckdosen wegen des geringeren Stromverbrauchs getauscht. Früher hatte diese aus dem Baumarkt mit der Einstellung über Dip-Schalter:

http://avr.börke.de/Funksteckdosen.htm

Mit diesen Handsender funktioniert der Empfang. Anscheinend unterscheidet sich das Protokoll der selbstlernenden Geräte von den alten.

Mit FHEM kann ich über die selbstlernenden Empfänger problemlos schalten.

Hier das Log der Handsender mit dem Dip-Schalter
2013.11.15 12:56:09 5: CUL/RAW: /i000551E9^M                                                               
                                                                                               
2013.11.15 12:56:09 5: CUL0: i000551 -85.5                                                                 
2013.11.15 12:56:09 5: CUL0 dispatch i000551                                                   
2013.11.15 12:56:09 3: WZ_TEST2 on->on                                                                     
2013.11.15 12:56:09 5: Triggering WZ_TEST2 (1 changes)                                                     
2013.11.15 12:56:09 5: Notify loop for WZ_TEST2 on                                                         
2013.11.15 12:56:09 5: CUL/RAW: /p 7  240 1024  960  384  1  3 0  256 3664 E9 000551^M         
                                                                                     
2013.11.15 12:56:09 5: CUL0: p 7  240 1024  960  384  1  3 0  256 3664 E9 000551                           
2013.11.15 12:56:09 5: Triggering CUL0 (1 changes)                                             
2013.11.15 12:56:09 5: Notify loop for CUL0 UNKNOWNCODE p 7  240 1024  960  384  1  3 0  256 3664 E9 000551
2013.11.15 12:56:09 2: CUL0: unknown message p 7  240 1024  960  384  1  3 0  256 3664 E9 000551           
2013.11.15 12:56:09 5: CUL/RAW: /i000551E9^M                                                               
                                                                                                           
2013.11.15 12:56:09 5: CUL0: i000551 -85.5                                                                 
2013.11.15 12:56:09 5: CUL0 dispatch i000551                                                   
2013.11.15 12:56:09 3: WZ_TEST2 on->on                                                                                                 
2013.11.15 12:56:09 5: Triggering WZ_TEST2 (1 changes)                                                     
2013.11.15 12:56:09 5: Notify loop for WZ_TEST2 on                                                         
2013.11.15 12:56:09 5: CUL/RAW: /p 7  272  992 1008  336  1  3 0  25610512 E9 000551^M         
                                                                                                           
2013.11.15 12:56:09 5: CUL0: p 7  272  992 1008  336  1  3 0  25610512 E9 000551               
2013.11.15 12:56:09 5: Triggering CUL0 (1 changes)                             
2013.11.15 12:56:09 5: Notify loop for CUL0 UNKNOWNCODE p 7  272  992 1008  336  1  3 0  25610512 E9 000551
2013.11.15 12:56:09 2: CUL0: unknown message p 7  272  992 1008  336  1  3 0  25610512 E9 000551           
2013.11.15 12:56:10 5: CUL/RAW: /i000551EB^M                                                               
                                                                                               
2013.11.15 12:56:10 5: CUL0: i000551 -84.5                                                                 
2013.11.15 12:56:10 5: CUL0 dispatch i000551                                                   
2013.11.15 12:56:10 3: WZ_TEST2 on->on                                                                     
2013.11.15 12:56:10 5: Triggering WZ_TEST2 (1 changes)                                                     
2013.11.15 12:56:10 5: Notify loop for WZ_TEST2 on                                                         
2013.11.15 12:56:10 5: CUL/RAW: /p 7  288 1024 1008  320  1  3 0  36810512 EB 000551^M                     
i000551EA^M                                                                                     
p 7  320  976 1008  304  1  3 0  35210448 EA 000551^M                                 
                                                     
2013.11.15 12:56:10 5: CUL0: p 7  288 1024 1008  320  1  3 0  36810512 EB 000551     
2013.11.15 12:56:10 5: Triggering CUL0 (1 changes)                             
2013.11.15 12:56:10 5: Notify loop for CUL0 UNKNOWNCODE p 7  288 1024 1008  320  1  3 0  36810512 EB 000551
2013.11.15 12:56:10 2: CUL0: unknown message p 7  288 1024 1008  320  1  3 0  36810512 EB 000551           
2013.11.15 12:56:10 5: CUL0: i000551 -85                                                                   
2013.11.15 12:56:10 5: CUL0 dispatch i000551                                                   
2013.11.15 12:56:10 3: WZ_TEST2 on->on                                                                     
2013.11.15 12:56:10 5: Triggering WZ_TEST2 (1 changes)                                         
2013.11.15 12:56:10 5: Notify loop for WZ_TEST2 on                                                         
2013.11.15 12:56:10 5: CUL0: p 7  320  976 1008  304  1  3 0  35210448 EA 000551                           
2013.11.15 12:56:10 5: Triggering CUL0 (1 changes)                                                         
2013.11.15 12:56:10 5: Notify loop for CUL0 UNKNOWNCODE p 7  320  976 1008  304  1  3 0  35210448 EA 000551
2013.11.15 12:56:10 2: CUL0: unknown message p 7  320  976 1008  304  1  3 0  35210448 EA 000551           
2013.11.15 12:56:10 5: CUL/RAW: /i000551EA^M                                                               
p 7  336  960  992  304  1  3 0  33610512 EA 000551^M       

2013.11.15 12:56:10 5: CUL0: i000551 -85                                       
2013.11.15 12:56:10 5: CUL0 dispatch i000551                                         
2013.11.15 12:56:10 3: WZ_TEST2 on->on                                                                     
2013.11.15 12:56:10 5: Triggering WZ_TEST2 (1 changes)                                                     
2013.11.15 12:56:10 5: Notify loop for WZ_TEST2 on                                                         
2013.11.15 12:56:10 5: CUL0: p 7  336  960  992  304  1  3 0  33610512 EA 000551                           
2013.11.15 12:56:10 5: Triggering CUL0 (1 changes)                                             
2013.11.15 12:56:10 5: Notify loop for CUL0 UNKNOWNCODE p 7  336  960  992  304  1  3 0  33610512 EA 000551
2013.11.15 12:56:10 2: CUL0: unknown message p 7  336  960  992  304  1  3 0  33610512 EA 000551
2013.11.15 12:56:10 5: CUL/RAW: /i000551EA^M                                                               
p 7  320  976  992  320  1  3 0  33610544 EA 000551^M                                                     
                                                                                                           
2013.11.15 12:56:10 5: CUL0: i000551 -85                                                                   
2013.11.15 12:56:10 5: CUL0 dispatch i000551                                                               
2013.11.15 12:56:10 3: WZ_TEST2 on->on                                                                     
2013.11.15 12:56:10 5: Triggering WZ_TEST2 (1 changes)                                                     
2013.11.15 12:56:10 5: Notify loop for WZ_TEST2 on                                                         
2013.11.15 12:56:10 5: CUL0: p 7  320  976  992  320  1  3 0  33610544 EA 000551               
2013.11.15 12:56:10 5: Triggering CUL0 (1 changes)                                                         
2013.11.15 12:56:10 5: Notify loop for CUL0 UNKNOWNCODE p 7  320  976  992  320  1  3 0  33610544 EA 000551
2013.11.15 12:56:10 2: CUL0: unknown message p 7  320  976  992  320  1  3 0  33610544 EA 000551           


Ich habe dann noch versucht, mit verschiedenen Einstellungen von Frequenz, Bandbreite usw. und verschiedene Parameter für das CUL Debug Log, ob ich mit dem Handsender der selbstlernenden Empfänger etwas empfangen kann. Leider erfolglos.

drbishop

#49
seltsam bei mir passiert hier nix. habe das gleiche IT Set wie Du. In meinem Log steht eher sowas:


2013.11.15 17:17:40 5: CUL_0: p 3 1168  944  448  960  4  4 6 E2 408EA70A78
2013.11.15 17:17:40 5: Triggering CUL_0 (1 changes)
2013.11.15 17:17:40 5: Notify loop for CUL_0 UNKNOWNCODE p 3 1168  944  448  960  4  4 6 E2 408EA70A78
2013.11.15 17:17:40 4: eventTypes: CUL CUL_0 UNKNOWNCODE p 3 1168  944  448  960  4  4 6 E2 408EA70A78 -> UNKNOWNCODE p .* .*  .*  .*  .*  .*  .* .* E2 408EA70A78
2013.11.15 17:17:40 2: CUL_0: unknown message p 3 1168  944  448  960  4  4 6 E2 408EA70A78
2013.11.15 17:17:46 5: CUL/RAW: /p 3  272  928  912  304  5  2 2 12 504540

Damit kann ich nix anfangen..

Welche Einstellungen in Frequenz und Bandbreite hast Du genommen?
FB7390, Fhem 5.5, CUL433, CUL868, Wlan, IT
Never change a running system, never run a changing system, change a never running system!

joesy

Dein Log ist von der mit dem IT Set IT-1500 mitgelieferten Handsender? Du empfängst zumind. etwas.

Im Beitrag http://forum.fhem.de/index.php/topic,14348.msg92169.html#msg92169 hat mehf folgendes geschrieben.

Zitat"p 7.." heißt, dass er den IT-sync Pulse erkannt hat. In den anderen Zeilen scheint er den sync pulse nicht korrekt zu erkennen (die einzelnen Bits hingegen schon). Das kann entweder mit den Empfang-Parametern zusammen hängen, oder ich muss doch die sync Erkennung etwas robuster gestalten.. Das kann man aber in den Logs schlecht erkennen - ich werde da nochmal ein paar Meßreihen starten.

Nach meinen Verständnis empfängst dein CUL Daten, aber es werden kein gültiger Sync-Puls erkannt. Das ist bei mir anders. Allerdings nur mit dem alten Handsender

In der fhem.cfg habe ich noch folgende Definition für den Sender
define WZ_TEST2 IT F00000FFFF FF F0
attr WZ_TEST2 IODev CUL0

joesy

Ich habe mir mal einen ITS 150 Handsender besorgt. Hier wird am Sender der Code über ein Codierrad eingestellt.

Damit funktioniert der Empfang problemlos.

joesy

Am Wochenende habe ich mit den ITT-1500 Sendern weiter getestet, die bei den IT-1500 Sets mitgeliefert werden. Das Protokoll der selbstlernenden Empfänger unterscheidet sich sich von den Geräten mit Codierrad/Dipschaltern. Die Empfänger sind aber anscheinend abwärts kompatibel, dh. es können Sender mit Codierrad verwendet werden. Die Sender, die nur für selbstlernende Empfänger geeignet sind, verwenden eine feste ID. Lt. den Intertechno sind hier 67 Mio. verschiedene Codes möglich. Da wird die Gefahr vermindert, dass die Nachbarn auch Geräte schalten können.

Ich bin dabei auf das pilight Projekt (http://www.pilight.org/) gestossen. Hier im Forum gibt es auch einen Thread dazu http://forum.fhem.de/index.php/topic,14920.0.html. Hier werden einfache 433 MHz Empfänger/Sender, um Signale zu empfangen und Geräte zu schalten.

Im Wiki http://wiki.pilight.org/doku.php/protocols gibt es interessante Informationen zu den implementierten Protokolle, u.a. auch zu dem neuen Intertechno Protokoll der selbstlernenden Empfänger.

Das Protokoll besteht aus 33 Gruppen von Pulsen ist folgendermaßen aufgebaut:

  • ID: 26 Bits
  • Alle Geräte: 1 Bit
  • Befehl: 1 Bit
  • Gerät: 4 Bits

Umrahmt wird das ganze durch einen Header und Footer. Die ersten 26 Stellen sind die ID und entsprechen den auf der Intertechno genannten 67 Mio. Codes (2^26=67108864). Mit dem Bit "Alle Geräte" werden alle Geräte mit der ID zusammen geschaltet (Gruppencode). Der Befehl definiert, ob das Geräte ein- oder ausgeschaltet wird. Die letzten 4 Bits adressieren den Empfänger.

pilight bietet eine Debug-Funktion, mit der Codes analysiert werden können. Hier ein Beispiel eines "An" Befehls eines ITT-1500:

pulse: 4
rawlen: 132
binlen: 33
pulselen: 300

Raw code:
300 2700 --> Header
300 300 300 1200 --> 0
300 300 300 1200 --> 0
300 1200 300 300 --> 1
300 300 300 1200 --> 0
300 1200 300 300 --> 1
300 300 300 1200 --> 0
300 300 300 1200 --> 0
300 1200 300 300 --> 1
300 1200 300 300 --> 1
300 300 300 1200 --> 0
300 1200 300 300 --> 1
300 1200 300 300 --> 1
300 300 300 1200 --> 0
300 1200 300 300 --> 1
300 1200 300 300 --> 1
300 300 300 1200 --> 0
300 300 300 1200 --> 0
300 300 300 1200 --> 0
300 300 300 1200 --> 0
300 1200 300 300 --> 1
300 1200 300 300 --> 1
300 300 300 1200 --> 0
300 1200 300 300 --> 1
300 1200 300 300 --> 1
300 1200 300 300 --> 1
300 300 300 1200 --> 0
300 300 300 1200 --> 0
300 1200 300 300 --> 1
300 300 300 1200 --> 0
300 300 300 1200 --> 0
300 300 300 1200 --> 0
300 300 300 1200 --> 0
300 10200 --> Footer


Zum Vergleich die Debug-Ausgabe eines Senders des "alten" Intertechno Protokolls:
Zitat
pulse:          3
rawlen:         50
binlen:         12
pulselen:       323

Raw code:
323 969 323 969    -> 1
323 969 969 323     -> 0
323 969 969 323     -> 0
323 969 323 969     -> 1
323 969 323 969     -> 1
323 969 323 969     -> 1
323 969 323 969     -> 1
323 969 323 969     -> 1
323 969 323 969     -> 1
323 969 969 323     -> 0
323 969 969 323     -> 0
323 969 323 969     -> 1
323 10982        -> Footer

Dies ergibt somit einen Code von 100111111001. Im Vergleich zur Definiton in FHEM mit IT-Modul:

1001111110 01
0FF000000F F0



@mehf:
Leider habe ich keine Erfahrung mit der Programmierung von Mikroprozessoren und schon gar nicht der culfw. Ist es mit diesen Informationen möglich, auch das "neue" Intertechno-Protokoll in die culfw zu integrieren? Wie hoch wäre der Aufwand. Wo muss überall in der Firmware etwas geändert werden.


Ist es vielleicht sinnvoller, die Infos in Bereich CUL-Entwicklung zu plazieren.

Mir wäre es lieber, weiter mit dem CUL IT Geräte zu empfangen. Mit dem CUL wird die Hauptarbeit des Empfangs im Mikroprozessor des CULs erledigt und belastet die CPU des RPIs nicht.

mehf

Okay, verstehe. In der letzten Version hatte ich die minimale lowtime des Sync Pulses auf 3000us. Ich hab' sie jetzt auf 1800us reduziert - damit sollten die Dinger hoffentlich was brauchbares liefern.
Im debug-modus sollte der CUL hoffentlich folgendes melden:
p 7  * *  *  *  1  8 0 ....

joesy

Wow, das ging ja fix. Leider kann ich nicht testen. Der Mikroschalter meines CULs hat sich verabschiedet, ich kann keine neue Firmware aufspielen. Zum Glück bietet Busware eine Reparatur an.

gemx

Vielen Dank für die Mühe.
Habe gerade meinen CUL erhalten und auch sofort geflashed.
Funktioniert bei mir bestens, nur in der "10_IT.pm" war ein Bug.
Der Code wurde immer als "ON" geparsed egal ob "ON" oder "OFF".
Beim zuschneiden ist da genau eine Stelle verrutscht.
Konkret geht es um Zeile 332
originial=bug
$onoffcode=substr($msgcode,length($msgcode)-3,2);
richtig
$onoffcode=substr($msgcode,length($msgcode)-2,2);

Habe die Datei nochmal angehängt.

Damit funktioniert es bei mir bestens :-)

nuss07

Hallo,
eine kleine Nebenfrage. Wie flasht Ihr den CUL mit der Firmware, die in diesem Thread angehängt ist? Ich hab' die .hex-Datei in das entsprechende FHEM-Verzeichnis kopiert, aber CULflash hat diese Date immer durch die vom Netz geholte überschreiben. Schliesslich habe ich den CUL von der FritzBox abgezogen und auf dem PC geflasht. Sicher gibt es eine bessere Möglichkeit.
Viele Grüße
Martin

joesy

@nuss07
Ich flashe am PC. Da zum Neuflashen der Mikroschalter gedrückt werden muss und ich an die Fritzbox schlecht dran komme, habe ich mich für diesen Weg entschieden.

@mehf
Mein CUL ist repariert zurück. Ich habe die geänderte Firmware getestet. Leider keine Änderung. Die Signale der ITT 1500 werden nicht erkannt. Wenn ich den CUL auf raw X2F setze, kann ich erkennen, dass der CUL etwas empfängt.

Die Protokolle unterscheiden sich meiner Meinung deutlich. Das neue Protokoll hat z.B. einen Header, was das alte Protokoll nicht hat.


Alt:
323   969    323    969    -> 1
kurz   lang    kurz   lang

323   969   969   323     -> 0
kurz   lang   lang   kurz

Neu:
300   1200   300     300 --> 1
kurz   lang     kurz    kurz

300   300   300   1200 --> 0
kurz   lang   kurz   lang


Ich kann gerne einen ITT1500 Sender zum Testen zur Verfügung stellen.

mehf

irgendwelche "p 7 ..." messages?

joesy