Signalduino Version 3.3.1 / 3.3.2 / 3.3.3-dev

Begonnen von Sidey, 02 Oktober 2016, 23:39:11

Vorheriges Thema - Nächstes Thema

pejonp

@andies

Du kannst die Matchlist vom Signalduino nicht mit dieser Folge füttern -> SR;;R=7;;P0=335;;P1=-665;;P2=-335;;P3=665;;P4=-15018;;D=01010102310101023101023104;

du must diese erst z.B. im Eintrag "83" in Hex umwandeln.
Du kannst aber natürlich diese Folge senden:

set sduino raw SR;;R=7;;P0=335;;P1=-665;;P2=-335;;P3=665;;P4=-15018;;D=01010102310101023101023104;


dazu benötigst du aber keine Eintrag in der Matchliste. Ich schalte so z.B. meine Beleuchtung. (Einträge aus der fhem.cfg, deshalb die vielen Semikola)

#Kerze 433 1
define Kerze433 dummy
attr Kerze433 room Haus,LED-Beleuchtung
attr Kerze433 setList state:on,off,flash,flash2
attr Kerze433 verbose 1
attr Kerze433 webCmd on:off:flash:flash2
define Kerze433_on notify (Kerze433:on) set sduino raw SR;;;;R=4;;;;P0=-1425;;;;P1=665;;;;P2=-3500;;;;P3=-7642;;;;P4=-928;;;;P5=92;;;;P6=-2484;;;;D=01010121212121210121212131312121212101210101010101010101012121212121012121213131212121210121010101010101010101212121212101212121313121212121012101010101010101010121212121210121212131312121212101210101010101010101014561212121210121212131312121212101210101;;;;\
Log 1, "notify Kerze_on   : $NAME $EVENT";;;;\

attr Kerze433_on verbose 1
define Kerze433_off notify (Kerze433:off) set sduino raw SR;;;;R=3;;;;P0=1492;;;;P1=-534;;;;P2=3728;;;;P4=-3533;;;;P5=651;;;;P6=-1455;;;;P7=-7675;;;;D=01210456565656565656565654545454545454545457575454545456545656565656565656565454545454545454545757545454545654565656565656565656545454545454545454575754545454565456565656565656565654545454545454545457575454545456545656565656565656565454545454545454545757;;;;\
Log 1, "notify Kerze_off  : $NAME $EVENT";;;;\

attr Kerze433_off verbose 1

define Kerze433_flash notify (Kerze433:flash)  set sduino raw SR;;;;R=4;;;;P0=-934;;;;P1=276;;;;P2=649;;;;P3=-3529;;;;P4=-1450;;;;P5=-7680;;;;D=01023232323242324242424242424242423232323232424242325252323232324232424242424242424242323232323242424232525232323232423242424242424242424232323232324242423252523232323242324242424242424242423232323232424242325252323232324232424242424242424242323232323242;;;;\
Log 1, "notify Kerze_flash: $NAME $EVENT";;;;\

attr Kerze433_flash verbose 1

define Kerze433_flash2 notify (Kerze433:flash2) set sduino raw SR;;;;R=3;;;;P0=-1457;;;;P1=647;;;;P2=-3543;;;;P3=-7688;;;;P4=164;;;;P5=-316;;;;D=01210101010101010101012121212121010121213131245121212101210101010101010101012121212121010121213131212121210121010101010101010101212121212101012121313121212121012101010101010101010121212121210101212131312121212101210101010101010101012121212121010121213131;;;;\
Log 1, "notify Kerze_flash2: $NAME $EVENT";;;;
attr Kerze433_flash2 verbose 1


Wenn du aber jetzt die Fernbedienung erkennen und darauf reagieren möchtest, kommst du um einen Eintrag in der Matchlist wahrscheinlich nicht herum.

pejonp
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

sash.sc

Zitat von: Ralf9 am 07 Mai 2017, 19:36:23
Wenn Du in die Whitelist_ID nur eine nicht definierte ID (z.B. 99) eingibst und
das Attribut "rawmsgEvent" auf 1 setzt, dann kannst Du im Event monitor die empfangenen Nachrichten anschauen.
Mit den erzeugten events kannst Du dann eine filelog füttern.

Gruß Ralf

Hallo Ralf.

Funktioniert soweit....
Bekommt man DMESG auch noch wie in die LOG´s rein ??

Gruß
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Ralf9

Zitat von: davidwohnthier am 03 Mai 2017, 14:15:06
Bekomme keine Reaktion, wenn ich etwas an CCCC, DD oder EE ändere. Nur die von dir genannten Codes funktionieren für ein und ausschalten. Was meint denn der Autor von dem Skript, dass vier weitere Bits gesendet/angehängt werden müssen? Bei ihm scheinen die ja einfach an den Schluss zu kommen?!

