Selbstlernende Intertechno Codecs mit CUL auslesen

Begonnen von rizzir, 02 Dezember 2015, 00:31:44

Vorheriges Thema - Nächstes Thema

rizzir

Servus erstmal an alle  :)

Eines vorweg: Ich beziehe mich hier auf die "alternative" CulFW (a-culfw) von BjörnH (die es hier gibt). Ob alles auch mit der "normalen" CulFW geht, weiß ich nicht.
Ich bin selber kein FHEM-Nutzer, daher verzeit mir bitte wenn ich hier in völliger Unwissenheit irgendwelche Sachen schreibe die für euch ohnehin trivial sind.

Gebrauchen kann man diese Anleitung vor allem, wenn man seine selbstlernenden Intertechno Geräte bereits mit einer Fernbedienung angelernt hat und sie mit einer CUL ansteuern möchte, ohne dafür extra die Unterputzdosen wieder öffnen zu müssen.

Seit einiger Zeit habe ich hier eine NanoCUL rumliegen und wollte damit lediglich unter Linux per Bash meine Geräte schalten können.
Im Wiki bin ich dann auf einen Eintrag gestoßen wie man sich bei selbstlernenden Geräten einen Code "ausdenken" kann. Man kann, sofern man denn die Geräte bereits mit einer Fernbedienung angelernt hat, die Codes der Fernbedienung jedoch auch einfach auslesen.

Dazu öffnet man einfach ein Terminal und verbindet sich mit dem CUL, z.B. mit picocom, minicom oder wie sie alle heißen.
Dann bewegt man den CUL per "X21" Befehl dazu, empfangene Daten auszuspucken.
Nun drückt man auf seiner angelernten Fernbedienung die Taste, welche man "decodieren" möchte.

Das ganze sieht dann in etwas so aus:


christian@rechenknecht  ~  picocom -b 38400 /dev/ttyUSB0 -c
picocom v1.7

port is        : /dev/ttyUSB0
flowcontrol    : none
baudrate is    : 38400
parity is      : none
databits are   : 8
escape is      : C-a
local echo is  : yes
noinit is      : no
noreset is     : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv
imap is        :
omap is        :
emap is        : crcrlf,delbs,

Terminal ready
X21
i59966A9A995A965660


Was jetzt hier von Bedeutung ist, ist der String i59966A9A995A965660. Im Prinzip steckt in den 16 zeichen nach dem "i" der komplette Code als Manchester-Coding im Hex-Format. Möchte man jetzt mit dem CUL etwas schalten kann man jedoch nicht einfach den selben String auf die serielle Schnittstelle schicken und gut ist. Die CulFW erwartet einen String wie z.B. is00101001011110111010001110010001.
Um ebendiesen aus einer Antwort der CUL zu extrahieren habe ich mal ein kurzes Python-Script geschrieben. Dieses gibt zum einen den kompletten String aus, den man dann auf die serielle Schnittstelle schicken kann und zum anderen spuckt es noch ein paar weitere Informationen aus, welcher Teil des Strings eigentlich was bedeutet. Wen es interessiert, der kann gerne im Homeeasy Hacking Wiki nachschauen.

Nun zum eigentlichen, dem Skript:
Am einfachsten ihr holt es euch mit wget oder git oder ihr ladet es hier oder aus dem Anhang herunter:

wget https://raw.githubusercontent.com/ChristianRinn/cul_scripts/master/cul_decode_itv3.py
oder
git clone https://github.com/ChristianRinn/cul_scripts

Dann muss man lediglich den empfangenen String von der CUL dem Skript als Argument übergeben und man bekommt den String, mit welchem man schalten kann zurück:


python cul_decode_itv3.py i59966A9A995A965660


Das Skript antwortet dann in etwa so:



The string to enter in your serial terminal is:
is00101001011110111010001110010001

The id of your remote control is:
00101001011110111010001110

The group flag is:
0

Your device was set to:
1

The group code is:
0001


Sooo, das war jetzt viel mehr als ich eigentlich dazu schreiben wollte und von meiner Seite sind da auch noch ein paar Fragen, z.B. warum das nicht direkt in der CUL-FW implementiert ist aber ich vermute mal, dass es mit FHEM und dem "alten" Intertechno-Protokoll zusammenhängt.
Nun ja, ich hoffe das es irgendjemand nützlich sein wird.

Viele Grüße

Christian

Edit: Skript angehängt

cs-online

Hallo,

erstmal: Das sieht sehr cool aus ! Und nach viel Mühe, die Du dir damit gemacht hast !

Aber das lange IT-Protokoll (V3 ?) kann zumindest die "normale" Cul-FW doch auch schon (und ich meine Björn hat das in seiner a-FW auch drin) und wenn ich das neulich bei einem Kollegen richtig gesehen habe, dann geht mit Autocreate mit einem Druck auf die Fernbedienung auch das Anlernen und automatische Anlegen in FHEM... Deshalb sehe ich leider im Moment außer den Zusatzinfos wie z.B. Gruppencode und so den Sinn Deiner Mühen nicht ganz, magst Du uns noch ein wenig mehr Hintergründe beschreiben ?

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

rizzir

Der eigentliche Sinn war, dass ich direkt per Bash, z.B. mit

$ printf "is00101001011110111010001110010001\n" > /dev/ttyUSB0

ein Gerät anschalten kann (ohne FHEM).
Da mir aber bei einem Druck auf die Fernbedienung die CulFW nur folgendes zurückgibt

$ i59966A9A995A965660

habe ich das Script zusammengeschustert um an die Binärkodierung zu kommen.

Wie ich bereits vermutete ist das wohl schon alles in FHEM implementiert, allerdings nicht direkt in der CulFW.

Viele Grüße

Bibi.b

Hi rizzir,

ich nutze kein FHEM, sondern die CUL am CCU2 mit Homematic. Ich habe tagelang (!!!!!) nach genau der "Übersetzung" des langen Codes gesucht und jetzt gefunden :-) Danke Dir!!! Die Eingabe des übersetzten Codes steuert jetzt z.B. meinen Intertechno ITDM-250 ! Das ist genial.
Danke

sasquuatch

danke für deine anleitung. ich habe mir mal selbstlernende funksteckdosen vom hornbach geholt. auf der verpackung steht unitec bzw. intertek drauf
irgendeine nummer 48110, eventuell das modell. zudem noch receiver und transmitter nummern:
Receiver 55006x10
Transmitter 50074

leider bekomme ich da was anderes als du raus, kannst du damit was anfangen?


sudo picocom -b 38400 /dev/ttyUSB0 -c
picocom v1.7

port is        : /dev/ttyUSB0
flowcontrol    : none
baudrate is    : 38400
parity is      : none
databits are   : 8
escape is      : C-a
local echo is  : yes
noinit is      : no
noreset is     : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv
imap is        :
omap is        :
emap is        : crcrlf,delbs,

Terminal ready
omB6AAAA8044
omB555556844
omB6D54AA045
omB6555046
omB6B5528044
omB5555A8044
om2AAAA04om6B5445
V 1.21.00 a-culfw Build: 70 (2016-04-22_17-15-27) nanoCUL433 (F-Band: 433MHz)
omB55A5044
V 1.21.00 a-culfw Build: 70 (2016-04-22_17-15-27) nanoCUL433 (F-Band: 433MHz)
V 1.21.00 a-culfw Build: 70 (2016-04-22_17-15-27) nanoCUL433 (F-Band: 433MHz)
omB55555004E
omB6DB56A451
omB6A556C050
omB556A90050
omB5556D5451
omB6DB56A852
omB555550050
omB6AB504F
omB555504E
omB6DA9AB050
omB6D56DAC4E
omAAD2A84F
omB5AAD3004E
omB6956AAA52
omB4AA9045
omB555555A8009
omB6AAA816
omB6AAAA800E
omB6AAAAA032
omB6A9550032
omB5AAD2C02E
omB5AAAA16
omB6AAAA8025
omB64B5026
omB596AA28
omB6A2A828
omB4926C2A
omB555A5802A
omB555694029
omB6AA9428
omB6AAB5502F
omB6AAA823
omB6AAAAA018
omB656AAAA16
omAAAA21
omB6AAA018
omB6AAAA8017
omB6A5555416
omB424B41C
omB6B555001E
omB5AAAAA01F
omB56D52A821
omB5A8AD0022
omB5554D000B
omB4A5354007
omB6D55AD006
omA494D8F8
omBAAAA008
omAAAAACFA
omB555AA80FD
omB6AA6A02
omB655000E
omB49AD50009
omB6AAAAC008
omB6AAA00D
omB555AAAA8005
omB6555014
omB5556D5418
omB555594012
omB6D5555413
omB6D5550016
omB6AAAB0014
omB6AAAA8013
omB6D5550009
omB5AAB540FD
omB552AAFE
omB6AB5413
omB6D56AA824
omB6AAAB4024
omB555550030
omB6D5694041
omB6AD5AD042
omB6A5594042
omB554B2A040
omB555A50040
omB6A5554041
omB65AB54040
omB655550040
omB6D5AD6840
omB6A5568046
omB64AA842
omB555A50042
omB556B54042
omB6A5568048
omB64B2A48

KölnSolar

Hi, da hast Du irgendwie das falsche Stichwort in der SuFu genutzt  :'( Die Unitec/Intertek scheinen etwas problematisch zu sein. Waren in den letzten Wochen zigmal Diskussionsthema. Gib einfach mal Unitec über das gesamte Forum ein und Dir sollten zig Beiträge um die Ohren fliegen  ;)
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

sasquuatch

habe danach schon geschaut, aber entweder sind es andere untic geräte oder haben dippschalter. zu den selbstlerndenen habe ich nichts gefunden oder es gab keine antwort mit lösungen.

da du was zu selbstlerndenen steckdosen geschrieben hast, dachte ich vielleicht gibt es da eine verbindung von intertechno zu unitec. die ganzen intertechno steckdosen mit dippschalter, sind so auch auf andere steckdosen mit dippschalter anwendbar. ich hatte gehofft, das es mit den selbsterlernenden auch geht.

dann hoffe ich das da noch irgendwer sich mal dran setzt und was bastelt, den 9,95 € ist schon ein schnapp.

KölnSolar

nicht verzagen. Es gab da Lösungen in den Beiträgen, auch V3(selbstlernend). Mal ohne dass die Fernbedienung einsetzbar ist, mal mit Modifikationen. Aber vielleicht auch nicht die Dosen, die Du ins Auge gefasst hast :'(
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

mahowi

In diesem Thread gibt es einen Patch für culfw. Leider gibt's da noch nix für a-culfw.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

bjoernh

Zitat von: mahowi am 24 November 2016, 12:39:01
In diesem Thread gibt es einen Patch für culfw. Leider gibt's da noch nix für a-culfw.
In der neuen a-culfw 1.23.00 ist etwas enthalten.
Das spezielle Bit ist dann die '3'

Was mich noch interessieren würde, wäre mal ein Empfang eines Handsenders. Ich denke da muss noch etwas im Fhem Modul angepasst werden.

bjoernh

#10
Zitat von: Ralf9 am 26 November 2016, 21:45:12
Ich habe es für den Signalduino schon eingebaut, ich habe für "10" aber "D" verwendet. Die Änderung von "D" nach "3" im IT-Modul ist eine Kleinigkeit, bedeutet dann aber, daß diejenigen die das beim Signalduino bereits verwenden, den on/off Code anpassen müssen.

my %bintotristate=(
  "00" => "0",
  "01" => "F",
  "10" => "D",
  "11" => "1"
);


    return "Define $a[0]: wrong OFF format: specify a 2 digits 0/1/f/d "
    if( ($a[4] !~ m/^[df0-1]{2}$/i) );


Gruß Ralf

Hallo Ralf,

damit kann ich auch leben.
Ich werde es dann in der a-culfw auf D ändern.

OK, lokal geht es schon. Jetzt muss nur noch das FHEM Modul angepasst werden. Das sehe ich doch richtig, oder?

Ralf9

#11
Zitat von: bjoernh am 26 November 2016, 19:53:24
In der neuen a-culfw 1.23.00 ist etwas enthalten.
Das spezielle Bit ist dann die '3'

Was mich noch interessieren würde, wäre mal ein Empfang eines Handsenders. Ich denke da muss noch etwas im Fhem Modul angepasst werden.

Bei diesem Thema hier handelt sich es doch um IT v3, der Patch ist aber für IT v1.
Ich habe meine Antwort ins andere Thema verschoben.

Oder gibt es auch selbstlernende IT v1 Steckdosen?

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Jonn3y

Zitat von: sasquuatch am 23 November 2016, 18:36:05
danke für deine anleitung. ich habe mir mal selbstlernende funksteckdosen vom hornbach geholt. auf der verpackung steht unitec bzw. intertek drauf
irgendeine nummer 48110, eventuell das modell. zudem noch receiver und transmitter nummern:
Receiver 55006x10
Transmitter 50074

leider bekomme ich da was anderes als du raus, kannst du damit was anfangen?


sudo picocom -b 38400 /dev/ttyUSB0 -c
picocom v1.7

port is        : /dev/ttyUSB0
flowcontrol    : none
baudrate is    : 38400
parity is      : none
databits are   : 8
escape is      : C-a
local echo is  : yes
noinit is      : no
noreset is     : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv
imap is        :
omap is        :
emap is        : crcrlf,delbs,

Terminal ready
omB6AAAA8044
omB555556844
omB6D54AA045
omB6555046
omB6B5528044
omB5555A8044
om2AAAA04om6B5445
V 1.21.00 a-culfw Build: 70 (2016-04-22_17-15-27) nanoCUL433 (F-Band: 433MHz)
omB55A5044
V 1.21.00 a-culfw Build: 70 (2016-04-22_17-15-27) nanoCUL433 (F-Band: 433MHz)
V 1.21.00 a-culfw Build: 70 (2016-04-22_17-15-27) nanoCUL433 (F-Band: 433MHz)
omB55555004E
omB6DB56A451
omB6A556C050
omB556A90050
omB5556D5451
omB6DB56A852
omB555550050
omB6AB504F
omB555504E
omB6DA9AB050
omB6D56DAC4E
omAAD2A84F
omB5AAD3004E
omB6956AAA52
omB4AA9045
omB555555A8009
omB6AAA816
omB6AAAA800E
omB6AAAAA032
omB6A9550032
omB5AAD2C02E
omB5AAAA16
omB6AAAA8025
omB64B5026
omB596AA28
omB6A2A828
omB4926C2A
omB555A5802A
omB555694029
omB6AA9428
omB6AAB5502F
omB6AAA823
omB6AAAAA018
omB656AAAA16
omAAAA21
omB6AAA018
omB6AAAA8017
omB6A5555416
omB424B41C
omB6B555001E
omB5AAAAA01F
omB56D52A821
omB5A8AD0022
omB5554D000B
omB4A5354007
omB6D55AD006
omA494D8F8
omBAAAA008
omAAAAACFA
omB555AA80FD
omB6AA6A02
omB655000E
omB49AD50009
omB6AAAAC008
omB6AAA00D
omB555AAAA8005
omB6555014
omB5556D5418
omB555594012
omB6D5555413
omB6D5550016
omB6AAAB0014
omB6AAAA8013
omB6D5550009
omB5AAB540FD
omB552AAFE
omB6AB5413
omB6D56AA824
omB6AAAB4024
omB555550030
omB6D5694041
omB6AD5AD042
omB6A5594042
omB554B2A040
omB555A50040
omB6A5554041
omB65AB54040
omB655550040
omB6D5AD6840
omB6A5568046
omB64AA842
omB555A50042
omB556B54042
omB6A5568048
omB64B2A48


Hey, ich habe selbiges Problem mit den om-Codes. Gibt es dafür mittlerweile auch für a-culfw eine Lösung?

sti0

Hallo zusammen,

ich habe Brennenstuhl RCS 1000 Funksteckdosen.

Schalten kann ich diese z.B. mit is00FFFF0FFF0F für an und is00FFFF0FFFF0 für aus. Funktioniert wunderbar.

Wenn ich nun in minicom X21 eingebe und dann die Tasten auf der Fernbedienung drücke um eben jene Funksteckdosen zu schalten, so erhalte ich folgende Codes:

an: i05515138
aus: i0551543A

FHEM schaltet dann auch den State korrekt. Wenn ich nun jedoch das Signal außerhalb von FHEM verwenden will, müsste ich es ja auf den o.g. Code umrechnen. Das Script aus dem Thread hilft mir leider nicht weiter, da sich die Codes zu den Intertechno unterscheiden.

Irgendwie muss FHEM ja dennoch eine Umrechnung vornehmen, sonst würde der State ja nicht geändert werden. Hat jemand ne Idee wie ich die Umrechnung vollzogen bekomme?

Mein nanoCUL: V 1.23.04 a-culfw Build: 127 (2016-12-16_23-39-31) nanoCUL433 (F-Band: 433MHz)

Vielen Dank schonmal im Voraus!

bjoernh

Zitat von: sti0 am 22 Dezember 2016, 00:30:50
Hallo zusammen,

ich habe Brennenstuhl RCS 1000 Funksteckdosen.

Schalten kann ich diese z.B. mit is00FFFF0FFF0F für an und is00FFFF0FFFF0 für aus. Funktioniert wunderbar.

Wenn ich nun in minicom X21 eingebe und dann die Tasten auf der Fernbedienung drücke um eben jene Funksteckdosen zu schalten, so erhalte ich folgende Codes:

an: i05515138
aus: i0551543A

FHEM schaltet dann auch den State korrekt. Wenn ich nun jedoch das Signal außerhalb von FHEM verwenden will, müsste ich es ja auf den o.g. Code umrechnen. Das Script aus dem Thread hilft mir leider nicht weiter, da sich die Codes zu den Intertechno unterscheiden.

Irgendwie muss FHEM ja dennoch eine Umrechnung vornehmen, sonst würde der State ja nicht geändert werden. Hat jemand ne Idee wie ich die Umrechnung vollzogen bekomme?

Mein nanoCUL: V 1.23.04 a-culfw Build: 127 (2016-12-16_23-39-31) nanoCUL433 (F-Band: 433MHz)

Vielen Dank schonmal im Voraus!

Bsp:
i05515138
i = Intertechno
letzten zwei Werte RSSI = 38
055151 = Code (Hex)

055151 = 0000 0101 0101 0001 0101 0001 (Binär)

00 = 0
01 = F

0000 0101 0101 0001 0101 0001 = 00FFFF0FFF0F

exmerci

Hallo,

ich bin durch Zufall über Google auf diesen Thread gestoßen und hänge meine Frage mal hier an um nicht einen Neuen aufmachen zu müssen.
Da ich hier noch nicht ganz dran lang blicke habe ich erstmal nur eine einfache Frage.
Ich möchte einen Intertechno Schalter einfach durch eine einfaches get command ansteuern um es in einem Script zu verwenden. Ich habe ein Brematic Modul welches die Brücke zwischen Computer und Funk herstellt..
Meine Frage: Ist es überhaupt möglich?

Zeuss65

Zitat von: rizzir am 02 Dezember 2015, 00:31:44
Servus erstmal an alle  :)

Eines vorweg: Ich beziehe mich hier auf die "alternative" CulFW (a-culfw) von BjörnH (die es hier gibt). Ob alles auch mit der "normalen" CulFW geht, weiß ich nicht.
Ich bin selber kein FHEM-Nutzer, daher verzeit mir bitte wenn ich hier in völliger Unwissenheit irgendwelche Sachen schreibe die für euch ohnehin trivial sind.

Gebrauchen kann man diese Anleitung vor allem, wenn man seine selbstlernenden Intertechno Geräte bereits mit einer Fernbedienung angelernt hat und sie mit einer CUL ansteuern möchte, ohne dafür extra die Unterputzdosen wieder öffnen zu müssen.

Seit einiger Zeit habe ich hier eine NanoCUL rumliegen und wollte damit lediglich unter Linux per Bash meine Geräte schalten können.
Im Wiki bin ich dann auf einen Eintrag gestoßen wie man sich bei selbstlernenden Geräten einen Code "ausdenken" kann. Man kann, sofern man denn die Geräte bereits mit einer Fernbedienung angelernt hat, die Codes der Fernbedienung jedoch auch einfach auslesen.

Dazu öffnet man einfach ein Terminal und verbindet sich mit dem CUL, z.B. mit picocom, minicom oder wie sie alle heißen.
Dann bewegt man den CUL per "X21" Befehl dazu, empfangene Daten auszuspucken.
Nun drückt man auf seiner angelernten Fernbedienung die Taste, welche man "decodieren" möchte.

Das ganze sieht dann in etwas so aus:


christian@rechenknecht  ~  picocom -b 38400 /dev/ttyUSB0 -c
picocom v1.7

port is        : /dev/ttyUSB0
flowcontrol    : none
baudrate is    : 38400
parity is      : none
databits are   : 8
escape is      : C-a
local echo is  : yes
noinit is      : no
noreset is     : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv
imap is        :
omap is        :
emap is        : crcrlf,delbs,

Terminal ready
X21
i59966A9A995A965660


Was jetzt hier von Bedeutung ist, ist der String i59966A9A995A965660. Im Prinzip steckt in den 16 zeichen nach dem "i" der komplette Code als Manchester-Coding im Hex-Format. Möchte man jetzt mit dem CUL etwas schalten kann man jedoch nicht einfach den selben String auf die serielle Schnittstelle schicken und gut ist. Die CulFW erwartet einen String wie z.B. is00101001011110111010001110010001.
Um ebendiesen aus einer Antwort der CUL zu extrahieren habe ich mal ein kurzes Python-Script geschrieben. Dieses gibt zum einen den kompletten String aus, den man dann auf die serielle Schnittstelle schicken kann und zum anderen spuckt es noch ein paar weitere Informationen aus, welcher Teil des Strings eigentlich was bedeutet. Wen es interessiert, der kann gerne im Homeeasy Hacking Wiki nachschauen.

Nun zum eigentlichen, dem Skript:
Am einfachsten ihr holt es euch mit wget oder git oder ihr ladet es hier oder aus dem Anhang herunter:

wget https://raw.githubusercontent.com/ChristianRinn/cul_scripts/master/cul_decode_itv3.py
oder
git clone https://github.com/ChristianRinn/cul_scripts

Dann muss man lediglich den empfangenen String von der CUL dem Skript als Argument übergeben und man bekommt den String, mit welchem man schalten kann zurück:


python cul_decode_itv3.py i59966A9A995A965660


Das Skript antwortet dann in etwa so:



The string to enter in your serial terminal is:
is00101001011110111010001110010001

The id of your remote control is:
00101001011110111010001110

The group flag is:
0

Your device was set to:
1

The group code is:
0001


Sooo, das war jetzt viel mehr als ich eigentlich dazu schreiben wollte und von meiner Seite sind da auch noch ein paar Fragen, z.B. warum das nicht direkt in der CUL-FW implementiert ist aber ich vermute mal, dass es mit FHEM und dem "alten" Intertechno-Protokoll zusammenhängt.
Nun ja, ich hoffe das es irgendjemand nützlich sein wird.

Viele Grüße

Christian

Edit: Skript angehängt

Wie kann ich unter Windows das Python-Script anwenden und den Code umrechnen ?
Ich nutze Raspberrymatic mit cuxd .
Gruß Jens

RaspiLED

Naja, Linux Subsystem(z.B. Debian) in Windows 10 installieren ;-)

Ansonsten halt Python unter Windows installieren.

*Duck weg*
Gruß Arnd


Gesendet von iPhone mit Tapatalk
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Mast3rchief

Guten Abend,
bei meinen CSL/Bearware Funktsteckdosen hat das Dekodieren mit deinem Skript wunderbar geklappt, ein großes DANKE!
Meine Frage ist nun: Hat sich bei der Implementation in FHEM oder der a-culfw irgendetwas getan?
Ich kann die Funksteckdosen mit den umgerechneten Codes problemlos schalten, jedoch ging autocreate nicht und auch der Empfang (1.26.01 a-culfw) der mitgelieferten Fernbedienung funktioniert nicht:
Der CUL erkennt zwar ein Signal, sagt aber "unknown code, help me!", weil er wahrscheinlich intern keine Dekodierung vornimmt.
Da es sich doch eigentlich "nur" um ITv3 Codes handelt, sollte es doch nativ funktionieren oder irre ich mich?

