signalduino und Motorleinwand

Begonnen von tnt99, 08 Januar 2017, 19:02:25

Vorheriges Thema - Nächstes Thema

tnt99

Hallo zusammen,

ich nutze fhem schon seit Jahren, jedoch melde ich mich erst jetzt im Forum an, da ich das erste Problem habe, das ich nicht selbst lösen kann.

Ich habe folgende Motorleinwand "eSmart Germany Tension Leinwand TATENSO", welche ich per FHEM steuern möchte. Hierfür wolle ich per signalduino  die Funkbefehle der Original Fernbedienung einlesen und unverändert per fhem senden.
Wenn ich z.B. die "UP" Taste der Fernbedienung drücke, bekomme ich folgenden log-Eintrag:

2017.01.08 18:46:58 4: sduino/msg READ: MS;P1=655;P2=-255;P3=201;P4=-709;P5=-7074;D=35121212123412341212343412123412343434343434341234;CP=3;SP=5;
2017.01.08 18:46:58 4: sduino: Matched MS Protocol id 3 -> itv1
2017.01.08 18:46:58 5: sduino: Starting demodulation at Position 2
2017.01.08 18:46:58 4: sduino: Decoded MS Protocol id 3 dmsg iF59A02 length 24
2017.01.08 18:46:58 5: sduino: converted Data to (iF59A02)
2017.01.08 18:46:58 5: sduino: dispatch iF59A02
2017.01.08 18:46:58 4: sduino IT: message "iF59A02" (7)
2017.01.08 18:46:58 4: sduino IT: msgcode "" (0) bin = 111101011001101000000010
2017.01.08 18:46:58 5: sduino IT: EV1527 housecode = 1527xf59a0  onoffcode = 0010
2017.01.08 18:46:58 3: sduino IT: Code 0010 not supported by IT_1527xf59a0.
2017.01.08 18:46:58 4: sduino IT: message "iF59A02" (7)
2017.01.08 18:46:58 4: sduino IT: msgcode "" (0) bin = 111101011001101000000010
2017.01.08 18:46:58 5: sduino IT: EV1527 housecode = 1527xf59a0  onoffcode = 0010
2017.01.08 18:46:58 3: sduino IT: Code 0010 not supported by IT_1527xf59a0.
2017.01.08 18:46:58 3: sduino: Unknown code iF59A02, help me!



Die oben eingelesene Message wollte ich dann per sduino raw senden. Allerdings habe ich noch nicht ganz verstanden, wie das funktionieren soll.
Ich habe es u.a. mit folgenden Befehl versucht:

set sduino raw SR;;P1=655;;P2=-255;;P3=201;;P4=-709;;P5=-7074;;D=35121212123412341212343412123412343434343434341234;;

Das erzeugt in der Log-Datei aber nur folgende Ausgabe und es passiert nichts.

2017.01.08 18:59:02 4: set sduino raw raw SR;;P1=655;;P2=-255;;P3=201;;P4=-709;;P5=-7074;;D=35121212123412341212343412123412343434343434341234;;
2017.01.08 18:59:02 5: sduino SW: raw SR;;P1=655;;P2=-255;;P3=201;;P4=-709;;P5=-7074;;D=35121212123412341212343412123412343434343434341234;;
2017.01.08 18:59:02 4: sduino/msg READ: Unsupported command
2017.01.08 18:59:02 4: sduino/HandleWriteQueue: nothing to send, stopping timer


Kann mir jemand weiter helfen?


Viele Grüße,

Sebastian

Sidey

#1
Hallo tnt99,

Du bist nicht alleine mit dieser Leinwand. Vor 2 Wochen hat Marcel85 genau die gleiche Frage gestellt und ich bin gerade dabei ihm die gleichen Fragen zu beantworten.

Deine Leinwand nutzt das gleiche Protokoll, wie es auch IT Steckdosen machen:
Es besteht aus 24 Bit.

20 Bit stellen so etwas die den Code deiner Leinwand dar. Vielleicht sind auch irgendwo dipschalter, mit denen Du einen Teil des Codes verändern kannst.
Diese sind für alle Befehle (hoch/runter/stop) identisch.
Die letzte 4 bit, stellen den Befehl dar.

Leider ist es beim dem ITv1 Protokoll derzeit nicht möglich, die zu sendenden Bits direkt im Sendebefehl anzugeben, da noch eine Umwandlung erfolgt.
Die Umrechnung ist aber nicht kompliziert und rasch gemacht.

Senden kann man das dann so, damit die richtige Bitfolge generiert wird.

set sduino sendMsg P3#<rauf/runter/stop Sendebefehl>#R5#C210


Das ganze kann man dann in ein DOIF oder auch mit anderen Mitteln in FHEM schön einbauen.

Grüße Sidey

@Marcel85:

11110001011111001111 0010 = hoch   entspricht Sendebefehl = 110FF110110D
11110001011111001111 1000 = stop    entspricht Sendebefehl = 110FF1101100
11110001011111001111 0100 = runter entspricht Sendebefehl = 110FF11011F0


@tnt99

11110101100110100000 0010 = hoch   entspricht Sendebefehl = 11FFDFDD000D
11110101100110100000 1000 = stop    entspricht Sendebefehl = 11FFDFDD0000
11110101100110100000 0100 = runter entspricht Sendebefehl = 11FFDFDD00F0


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

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

Marcel85

Moin,
habe das ganze mal eben getestet.
Rauf und Runter werden zwar empfangen und per Piepton quittiert, aber die Leinwand bewegt sich nicht.
Bei Stop passiert leider nichts, keine Reaktion und auch keine quittierung.
Gruß
Marcel

tnt99

Hallo,

ich habe gerade alle drei Befehle ausprobiert, aber ohne Erfolg. Im Gegensatz zu Marcels Leinwand hat meine nichtmal mit einem Piepton quittiert.  Es passiert gar nichts.
In der Logdatei sieht das so aus:

2017.01.09 08:37:38 5: sduino: sendmsg IT V1 convertet tristate to bits=111101011001101000000100
2017.01.09 08:37:38 5: sduino: sendmsg Preparing rawsend command for protocol=3, repeats=C210, clock=250 bits=111101011001101000000100
2017.01.09 08:37:38 4: sduino/set: sending via SendMsg: SR;R=C210;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=01232323230423042323040423230423040404040404230404;
2017.01.09 08:37:38 5: sduino SW: SR;R=C210;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=01232323230423042323040423230423040404040404230404;
2017.01.09 08:37:38 4: sduino/msg READ: SR;R=C210;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=01232323230423042323040423230423040404040404230404;
2017.01.09 08:37:38 4: sduino/HandleWriteQueue: nothing to send, stopping timer



Was genau bedeutet denn "nothing to send, stopping timer". Hat er überhaupt etwas gesendet?

Viele Grüße,
Sebastian

Sidey

Er hätte etwas gesendet, vetmutlich wurde auch etwas gesendet, aber Du hast einen Parameter falsch angegeben.

Bei Repeats sollte R5 stehen, aber Du hast C210 übergeben.
Es wird hier eine Zahl erwartet. C ist in diesem Fall keine Zahl.

Die Meldung mit HandleWriteQueue braucht dich nicht weiter irritieren, die besagt nur, dass in der Warteschlange alle Befehle abgearbeitet wurden. Werde den Text wohl besser mal anpassen.

Grüße Sidey


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

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

tnt99

Hallo nochmal,

ich habe jetzt folgendes gesendet:

set sduino sendMsg P3#11FFDFDD00F0#R5#C210


In der Log-Datei steht:

2017.01.09 09:47:31 5: sduino: sendmsg IT V1 convertet tristate to bits=111101011001101000000100
2017.01.09 09:47:31 5: sduino: sendmsg Preparing rawsend command for protocol=3, repeats=5, clock=210 bits=111101011001101000000100
2017.01.09 09:47:31 4: sduino/set: sending via SendMsg: SR;R=5;P0=210;P1=-6510;P2=630;P3=-210;P4=-630;D=01232323230423042323040423230423040404040404230404;
2017.01.09 09:47:31 5: sduino SW: SR;R=5;P0=210;P1=-6510;P2=630;P3=-210;P4=-630;D=01232323230423042323040423230423040404040404230404;
2017.01.09 09:47:32 4: sduino/msg READ: SR;R=5;P0=210;P1=-6510;P2=630;P3=-210;P4=-630;D=01232323230423042323040423230423040404040404230404;
2017.01.09 09:47:32 4: sduino/HandleWriteQueue: nothing to send, stopping timer


Die Leinwand reagiert gar nicht.
Kann es sein, dass der Sender am Arduino defekt ist?

VG,
Sebastian

Sidey

Dass der Sender kaputt ist, glaube ich nicht. Was für einen Sender hast Du denn? Ist er korrekt angeschlossen, hast Du irgendwas anderes, was damit schon geschaltet wurde?


Ich versuche mal kurz zusammenzufassen was wir haben:

1. Bei tnt99 passiert nichts an der Leinwand auf ein abgeschicktes Sendekommando.

2. Bei Marcel85 piept der Empfänger auf das Sendekommando, aber es passiert nichts.

3. Bei Marcel85 wurde ein IT Gerät angelegt, damit kann er eine Motor Richtung ansteuern (war das stop oder runter?).

4. Ihr habt beide das gleiche Modell?

5. Ihr verwendet einen Arduino Nano mit RXB-6 Empfänger und FS1000A als Transmitter (433 Mhz)



Habe ich etwas vergessen oder falsch wieder gegeben?

Welche Firmware / Modulversion setzt ihr ein?
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

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

Marcel85

#7
Morgen.

Bei mir wurde ein IT Gerät angelegt, dass ist korrekt.
Mit diesem kann ich die Leinwand runterfahren lassen.

Die Leinwand ist auch von eSmart und knapp 1 Jahr alt.

Ich verwende dafür den Arduino Nano mit dem FS1000A als Sender und ich denke mal dem RXB-6.
Ich bin mir da allerdings nicht sicher, weil ich den Sender und Empfänger vor Jahren mal irgendwann gekauft habe und auf dem Empfänger nur XD-RF-5V steht.

Auf dem SignalDuino läuft folgende Firmware: V 3.3.0 SIGNALduino - compiled at Sep 18 2016 00:28:28.

Ich hoffe ihr könnt mit den Infos was anfangen.

Eine Sache hätte ich auch noch, auch wenn sie vielleicht nicht hier hin passt.
Der SignalDuino müllt mir mein Logfile total zu. Kann man das irgendwie abschalten?
Ich hänge mal einen Auszug vom Logfile dran.

2017.01.10 07:07:58 4: sduino/KeepAliveOk: 1
2017.01.10 07:07:58 4: sduino/keepalive retry = 0
2017.01.10 07:09:01 4: sduino/KeepAliveOk: 0
2017.01.10 07:09:01 4: sduino/KeepAlive: get ping
2017.01.10 07:09:01 4: sduino/keepalive retry = 1
2017.01.10 07:09:01 4: sduino/msg READ: OK
2017.01.10 07:10:03 4: sduino/KeepAliveOk: 1
2017.01.10 07:10:04 4: sduino/keepalive retry = 0
2017.01.10 07:11:06 4: sduino/KeepAliveOk: 0
2017.01.10 07:11:06 4: sduino/KeepAlive: get ping
2017.01.10 07:11:06 4: sduino/keepalive retry = 1
2017.01.10 07:11:06 4: sduino/msg READ: OK


Gruß
Marcel

Sidey

#8
Danke Marcel,

Das mit dem Empfänger ist so, dass der XD-RF-5V sehr schlecht empfängt, damit wirst du keine große Reichweite erzielen.

Kannst Du mal ein List auf das IT Gerät machen, welches ein schalten ermöglicht und noch angeben was der on bzw. off Befehl auslöst?


Bezüglich Logfile kannst Du den Verbose Level im Signalduino auf 3 stellen, dann wird weniger geloggt.
Zum Testen empfiehlt sich aber 4 oder 5.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

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

tnt99

Guten Morgen,

Bei mir wurde übrigens auch ein IT Gerät angelegt, aber das Gerät kann ich gar nicht per fhem schalten...

Ob ich den Sender korrekt angeschlossen habe, weiß ich nicht. Da die Beschriftung nicht ganz eindeutig ist, habe ich auch schon mal
VCC und DATA vertauscht, auch ohne Erfolg. Habe also beide Varianten probiert.  Am Arduiono hängt er jedenfalls an D11.
Bislang hat der Sender noch gar nichts geschaltet, weil ich keine 433 MHz Funksteckdose o.ä. zum testen habe.

Ich verwende dafür den Arduino Nano mit dem FS1000A als Sender. Auf dem Empfänger steht nichts, aber der funktioniert ja.

Meine Leinwand ist auch von eSmart Germany (Tatenso) und knapp 1/2 Jahr alt.

Auf dem SignalDuino läuft folgende Firmware: V 3.3.0 SIGNALduino - compiled at Sep 18 2016 00:28:28.

Marcel85

Hier mal der list Eintrag:

Internals:
   00         f0
   DEF        110FF11011 0F F0
   IODev      sduino
   NAME       Leinwand
   NR         37
   STATE      down
   TYPE       IT
   XMIT       110ff11011
   XMITdimdown 00
   XMITdimup  00
   XMITon     0f
   Code:
     1          110ff11011
   Readings:
     2016-12-11 12:59:36   protocol        V1
     2017-01-09 06:51:44   state           off
Attributes:
   IODev      sduino
   devStateIcon up:fts_shutter_10@green down:fts_shutter_100@black 9\d.*:fts_shutter_10 8\d.*:fts_shutter_20 7\d.*:fts_shutter_30 6\d.*:fts_shutter_40 5\d.*:fts_shutter_50 4\d.*:fts_shutter_60 3\d.*:fts_shutter_70 2\d.*:fts_shutter_80 1\d.*:fts_shutter_90 0\d.*:fts_shutter_100
   eventMap   off:down on:up
   room       IT

Ralf9

#11
Zitat von: Marcel85 am 10 Januar 2017, 11:45:18
Hier mal der list Eintrag:

   DEF        110FF11011 0F F0


Du kannst es mal damit versuchen:
   DEF        110FF11011 0D F0


wenn Du das Atribut itdimmer setzt, müsste es auch damit funktionieren:
DEF        110FF11011 D0 D0 0D F0

on/off = stop
dimup/dimdown = hoch/runter

Nachtrag:
Hab es gerade getestet, das "D" funktioniert auch im dimup/dimdown

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

"D" wird nicht als valides Tristate für ITv1 vom IT Modul erkannt.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

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

Marcel85

#13
Habe es gerade mal nach Ralfs Methode probiert und was soll ich sagen? Es funktioniert!

Mit dimup/dimdown kann ich die Leinwand hoch/runter fahren und mit on/off kann ich sie stoppen. Kann ich mir in FHEM auch direkt tasten anlegen?

Wie kriege ich es jetzt hin, dass ich die Leinwand beim einschalten des Beamers runterfahren lassen kann und beim ausschalten wieder hoch?

Gesteuert wird das ganze über die Harmony, welche auch in FHEM eingebunden ist.

edit: Über das Attribut webcmd habe ich mir schon mal die Buttons dimup/dimdown/off angelegt. Leider kriege ich sie über eventMap nicht umbenannt.

Schönen Abend.

Marcel

Sidey

Also wenn es aus dem IT Modul geht, dann wird es auch über sendMsg funktionieren.

Es unterscheiden sich nur zwei Parameter:

1. Die Anzahl an Wiederholungen
2. Die Taktrate für das Modulieren.

Du kannst den Sendebefehl noch mal mit C250 anstelle von C210 ausprobieren und die Anzahl an Wiederholungen von R5 auf R6 erhöhen.

Das ganze könnte man dann in einem Doif mit dem Beamer verbinden.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

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