Jedenfalls reagiert der Dimmer nicht beim senden von DD = 11, irgendwo scheine ich noch die vier Bits für das Dimmlevel angeben zu müssen,

Du kannst mal versuchen die 4 Bit zwischen DD und EE oder hinter FFFFFF einzufügen.

@Sidey
Kann es sich beim HE300 auch um eine Quadcodierung handeln? Dann wäre der Dimmlevel 8 Bit.

my %bintotristateHE=(
  "10" => "1",
  "01" => "0",
  "11" => "2",
  "00" => "D"

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

andies

Zitat von: pejonp am 07 Mai 2017, 21:04:55
du must diese erst z.B. im Eintrag "83" in Hex umwandeln.
Ah, super, danke - langsam verstehe ich. Ich muss bei twostate die Einzelsignale 0 und 1 durch clockstate definieren und das Gesamtsignal ist dann die Hex der 0 und 1, richtig? Na dann mache ich mich mal ran. Noch eine Frage. Mein Gerät verlangt ein Schlussbit (1500mikrosec lang). So etwas habe ich im Code nicht gesehen. Es gibt preamble, aber postamble hatte wieder unverständliche Sachen drin - oder ist das auch nur einfach Hex der Einzelsignale?
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Ralf9

Zitat von: sash.sc am 07 Mai 2017, 21:06:20
Bekommt man DMESG auch noch wie in die LOG´s rein ??

Sind die DMESG für die es kein Modul gibt ("u" oder "U" am Anfang) ausreichend?
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

sash.sc

Zitat von: Ralf9 am 07 Mai 2017, 21:29:45
Sind die DMESG für die es kein Modul gibt ("u" oder "U" am Anfang) ausreichend?
Denke schon.....

Gesendet von dem teuren ding in meiner hand

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

pejonp

@andies

Ich hatte auch mal so etwas versucht für den WH2. Da ich persönlich keinen habe mußte, habe ich es an Hand des Logs versucht. Von @sidey habe ich auch noch eine Hilfestellung bekommen. Die hänge ich hier mal mit an. Vielleicht kannst du dich an dieser entlanghangeln.

### Hilfe Sidey ###
Vom Prinzip bestimmt man erst dem größten gemeinsamen Teiler.
Der kommt in clockabs.

Die Werte in one, zero, Start, sync sind die Multiplikatoren.

Bei MU Protokollen gibt es keinen sync, da kann nach one, zero oder Start gesucht werden. Je nach dem, welche Werte hinter Start/one/zero stehen wird die Sequenz danach gewertet.

In dem 1. Beispiel würde ich clockabs auf 500 setzen. Siehe auch CP=1 =502.
Die bits sind meiner Meinung nach  über die Sequenz 12 und 32 dargestellt.

Start über 34.
Den Wert dieser Indexe kann man in Px=  entnehmen.
3 =-966
4=23206

Ich tippe mal 12 entspricht binär einer 0.
Im Protokoll wird dann zero = [1,-2] definiert.

Die Angabe hinter zero/one/Start/sync sind eigentlich nur Multiplikatoren auf clockabs, welche gegen den Wert der Sequenz verglichen werden.

Length_min und max bestimmen grenzen. Die muss man nicht zwingend setzen, es hat sich aber bewährt, diese möglichst eng zu definieren, da es sonst massenhaft zu fehlerhaften demodulierungen kommen kann.


z.B WH2: RAW von der seriellen:Anzeige: 41% 21,8°C
MU;P0=-264;P1=502;P2=-966;P3=1469;P4=-23206;D=01212121212123212323232121212121212323232323212123212123212323232123212323212323232321232323232321212323212323232323412121212121212321232323212121212121232323232321212321212321232323212321232321232323232123232323232121232321232323232341212121212121232123;CP=1;O;
MU;P0=-979;P1=1459;P2=489;D=01010202020202020101010101020201020201020101010201020101020101010102010101010102020101020101010101;CP=2;

2017.04.05 17:39:57 4: sduino/msg READ: MU;P0=32001;P1=-19272;P2=461;P3=-1067;P4=1444;D=012343234323432323434343432343434343434323432323232323232323232343432323432;CP=2;R=53;

start    => [-40,1],  #  -19200 / 470 ~ 40
zero     => [1,-2],   #  1067/470 ~ 2   461/470 ~ 1
one      => [3,-2],   #  1444/470 ~ 3  1067/470 ~ 2

length ~ 36 bits



pejonp
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

davidwohnthier

Zitat von: Ralf9 am 07 Mai 2017, 21:24:09
Du kannst mal versuchen die 4 Bit zwischen DD und EE oder hinter FFFFFF einzufügen.

@Sidey
Kann es sich beim HE300 auch um eine Quadcodierung handeln? Dann wäre der Dimmlevel 8 Bit.

my %bintotristateHE=(
  "10" => "1",
  "01" => "0",
  "11" => "2",
  "00" => "D"

Gruß Ralf

Hallo Ralf!

Ich habe umfangreiche Tests nach dem Trial and Error Prinzip ausprobiert. Leider reagiert der Dimmer auf keinen der eingegebenen Commandos. Folgendes habe ich getestet:

DD=10 und Bits (0100) zwischen DD und EE
set sduino sendMsg P65#1100011110011011000111101100111010101011001101110010001100011#R6
Ergebnis: keine Reaktion

DD=10 und Bits nach FFFFFF
set sduino sendMsg P65#1100011110011011000111101100111010101011001101110011000110100#R6
Ergebnis: keine Reaktion

DD=11 und Bits (0100) zwischen DD und EE
set sduino sendMsg P65#1100011110011011000111101100111010101011001101111010001100011#R6
Ergebnis: keine Reaktion

DD=11 und Bits (0100) hinter FFFFF
set sduino sendMsg P65#1100011110011011000111101100111010101011001101111011000110100#R6
Ergebnis: keine Reaktion

DD=11 und Bits (00010101) zwischen DD und EE:
set sduino sendMsg P65#11000111100110110001111011001110101010110011011100001010101100011#R6
Ergebnis: keine Reaktion

DD=11 und Bits (00010101) hinter FFFFF
set sduino sendMsg P65#11000111100110110001111011001110101010110011011100110001100010101#R6
Ergebnis: keine Reaktion

DD=00 und Bits (0100) zwischen DD und EE
set sduino sendMsg P65#1100011110011011000111101100111010101011001101100010001100011#R6
Ergebnis: keine Reaktion

DD=00 und Bits (0100) hinter FFFFF
set sduino sendMsg P65#1100011110011011000111101100111010101011001101100011000110100#R6
Ergebnis: keine Reaktion

Sidey

B#@@

Gesendet von meinem Nexus 5 mit Tapatalk

Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

Ralf9

ZitatIch habe umfangreiche Tests nach dem Trial and Error Prinzip ausprobiert. Leider reagiert der Dimmer auf keinen der eingegebenen Commandos. Folgendes habe ich getestet:

Du kannst noch folgendes testen. Sonst habe ich für Trial and Error auch keine Idee mehr.
DD=00 und Bits (00010101) zwischen DD und EE:

DD=00 und Bits (00010101) hinter FFFFF



Eine andere Möglichkeit wäre mit einem Sender, der das HEEU oder HE300 Protokoll kann, einen Dim Level zu senden und dann die von Signalduino empfangene raw Nachricht hier posten.

Sind Dir außer dem RFXtrx433 noch andere Sender bekannt die das HEEU oder HE300 Protokoll können?

Interessant wäre, wenn jemand mit einem RFXtrx433 ein HomeEasy EU device definieren könnte
z.B.:
define heeu TRX_LIGHT HOMEEASY 0123456709 none
und dann
set heeu on
und
set heeu level 7

und dann die von Signalduino empfangene raw Nachricht hier posten könnte.

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

andies

@Ralf9, sidey: Seid Ihr Euch sicher, dass das hier richtig ist: if ($intro ne "" || $outro ne "")
{
$intro = "SC;R=$repeats;" . $intro;
$repeats = 0;
}



Gesendet von iPhone mit Tapatalk Pro
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Ralf9

Zitat von: andies am 10 Mai 2017, 08:14:22
@Ralf9, sidey: Seid Ihr Euch sicher, dass das hier richtig ist:

Für mich sieht dies so ok aus.

Probleme könnte evtl beim Somfy das fehlende msgOutro machen

#msgOutro => 'SR;P0=-30415;D=0;',

@habeIchVergessen
liest Du hier mit?

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

andies

Sorry, habe mich falsch ausgedrückt. Müsste es nicht sinnvollerweise
if ($intro ne "" || $outro ne "")
{
$intro = "SC;R=$repeats;" . $outro;  <==== HIER outro statt intro
$repeats = 0;
}

heißen?
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Ralf9

Zitat von: Ralf9 am 09 Mai 2017, 23:58:24
Du kannst noch folgendes testen. Sonst habe ich für Trial and Error auch keine Idee mehr.
DD=00 und Bits (00010101) zwischen DD und EE:

DD=00 und Bits (00010101) hinter FFFFF


Ich habe mir das mit den 8 Bit nochmals angeschaut. Wenn
01 => 0 (off)
10 => 1 (on)
dann ist 0100 => 01100101

Du kannst folgendes nochmals testen

DD=00 und Bits (01100101) zwischen DD und EE:

DD=00 und Bits (01100101) hinter FFFFF

DD=11 und Bits (01100101) zwischen DD und EE:

DD=11 und Bits (01100101) hinter FFFFF



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

Sidey

So auf den 1. Blick würde die Sache mit $outro so mehr Sinn ergeben.

Gesendet von meinem Nexus 5 mit Tapatalk

Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker