Hallo,
ich habe eine Baumarktsteckdose, basierend auf EIM-826 (UNITEC) die es in jeden Baumarkt für 10-15 Euro inkl 3 Schaltdosen im Betrieb.
Das funktioniert auch so ganz gut. Um meine Brennenstuhl Funksteckdosen zu steuern habe ich mir eine nanoCUL selbst (nach Anleitung hier) gebaut und diese an meiner CCU2 angeschlossen. Mit diesen Steckdosen gab es auch keine weiteren Probleme.
Im Intertechno-Modus gib es ja drei Signale:
0 = LOW LOW = 0 0
1 = HIGH HIGH = 1 1
F = LOW HIGH = 0 1
Es fehlt:
? = HIGH LOW = 1 0
Diese billigen Dinger aus dem Baumarkt nutzen aber zum Ausschalten genau diesen fehlenden Code.
(Die Fernbedienung lifert z.B. ...F für ein und ...E für aus.
F = 1111 => 1 1 im Intertechno-Sprechweise
E = 1110 => 1 ? gibt es nicht in Intertechno.
Ich habe nun das Modul intertechno.c angepaßt, so dass auch diese Teile funktionieren.
Für ? habe ich 2 gewählt. Also
E = 1110 => 12 im "Quad-Modus"
Was ist zu tun:
die Datei intertechno.c anpassen:
/*
* Copyright by O.Droegehorn /
* DHS-Computertechnik GmbH
* License: GPL v2
*/
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdio.h>
#include <util/parity.h>
#include <string.h>
#include "board.h"
#ifdef HAS_INTERTECHNO
#include "delay.h"
#include "rf_send.h"
#include "rf_receive.h"
#include "led.h"
#include "cc1100.h"
#include "display.h"
#include "fncollection.h"
#include "fht.h"
#include "intertechno.h"
#ifdef HAS_ASKSIN
#include "rf_asksin.h"
#endif
#ifdef HAS_MORITZ
#include "rf_moritz.h"
#endif
static uint8_t intertechno_on = 0;
const PROGMEM const uint8_t CC1100_ITCFG[EE_CC1100_CFG_SIZE] = {
// CULFW IDX NAME RESET STUDIO COMMENT
0x0D, // 00 IOCFG2 *29 *0B GDO2 as serial output
0x2E, // 01 IOCFG1 2E 2E Tri-State
0x2D, // 02 IOCFG0 *3F *0C GDO0 for input
0x07, // 03 FIFOTHR 07 *47
0xD3, // 04 SYNC1 D3 D3
0x91, // 05 SYNC0 91 91
0x3D, // 06 PKTLEN *FF 3D
0x04, // 07 PKTCTRL1 04 04
0x32, // 08 PKTCTRL0 *45 32
0x00, // 09 ADDR 00 00
0x00, // 0A CHANNR 00 00
0x06, // 0B FSCTRL1 *0F 06 152kHz IF Frquency
0x00, // 0C FSCTRL0 00 00
0x10, // 0D FREQ2 *1E 21 433.92 (InterTechno Frequency)
0xb0, // 0E FREQ1 *C4 65
0x71, // 0F FREQ0 *EC e8
0x55, // 10 MDMCFG4 *8C 55 bWidth 325kHz
0xe4, // 11 MDMCFG3 *22 *43 Drate:1500 ((256+228)*2^5)*26000000/2^28
0x30, // 12 MDMCFG2 *02 *B0 Modulation: ASK
0x23, // 13 MDMCFG1 *22 23
0xb9, // 14 MDMCFG0 *F8 b9 ChannelSpace: 350kHz
0x00, // 15 DEVIATN *47 00
0x07, // 16 MCSM2 07 07
0x00, // 17 MCSM1 30 30
0x18, // 18 MCSM0 *04 18 Calibration: RX/TX->IDLE
0x14, // 19 FOCCFG *36 14
0x6C, // 1A BSCFG 6C 6C
0x07, // 1B AGCCTRL2 *03 *03 42 dB instead of 33dB
0x00, // 1C AGCCTRL1 *40 *40
0x90, // 1D AGCCTRL0 *91 *92 4dB decision boundery
0x87, // 1E WOREVT1 87 87
0x6B, // 1F WOREVT0 6B 6B
0xF8, // 20 WORCTRL F8 F8
0x56, // 21 FREND1 56 56
0x11, // 22 FREND0 *16 17 0x11 for no PA ramping
0xE9, // 23 FSCAL3 *A9 E9
0x2A, // 24 FSCAL2 *0A 2A
0x00, // 25 FSCAL1 20 00
0x1F, // 26 FSCAL0 0D 1F
0x41, // 27 RCCTRL1 41 41
0x00, // 28 RCCTRL0 00 00
};
uint16_t it_interval = 420;
uint16_t it_interval_v3 = 260;
uint16_t it_repetition = 6;
uint8_t restore_asksin = 0;
uint8_t restore_moritz = 0;
unsigned char it_frequency[] = {0x10, 0xb0, 0x71};
static void
it_tunein(void)
{
int8_t i;
EIMSK &= ~_BV(CC1100_INT);
SET_BIT( CC1100_CS_DDR, CC1100_CS_PIN ); // CS as output
CC1100_DEASSERT; // Toggle chip select signal
my_delay_us(30);
CC1100_ASSERT;
my_delay_us(30);
CC1100_DEASSERT;
my_delay_us(45);
ccStrobe( CC1100_SRES ); // Send SRES command
my_delay_us(100);
CC1100_ASSERT; // load configuration
cc1100_sendbyte( 0 | CC1100_WRITE_BURST );
for(uint8_t i = 0; i < 13; i++) {
cc1100_sendbyte(__LPM(CC1100_ITCFG+i));
} // Tune to standard IT-Frequency
cc1100_sendbyte(it_frequency[0]); // Modify Freq. for 433.92MHZ, or whatever
cc1100_sendbyte(it_frequency[1]);
cc1100_sendbyte(it_frequency[2]);
for (i = 16; i<EE_CC1100_CFG_SIZE; i++) {
cc1100_sendbyte(__LPM(CC1100_ITCFG+i));
}
CC1100_DEASSERT;
uint8_t *pa = EE_CC1100_PA;
CC1100_ASSERT; // setup PA table
cc1100_sendbyte( CC1100_PATABLE | CC1100_WRITE_BURST );
for (uint8_t i = 0;i<8;i++) {
cc1100_sendbyte(erb(pa++));
}
CC1100_DEASSERT;
ccStrobe( CC1100_SCAL );
my_delay_ms(1);
cc_on = 1; // Set CC_ON
}
static void
send_IT_bit(uint8_t bit)
{
if (bit == 1) {
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High H
my_delay_us(it_interval * 3);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low
my_delay_us(it_interval);
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High H
my_delay_us(it_interval * 3);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low
my_delay_us(it_interval);
} else if (bit == 0) {
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High
my_delay_us(it_interval);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low L
my_delay_us(it_interval * 3);
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High
my_delay_us(it_interval);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low L
my_delay_us(it_interval * 3);
// Quad-State
} else if (bit == 2) {
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High H
my_delay_us(it_interval * 3);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low
my_delay_us(it_interval);
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High L
my_delay_us(it_interval);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low
my_delay_us(it_interval * 3);
// Quad-State
} else {
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High
my_delay_us(it_interval);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low L
my_delay_us(it_interval * 3);
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High H
my_delay_us(it_interval * 3);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low
my_delay_us(it_interval);
}
}
static void
send_IT_start_V3(void) {
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High
my_delay_us(it_interval);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low
my_delay_us(it_interval_v3 * 10);
}
static void
send_IT_stop_V3(void) {
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High
my_delay_us(it_interval_v3);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low
my_delay_us(it_interval_v3 * 40);
}
static void
send_IT_bit_V3(uint8_t bit)
{
if (bit == 1) {
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High
my_delay_us(it_interval_v3);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low
my_delay_us(it_interval_v3 * 5);
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High
my_delay_us(it_interval_v3);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low
my_delay_us(it_interval_v3);
} else if (bit == 0) {
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High
my_delay_us(it_interval_v3);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low
my_delay_us(it_interval_v3);
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High
my_delay_us(it_interval_v3);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low
my_delay_us(it_interval_v3 * 5);
} else {
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High
my_delay_us(it_interval_v3);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low
my_delay_us(it_interval_v3);
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High
my_delay_us(it_interval_v3);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low
my_delay_us(it_interval_v3);
}
}
static void
it_send (char *in) {
int8_t i, j, k;
LED_ON();
#if defined (HAS_IRRX) || defined (HAS_IRTX) //Blockout IR_Reception for the moment
cli();
#endif
// If NOT InterTechno mode
if(!intertechno_on) {
#ifdef HAS_ASKSIN
if (asksin_on) {
restore_asksin = 1;
asksin_on = 0;
}
#endif
#ifdef HAS_MORITZ
if(moritz_on) {
restore_moritz = 1;
moritz_on = 0;
}
#endif
it_tunein();
my_delay_ms(3); // 3ms: Found by trial and error
}
ccStrobe(CC1100_SIDLE);
ccStrobe(CC1100_SFRX );
ccStrobe(CC1100_SFTX );
ccTX(); // Enable TX
int8_t sizeOfPackage = strlen(in)-1; // IT-V1 = 14, IT-V3 = 33
for(i = 0; i < it_repetition; i++) {
if (sizeOfPackage == 33) {
send_IT_start_V3();
}
for(j = 1; j < sizeOfPackage; j++) {
if(in[j+1] == '0') {
if (sizeOfPackage == 33) {
send_IT_bit_V3(0);
} else {
send_IT_bit(0);
}
} else if (in[j+1] == '1') {
if (sizeOfPackage == 33) {
send_IT_bit_V3(1);
} else {
send_IT_bit(1);
}
// Quad
} else if (in[j+1] == '2') {
if (sizeOfPackage == 33) {
send_IT_bit_V3(2);
} else {
send_IT_bit(2);
}
// Quad
} else {
if (sizeOfPackage == 33) {
send_IT_bit_V3(3); // Quad 2->3
} else {
send_IT_bit(3); // Quad 2->3
}
}
}
if (sizeOfPackage == 33) {
send_IT_stop_V3();
} else {
// Sync-Bit
CC1100_OUT_PORT |= _BV(CC1100_OUT_PIN); // High
my_delay_us(it_interval);
CC1100_OUT_PORT &= ~_BV(CC1100_OUT_PIN); // Low
for(k = 0; k < 31; k++) {
my_delay_us(it_interval);
}
}
} //Do it n Times
if(intertechno_on) {
if(tx_report) { // Enable RX
ccRX();
} else {
ccStrobe(CC1100_SIDLE);
}
}
#ifdef HAS_ASKSIN
else if (restore_asksin) {
restore_asksin = 0;
rf_asksin_init();
asksin_on = 1;
ccRX();
}
#endif
#ifdef HAS_MORITZ
else if (restore_moritz) {
restore_moritz = 0;
rf_moritz_init();
}
#endif
else {
set_txrestore();
}
#if defined (HAS_IRRX) || defined (HAS_IRTX) //Activate IR_Reception again
sei();
#endif
LED_OFF();
DC('i');DC('s');
for(j = 1; j < sizeOfPackage; j++) {
if(in[j+1] == '0') {
DC('0');
} else if (in[j+1] == '1') {
DC('1');
} else if (in[j+1] == '2') { // Quad
DC('2'); // Quad
} else {
DC('F');
}
}
DNL();
}
void
it_func(char *in)
{
if (in[1] == 't') {
fromdec (in+2, (uint8_t *)&it_interval);
DU(it_interval,0); DNL();
} else if (in[1] == 's') {
if (in[2] == 'r') { // Modify Repetition-counter
fromdec (in+3, (uint8_t *)&it_repetition);
DU(it_repetition,0); DNL();
} else {
it_send (in); // Sending real data
} //sending real data
} else if (in[1] == 'r') { // Start of "Set Frequency" (f)
#ifdef HAS_ASKSIN
if (asksin_on) {
restore_asksin = 1;
asksin_on = 0;
}
#endif
#ifdef HAS_MORITZ
if (moritz_on) {
restore_moritz = 1;
moritz_on = 0;
}
#endif
it_tunein ();
intertechno_on = 1;
} else if (in[1] == 'f') { // Set Frequency
if (in[2] == '0' ) {
it_frequency[0] = 0x10;
it_frequency[1] = 0xb0;
it_frequency[2] = 0x71;
} else {
fromhex (in+2, it_frequency, 3);
}
DC('i');DC('f');DC(':');
DH2(it_frequency[0]);
DH2(it_frequency[1]);
DH2(it_frequency[2]);
DNL();
} else if (in[1] == 'x') { // Reset Frequency back to Eeprom value
if(0) { ;
#ifdef HAS_ASKSIN
} else if (restore_asksin) {
restore_asksin = 0;
rf_asksin_init();
asksin_on = 1;
ccRX();
#endif
#ifdef HAS_MORITZ
} else if (restore_moritz) {
restore_moritz = 0;
rf_moritz_init();
#endif
} else {
ccInitChip(EE_CC1100_CFG); // Set back to Eeprom Values
if(tx_report) { // Enable RX
ccRX();
} else {
ccStrobe(CC1100_SIDLE);
}
}
intertechno_on = 0;
} else if (in[1] == 'c') { // Modify Clock-counter
fromdec (in+1, (uint8_t *)&it_interval);
}
}
#endif
=> alle Stellen sind mit Quad gekennzeichnet.
Ich hätte es auch gerne in das Repositorie eingepflegt, leider habe ich das aber nicht hinbekommen.
Meine C-Kenntnisse sind leider sehr bescheiden. :-\
Läßt sich das auch in der a-culfw einbauen? Hier sieht intertechno.c nämlich etwas anders aus: https://github.com/heliflieger/a-culfw/blob/master/culfw/clib/intertechno.c (https://github.com/heliflieger/a-culfw/blob/master/culfw/clib/intertechno.c)
Hallo,
der Code ist nahezu exakt identisch. Sollte also kein Problem sein. Nutze halt nur die normale CULFW.
Bin halt noch recht neu dabei und habe erst später erfahren das es eine a(lternative) culfw gibt.
Was sind denn die Vorteile von a-culfw?
Der Vorteil ist die Unterstützung von zusätzlichen Protokollen. Außerdem läßt sich damit auch der Max Cube zum CUL flashen.
Zitat von: sissiwup am 05 Februar 2016, 17:18:27
Hallo,
der Code ist nahezu exakt identisch. Sollte also kein Problem sein. Nutze halt nur die normale CULFW.
Bin halt noch recht neu dabei und habe erst später erfahren das es eine a(lternative) culfw gibt.
Hallo,
so identisch ist der Code nicht wirklich, zumindest nicht für mich als C-Laien. Den ersten Teil Deiner Änderung einzubauen ist kein Problem:
--- intertechno.c.orig 2016-02-05 14:56:36.379968848 +0100
+++ intertechno.c 2016-02-10 18:28:09.549999375 +0100
@@ -177,6 +177,18 @@
my_delay_us(it_interval);
CC1100_CLEAR_OUT; // Low
my_delay_us(it_interval * 3);
+// Quad-State
+ } else if (bit == 2) {
+ CC1100_SET_OUT; // High
+ my_delay_us(it_interval * 3);
+ CC1100_CLEAR_OUT; // Low
+ my_delay_us(it_interval);
+
+ CC1100_SET_OUT; // High
+ my_delay_us(it_interval);
+ CC1100_CLEAR_OUT; // Low
+ my_delay_us(it_interval * 3);
+// Quad-State
} else {
CC1100_SET_OUT; // High
my_delay_us(it_interval);
Aber wo bau ich den Rest Deiner Änderungen ein (ab Zeile 285)?
// Quad
} else if (in[j+1] == '2') {
if (sizeOfPackage == 33) {
send_IT_bit_V3(2);
} else {
send_IT_bit(2);
}
// Quad
} else {
if (sizeOfPackage == 33) {
send_IT_bit_V3(3); // Quad 2->3
} else {
send_IT_bit(3); // Quad 2->3
}
Der Code müsste ja irgendwo ab Zeile 385 (https://github.com/heliflieger/a-culfw/blob/master/culfw/clib/intertechno.c#L385) in der a-culfw eingefügt werden.
HAllo,
ich hätte auch Interesse an einer modifizierten a-culfw. Habe auch ein paar Geräte, die 10 benötigen.
Gruß,
sidi
Zitat von: sidi am 18 Februar 2016, 18:15:42
HAllo,
ich hätte auch Interesse an einer modifizierten a-culfw. Habe auch ein paar Geräte, die 10 benötigen.
Gruß,
sidi
Ich kann mir das mal anschauen, es muss aber einer von euch testen.
ich würde es mit meinen Geräten testen.
Ich habe ich hier auch Unitec Funksteckdosen die ich gerne mit der a-culfw nutzen würde und wäre bereit zu testen... :)
gibt es hier schon was zum Testen?
Hallo,
ich habe mir gerade mal den Code in der a-culfw angesehen.
Den wert '2' habe ich bereits belegt.
Das einzige was ich anbieten kann ist die 3 zu nehmen.
Ich werde das jetzt mal einbauen, kann dass dan jemand bitte testen?
Gruß
Björn
Zitat von: bjoernh am 26 November 2016, 19:53:24
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.
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
Zitat von: bjoernh am 26 November 2016, 22:04:50
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?
Mit dem aktuellen IT-Modul hat das Empfangen seither schon funktioniert. Mit Deinem patch in der a-culfw müsste jetzt auch das senden funktionieren.
Zum anlegen mit autocreate 2 mal auf "on" drücken:
2016.11.27 11:47:37.753 5: sduinoD dispatch i0D0C0F
2016.11.27 11:47:37.753 4: sduinoD IT: message "i0D0C0F" (7)
2016.11.27 11:47:37.753 4: sduinoD IT: msgcode "001F00100011" (12) bin = 000011010000110000001111
2016.11.27 11:47:37.753 5: sduinoD IT: V1 housecode = 001F001000 onoffcode = 11
2016.11.27 11:47:37.753 4: sduinoD IT: 001F001000 not defined (Switch code: 11)
2016.11.27 11:47:37.755 2: autocreate: define IT_001F001000 IT 001F001000 0F F0
Nun auf "off" drücken:
2016.11.27 11:48:32.004 5: sduinoD dispatch i0D0C0E
2016.11.27 11:48:32.004 4: sduinoD IT: message "i0D0C0E" (7)
2016.11.27 11:48:32.004 4: sduinoD IT: msgcode "001F0010001D" (12) bin = 000011010000110000001110
2016.11.27 11:48:32.004 5: sduinoD IT: V1 housecode = 001F001000 onoffcode = 1D
2016.11.27 11:48:32.004 3: sduinoD IT: Code 1D not supported by IT_001F001000.
Da dies keine Intertechno Steckdose ist passt der on/off code im define nicht und muss angepasst werden
001F001000 11 1D
Gruß Ralf
Hallo,
ich möchte als Neuling höflich nachfragen ob das Thema Unitec aus eurer Sicht abgeschlossen ist. Ich habe mir die Unitec 48110 ohne DIP Schalter bei Hornbach besorgt.
Aufgrund der Foreneinträge habe ich meinen nanoCUL auf die FW 1.23.03 geflasht und zu Sicherheit gestern auch noch einmal FHEM geupdatet. Leider komme ich hier nicht zum Erfolg. Ich habe das Loglevel des nanoCUL auf Verbose 5 gesetzt und erhalten im Log folgende Einträge wenn ich mit der Fernbedienung schalte.
2016.12.10 12:16:44 4: CUL_Parse: nanoCUL i6556996A969A959615 -63.5
2016.12.10 12:16:44 5: nanoCUL: dispatch i6556996a969a9596
2016.12.10 12:16:44 4: nanoCUL IT: message "i6556996a969a9596" (17)
2016.12.10 12:16:44 4: nanoCUL ITv3: bin message "0110010101010110100110010110101010010110100110101001010110010110" (64)
2016.12.10 12:16:44 4: nanoCUL IT: msgcode "01000001101001111001101110001001" (32) bin = 0110010101010110100110010110101010010110100110101001010110010110
2016.12.10 12:16:53 5: CUL/RAW: /s5E
2016.12.10 12:16:53 5: CUL/RAW: s5E/880
2016.12.10 12:16:53 5: CUL/RAW: s5E880/5513
2016.12.10 12:16:53 5: CUL/RAW: s5E8805513/028;
2016.12.10 12:16:53 5: CUL/RAW: s5E8805513028;/ 48
2016.12.10 12:16:53 5: CUL/RAW: s5E8805513028; 48/0: 9
2016.12.10 12:16:53 5: CUL/RAW: s5E8805513028; 480: 9/184
2016.12.10 12:16:53 5: CUL/RAW: s5E8805513028; 480: 9184
Autocreate legt "natürlich" nichts an. Auf mich als Laie wirkt es, als wenn der Code nur zur Hälfte erkannt/verarbeitet wird.
Da ich bis jetzt durch forschen im Forum so ziemlich alles ans laufen gebracht habe, habe ich die Hoffnung, dass ich hier mit einem kleinen Hinweis Eurerseits vielleicht schon weiterkommen kann.
Vorab schon einmal vielen Dank und Gruß
sasel
Hast Du die Taste innerhalb 30 sek zwei mal gedrückt?
Wenn ich es bei mir mit Deinen Daten mit einem Dummy simuliere, wird es sauber per autocreate angelegt:
2016.12.10 19:29:55.003 4: sduinoD/msg get dispatch: i6556996a969a9596
2016.12.10 19:29:55.003 5: sduinoD dispatch i6556996a969a9596
2016.12.10 19:29:55.015 4: sduinoD IT: message "i6556996a969a9596" (17)
2016.12.10 19:29:55.015 4: sduinoD ITv3: bin message "0110010101010110100110010110101010010110100110101001010110010110" (64)
2016.12.10 19:29:55.015 4: sduinoD IT: msgcode "01000001101001111001101110001001" (32) bin = 0110010101010110100110010110101010010110100110101001010110010110
2016.12.10 19:29:55.015 2: sduinoD IT: 0100000110100111100110111001001 not defined (Address: 01000001101001111001101110 Group: 0 Unit: 1001 Switch code: 0)
2016.12.10 19:30:22.039 4: sduinoD/msg get dispatch: i6556996a969a9596
2016.12.10 19:30:22.040 5: sduinoD dispatch i6556996a969a9596
2016.12.10 19:30:22.040 4: sduinoD IT: message "i6556996a969a9596" (17)
2016.12.10 19:30:22.040 4: sduinoD ITv3: bin message "0110010101010110100110010110101010010110100110101001010110010110" (64)
2016.12.10 19:30:22.040 4: sduinoD IT: msgcode "01000001101001111001101110001001" (32) bin = 0110010101010110100110010110101010010110100110101001010110010110
2016.12.10 19:30:22.040 2: sduinoD IT: 0100000110100111100110111001001 not defined (Address: 01000001101001111001101110 Group: 0 Unit: 1001 Switch code: 0)
2016.12.10 19:30:22.042 2: autocreate: define IT_0100000110100111100110111001001 IT 01000001101001111001101110 0 1001
2016.12.10 19:30:22.043 2: autocreate: define FileLog_IT_0100000110100111100110111001001 FileLog ./log/IT_0100000110100111100110111001001-%Y-%m.log IT_0100000110100111100110111001001
2016.12.10 19:30:22.901 4: sduinoD/msg get dispatch: i6556996a969a9596
2016.12.10 19:30:22.901 5: sduinoD dispatch i6556996a969a9596
2016.12.10 19:30:22.901 4: sduinoD IT: message "i6556996a969a9596" (17)
2016.12.10 19:30:22.901 4: sduinoD ITv3: bin message "0110010101010110100110010110101010010110100110101001010110010110" (64)
2016.12.10 19:30:22.901 4: sduinoD IT: msgcode "01000001101001111001101110001001" (32) bin = 0110010101010110100110010110101010010110100110101001010110010110
2016.12.10 19:30:22.901 3: sduinoD IT: IT_0100000110100111100110111001001 ???->off
Gruß Ralf
Hallo Ralf,
ich habe die on Taste noch einmal in Abständen von 1 - 5 Sekunden hintereinander gedrückt, anschließend die off Taste. Das Ergebnis ist das Gleiche. Zur Sicherheit habe ich das autocreate device noch einmal gelöscht und wieder neu angelegt
define autocreate autocreate
Dies hat jedoch auch nichts am Ergebnis geändert.
Seltsam ist auch, dass ich auf 1 - 2 Meter mit der Fernbedienung an den nanoCUL ran muss. Bin ich weiter weg, dann erscheint im LOG gar nichts. Bisher hatte ich bei keiner Komponente Probleme mit dem Empfang.
Besten Dank und Gruß
sasel
welche Version des IT-Modul hast Du?
Du kannst auch mal ein fhem neustart versuchen
Hallo,
Neustart habe ich bereits aus anderen Gründen heute mehrfach durchgeführt. Den Punkt kann ich somit ausschließen.
Die Version des IT Moduls lautet:
10_IT.pm 12179 2016-09-19 19:26:01Z dancer0705
Gruß
Florian
Diese Version des IT Moduls habe ich auch. Ich habe nun keine Idee mehr.
Trotzdem vielen Dank für Deine Mühe. :)
Mit den Daten aus meinem log kannst Du sie natürlich auch ohne autocreate anlegen:
define IT_0100000110100111100110111001001 IT 01000001101001111001101110 0 1001
define FileLog_IT_0100000110100111100110111001001 FileLog ./log/IT_0100000110100111100110111001001-%Y-%m.log IT_0100000110100111100110111001001
Hallo,
das habe ich bereits versucht. Die Dosen lassen sich damit weder pairen noch nach dem pairen schalten. Keine Ahnung, ob ich nicht vielleicht einen neue Version gekauft habe oder bei meiner Installation etwas schief gelaufen ist. >:(
Gruß
sasel