RaspiLED

Hi,
Könnte es evtl am Basistakt liegen?

attribut ITClock schau mal hier:
https://forum.fhem.de/index.php/topic,72000.msg636654.html#msg636654

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Mast3rchief

Zitat von: RaspiLED am 08 Dezember 2018, 00:15:16
Hi,
Könnte es evtl am Basistakt liegen?

attribut ITClock schau mal hier:
https://forum.fhem.de/index.php/topic,72000.msg636654.html#msg636654

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...

Vielen Dank für die schnelle Hilfe!
Dann muss ich den ITClock im IT Device setzen, richtig?
Wenn ich das dem verlinkten Thread richtig entnehme, ist der Parameter nach pXX der ITClock?
Meine Nachrichten sehen so aus:
Unknown code p11  256 1216  240  256  256 1232  64  1  8 0   224  8960     0 EC 95959A96AAAA95A9, help me!
Also wäre der ITClock 256. Doch leider hat sich nichts getan.
Mein Device sieht folgendermaßen aus:

defmod Lampe_WZ IT 10001000101110011111111110 0 1110
attr Lampe_WZ IODev CUL433
attr Lampe_WZ ITrepetition 5
attr Lampe_WZ eventMap on:an off:aus
attr Lampe_WZ group Licht
attr Lampe_WZ model itswitch
attr Lampe_WZ protocol V3
attr Lampe_WZ room Wohnzimmer


Den binären Code habe ich aus dem "95959A96AAAA95A9" dekodiert.
Mache ich evtl. schon bei der Definition etwas falsch?

ppmss

Hallo zusammen,
ich habe einen nanoCUL 433 und schalte damit alte Funksteckdosen (Intertechno-Dip-Schlater), was recht gut funktioniert.
Nun habe ich im Baumarkt 48110_UNITEC erstanden und möchte diese gerne mit Fernbedienung anlernen und über FHEM auch über den CUL schalten.
Mit picocom erhalte ich mit X21 keine Ausgabe.
Mit X25 erhalte ich für A an:
picocom v3.1

port is        : /dev/ttyUSB0
flowcontrol    : none
baudrate is    : 38400
parity is      : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : yes
noinit is      : no
noreset is     : no
hangup is      : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        :
omap is        :
emap is        : crcrlf,delbs,
logfile is     : none
initstring     : none
exit_after is  : not set
exit is        : no

Type [C-a] [C-h] to see available commands
Terminal ready
V
V 1.67 nanoCUL433
X25
p 3 1024  432  288 1200  4  2 1 1B 83C980
p 3  896  576  400 1072  4  2 1 1B 83C980
p 3  880  608  400 1088  4  2 1 1B 83C980
p 3  864  624  352 1104  4  2 1 1A 83C980

Hat jemand eine Idee, wie ich das interpretieren kann?
Was davon muss ich wie an den CUL senden? Ich verwende aktuell  CUL433.

Vielen Dank,
Peter

KölnSolar

Hallo Peter,
ZitatHat jemand eine Idee, wie ich das interpretieren kann?
Ja, kann man nichts mit anfangen. P3 sagt nur, dass der CUL glaubt, dass das Protokoll nicht vollständig ist.

ZitatV 1.67 nanoCUL433
Ganz schlechte Version, um 433MHz zu analysieren. Entweder die aktuellste aculfw auf den nano flashen oder direkt auf SIGNALduino umsteigen. Letzterer ist die zukunftsreichere Variante, weil anders konzipiert als culfw/aculfw.

Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

ppmss

Hallo Markus,
ich danke dir.

Mal sehen, welchen Weg ich gehe.

Ciao,
Peter


ppmss

Hm, nochwas,
Markus, Du meintest, V 1.67 nanoCUL433 sei eine schlechte Version?
Bei https://www.nanocul.de/selfsite.php?aktion=Firmware ist das aber die aktuellste, die ich finden kann.

Wo gibt es denn eine 'bessere' Firmware?

Danke und Ciao,
Peter

KölnSolar

ZitatKannst Du mir sagen, ob dieser SignalDuino ok ist?
Du hast bereits die Hardware. ;)
ZitatDu meintest, V 1.67 nanoCUL433 sei eine schlechte Version
Schlecht ausgedrückt von mir. Wenn CUL, dann die aculfw flashen. Ansonsten Signalduino flashen.
Grüße
Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

ppmss

Hallo Markus,
ich werde alt ....

Ich bekomme den flash nicht hin (habs direkt auf dem Rasp versucht - 5.10.60-v7l+ #1449 SMP Wed Aug 25 15:00:44 BST 2021 armv7l GNU/Linux)

a-culfw_1.26.08_build_324/CUL $ sudo ./flash.sh
-------------------------------------------------------------
This program flash the cul device with new firmware.
Please change the device into the bootloader
-------------------------------------------------------------
Please choose a device:
1 = CUL_V2 868MHZ
2 = CUL_V2_HM 868MHZ
3 = CUL_V2_MAX 868MHZ
4 = CUL_V3 868MHZ
5 = CUL_V4 868MHZ
6 = CUL_V2 433MHZ
7 = CUL_V2_HM 433MHZ
8 = CUL_V2_MAX 433MHZ
9 = CUL_V3 433MHZ
0 = CUL_V4 433MHZ
Please select device (1-5): 0

The device will now be flashed
Continue (y/n)?y
Flash now device
Call: dfu-programmer atmega32u2 erase
dfu-programmer: no device present.
Call: dfu-programmer atmega32u2 flash CUL_V4_433MHZ.hex
dfu-programmer: no device present.
Call: dfu-programmer atmega32u2 start
dfu-programmer: no device present.

Im /dev gibt es keine entsprechende Gerätedatei/link
was ist im flash.sh mit MCU gemeint?
Was fehlt mir noch?
Makefiles gibt es in dem Paket auch nicht ... zumindest nicht unter CUL

Danke und Ciao,
Peter

KölnSolar

Hm, das sieht aber nicht nach nano aus, sondern busware-CUL.

avrdude ist installiert ? a-culfw entpackt ? FHEM heruntergefahren(sonst geht's nicht) ?

Dann kannst Du in das Unterverzeichnis /devices/nanoCUL der entpackten aculfw gehen, dann den Aufruf sudo ./flash.sh und dann sollte der Auswahldialog so aussehen-------------------------------------------------------------
This program flash the cul device with new firmware
Please change the device into the bootloader
-------------------------------------------------------------
Please choose a device:
1 = nanoCUL868
2 = nanoCUL433
Please select device (1-2):


Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Beta-User

Das flash-Programm dfu-... war schon korrekt, aber das Teil muss erst in einen speziellen Modus => Knopf beim Einstecken drücken oder raw B00 (?).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

ppmss

Hallo Markus, hallo Beta-User,
vielen Dank für eure Tipps.
Ich werde leider erst wieder nach den Weihnachtstagen etwas versuchen können.
Weihnachten ...

Ich wünsche euch schöne Feiertage und danke euch nochmal für die Unterstützung.
Ich denke, die leetzten Beiträge werden zur Lösung führen.

Ciao,
Peter

ppmss

Hi zusammen,
ich hoffe, ihr habt Weihnachten gut überstanden?

Ich versuche gerade wieder mal meinen nanoCUL zu flashen,
bekomme ihn aber anscheinend nicht in den flashmode oder etwas anderes passt noch nicht:

Zitat-------------------------------------------------------------
This program flash the cul device with new firmware.
Please change the device into the bootloader
-------------------------------------------------------------
Please choose a device:
1 = nanoCUL868
2 = nanoCUL433
Please select device (1-2): 2
-------------------------------------------------------------
This program flash the cul device with new firmware.
Please change the device into the bootloader
-------------------------------------------------------------
Please insert the port for your device [default /dev/ttyUSB0]:

The device will now be flashed
Continue (y/n)?y
Call now avrdude -p atmega328p -c arduino -P /dev/ttyUSB0 -b 38400 -D -Uflash:w:./nanoCUL433.hex:i
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

Ich habe
- fhem gestoppt
- Cul gezogen und mit gedrückten DIL gesteckt bzw. B00 oder B01 versucht zu setzen
- im flash.sh die Baud-Rate auf 38400 gesetzt

Was mache ich noch falsch?
Ciao,
Peter

Beta-User

Hmm, wenn es bei einem Nano diese sync-Errors gibt, ist in der Regel der Bootloader schuld.
Entweder die hex-File paßt nicht dazu, oder es ist gar keiner (mehr) installiert... Im letzteren Fall braucht man eine ISP (oder noch einen Nano oä., geflasht als solchen), im ersteren Fall hilft es, die passende hex zu finden. Kann auch sein, dass es klappt, wenn du das passende Timing erwischt (das dürfte dann ein fake-FTDI sein?).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

KölnSolar

oder er ist nicht als ttyUSB0 erkannt oder FHEM hat ihn in Besitz genommen oder .....  :-\
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

ppmss

Hi und danke,
aber das geht über mein Hardware-Verständnis/knowHow hinaus.
Hab einen neuen  CUL probiert.
Dieser ist geflasht mit
V 3.4.0 SIGNALduino cc1101 (chip CC1101) - compiled at Jul 16 2020 20:52:15

Wenn ich versuche diesen zu flashen bekomme ich:
lease choose a device:
1 = nanoCUL868
2 = nanoCUL433
Please select device (1-2): 2
-------------------------------------------------------------
This program flash the cul device with new firmware.
Please change the device into the bootloader
-------------------------------------------------------------
Please insert the port for your device [default /dev/ttyUSB0]:

The device will now be flashed
Continue (y/n)?y
Call now avrdude -p atmega328p -c arduino -P /dev/ttyUSB0 -b 57600 -D -Uflash:w:./nanoCUL433.hex:i
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x02
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x4d
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x43
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x3b
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x4c
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x4c
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x3d
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x2d
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x39
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x36

avrdude done.  Thank you.


Auch nicht erfolgreich.
Der Kommandosatz für picocom scheint auch ein anderer zu sein.
Außerdem gibt er binäre Zeichen ohne picocom zu bedienen, scheint also von anderen Teilen etwas zu empfangen?

Ich bin am Ende.
Und das nach über 35 Jahren IT ... beschämend ist das, aber wie gesagt, ich werde halt alt.

Ciao,
Peter

Ralf9

#35
Hat der nanocul evtl den neuen optiboot Bootloader? Dieser wird mit 115200 Baud geflasht.
Der nano muß nicht in den flashmode gebracht werden, dies passiert beim flashen automatisch. 
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

ppmss

Yeah ...  :) das war's ...
flash.sh angepasst:
BAUD=115200
und
V 1.26.08 a-culfw Build: 323 (2019-08-03_09-32-54) nanoCUL433 (F-Band: 433MHz)

Danke,
Peter

ppmss

Einen kleinen Schubs bräuchte ich noch.
Die ID des dev's ist gleich geblieben.
Zitatusb-SHK_NANO_CUL_433-if00-port0
Wenn ich ein Gerät bediene, wleches über den CUL senden soll, sehe ich im cul-device, dass das Signal is* gesendet werden soll.
Allerdings wird seit dem flashen nichts mehr geschaltet.

Was muss ich noch in den devices ändern?
Das cul433-Device gibt dir selben Daten aus wie picocom.

Ciao,
Peter

ppmss

Hi zusammen,
ich habe folgenden Beitrag gefunden, der mich aber nicht geholfen hat: https://forum.fhem.de/index.php/topic,110966.15.html

Im log finde ich keine Fehler.
list cul433 zeigt:
nternals:
   CMDS       ABCeFfGiKLlMNRTtUVWXx
   CUL433_MSGCNT 120
   CUL433_TIME 2021-12-29 10:16:47
   Clients    :FS20:FHT.*:KS300:USF1000:BS:HMS:FS20V: :CUL_EM:CUL_WS:CUL_FHTTK:CUL_HOERMANN: :ESA2000:CUL_IR:CUL_TX:Revolt:IT:UNIRoll:SOMFY: :STACKABLE_CC:TSSTACKED:STACKABLE:CUL_RFR::CUL_TCM97001:CUL_REDIRECT::OREGON::Hideki:
   DEF        /dev/serial/by-id/usb-SHK_NANO_CUL_433-if00-port0@38400 0000
   DeviceName /dev/serial/by-id/usb-SHK_NANO_CUL_433-if00-port0@38400
   FD         29
   FHTID      0000
   FUUID      61cb56fa-f33f-0b8f-083e-a26996e25793d837
   NAME       CUL433
   NR         87
   PARTIAL   
   RAWMSG     omFFFFFE7FFFE0EDF840DD
   STATE      Initialized
   TIME       1640769391
   TYPE       CUL
   VERSION    V 1.26.08 a-culfw Build: 323 (2019-08-03_09-32-54) nanoCUL433 (F-Band: 433MHz)
   initString X21
   MatchList:
     0:FS20V    ^81..(04|0c)..0101a001......00[89a-f]...
     1:USF1000  ^81..(04|0c)..0101a001a5ceaa00....
     2:BS       ^81..(04|0c)..0101a001a5cf
     3:FS20     ^81..(04|0c)..0101a001
     4:FHT      ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
     5:KS300    ^810d04..4027a001
     6:CUL_WS   ^K.....
     7:CUL_EM   ^E0.................$
     8:HMS      ^810e04......a001
     9:CUL_FHTTK ^T[A-F0-9]{8}
     A:CUL_RFR  ^[0-9A-F]{4}U.
     B:CUL_HOERMANN ^R..........
     C:ESA2000  ^S................................$
     C:Hideki   ^P12#75[A-F0-9]{17,30}
     C:OREGON   ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
     D:CUL_IR   ^I............
     E:CUL_TX   ^TX[A-F0-9]{10}
     F:Revolt   ^r......................$
     G:IT       ^i......
     H:STACKABLE_CC ^\*
     I:UNIRoll  ^[0-9A-F]{5}(B|D|E)
     J:SOMFY    ^Y[r|t|s]:?[A-F0-9]+
     K:CUL_TCM97001 ^s[A-F0-9]+
     L:CUL_REDIRECT ^o+
     M:TSSTACKED ^\*
     N:STACKABLE ^\*
   READINGS:
     2021-12-29 09:52:37   cmds             A B C e F f G i K L l M N R T t U V W X x
     2021-12-29 10:01:32   raw             is00000FF0FFF0
     2021-12-29 10:16:47   state           Initialized
Attributes:
   room       5. FHEM


Um einen Tipp oder eine Referenz auf einen anderen Beitrag, der das Problem löst, wäre ich super dankbar.

Ciao,
Peter

ppmss

Hallo,
Entwarnung ...
Nach CUL433 raw e
und neu stecken
kann ich nun wieder schalten.

Ciao,
Peter