FHEM Forum

Verschiedenes => Bastelecke => ESP Familie => Thema gestartet von: erotikbaer am 18 Februar 2017, 03:02:47

Titel: IR-LED an ESP8266 mit EspEasy
Beitrag von: erotikbaer am 18 Februar 2017, 03:02:47
Hallo zusammen,
ich bin was Widerstände, Transistoren, etc angeht echt unwissend... und habe in den letzten 2 Stunden gefühlte 1000 Beiträge gelesen und mittlerweile bin ich verunsicherter als vorher.
Daher meine Frage ob mir jemand sagen kann, was ich alles brauche um eine Infrarot LED zum Senden an einem ESP8266 anzuschließen und vielleicht kurz noch wie ich das dann verkabeln muss.
Also ich habe jetzt in verschiedenen Beiträgen etwas von einem Vorwiderstand und einem Transistor gelesen. Da ich heut gern alle Teile besorgen möchte (bei Conrad) wäre es super wenn mir jemand helfen könnte, die benötigten Teile herauszufinden.

was ich in einem Beitrag (https://kaistech.wordpress.com/2016/10/09/wifi-infrared-ir-remote-extension-using-esp8266/) gefunden habe ist folgendes (das habe ich so halbwegs verstanden):
– 2x IR Emitter LED (950nm)
- 1x 20 Ohm 0.5W Widerstand
- 1x 330 Ohm 0.125-0.25W Widerstand
- 1x NPN Transistor (NPN BC547, BC548 oder PN2222)

also das ganze wird dann wohl über 5V angeschlossen. also an die +/5V Leitung kommt erst der 20 Ohm Widerstand, dann die beiden LED´s in Reihe, dann dieses "Kabel" an "collector" vom Transistor, an "base" vom Transistor der 330ohm widerstand und dann zum gpio und der "emitter" vom Transistor an Gnd? ich verstehe die Zeichnung, auf Grund der Zeichen, leider nicht(glaube ich). Kommen beide drähte der LED an die +/5V Leitung ran?
ich weiß, das ist für euch bestimmt simple aber für mich sinds aktuell noch böhmische Dörfer :/

Vielen Dank schonmal vorab!

Gruß Christian
Titel: Antw:IR-LED an ESP8266
Beitrag von: Reinhart am 18 Februar 2017, 12:29:52
Zitat von: erotikbaer am 18 Februar 2017, 03:02:47
Kommen beide drähte der LED an die +/5V Leitung ran?

natürlich nicht, ich habe es hier etwas anders dargestellt, vielleicht tust dir damit etwas leichter?
Das Steckboard brauchst natürlich nicht, ist nur in der Zeichnung so.

LG
Titel: Antw:IR-LED an ESP8266
Beitrag von: erotikbaer am 18 Februar 2017, 12:35:25
Perfekt! Hab vielen Dank!
Titel: Antw:IR-LED an ESP8266 mit espeasy
Beitrag von: erotikbaer am 19 Februar 2017, 19:21:12
So, alles verkabelt und ich bekomme es mit espeasy nicht hin ir Codes zu senden...zumindest seh ich nix an den ir leds (mit Fotokamera geguckt). 
Habe statt nem 20Ohm 0,5w widerstand nur einen 20ohm mit 0,6w bekommen.
Kann es daran liegen?
Ich habe für die ir leds nen separates 5V Netzteil genommen.

Kann es an den LEDs selbst liegen? Soll ich die Bezeichnung heut Abend mal posten?
Oder liegts an espeasy? Habe R147 geflasht.

Gruß Christian
Titel: Antw:IR-LED an ESP8266 mit espeasy
Beitrag von: PeMue am 19 Februar 2017, 19:31:12
Zitat von: erotikbaer am 19 Februar 2017, 19:21:12
Habe statt nem 20 Ohm 0,5w widerstand nur einen 20 Ohm mit 0,6w bekommen.
Kann es daran liegen?
nein, definitiv nicht. Sind die IR-LEDs richtig gepolt? Hast Du die Masse des 5 V Netzteils mit der Masse des ESPs verbunden (sonst funktioniert es nicht  ;))?

Gruß PeMue
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Jo am 19 Februar 2017, 20:56:44
Zitat von: erotikbaer am 19 Februar 2017, 19:21:12
zumindest seh ich nix an den ir leds (mit Fotokamera geguckt). 

Das geht nicht mit jeder Kamera (Iphone geht z.b. nicht) - prüf das mal mit ner anderen Fernbedienung
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: erotikbaer am 19 Februar 2017, 21:08:25
also die Polung der LEDs sollte richtig sein. Nein, die Masse habe ich nicht mit der Masse vom ESP (Nodemcu)verbunden.
Also einfachen nen Kabel von der Masse vom Netzteil auf nen GND vom ESP (Nodemcu) machen?

hab ich jetzt mal gemacht, ergebnis ist, dass der nodemcu/esp nicht mehr bootet
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: erotikbaer am 19 Februar 2017, 22:10:46
Hier mal die laienhafte Skizze die ich gemacht habe
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 20 Februar 2017, 12:09:49
also ich habe nun die hier abgebildete (https://github.com/altelch/SonoffIR) Schaltung auf einem Sonoff Basic (=esp8266) getestet und die geht einwandfrei. Ich habe es mit dem Arends Sketch getestet und die Schaltung selbst habe ich aus einer alten FB ausgeschnitten und entspricht der hier abgebildeten Schaltung. Auch sehe ich mit meinem Handy (Samsung Ativ S mit Windows) die IR Led schön flackern, aber nur sehr kurz.

Bei der Zusammenstellung des richtigen JSON Strings habe ich den Autor angefragt und folgendes in Erfahrung gebracht.

Als erstes sucht man sich auf LIRC  (http://lirc.sourceforge.net/remotes/)die entsprechenden FB-Codes, im Beispiel für meinen Samsung für den 55" Curved UHD TV HU8580. Die FB ist zwar nicht exakt dieselbe, aber die Befehle passen soweit. Wichtig sind dabei folgende Daten:

name  Samsung_BN59-00940A
bits           16
pre_data_bits  16
pre_data       0xE0E0
Power On/Off   0x40BF


Nun stellt man den Sendestring zusammen:
predata+Befehl =  E0E040BF (hex) = 3772793023 (dec) und 32 Bit Datenlänge.

Der JSON String für den IRSend ist laut Arends Wiki folgender.
IRsend    | {"protocol": "<proto>", | Send IR remote control as JSON encapsulated command.
          |   "bits": 1..32         | <proto> is NEC, SONY, RC5, RC6, DISH, JVC or SAMSUNG
          |   "data": 1..(2^32)-1}  | bits are the required number of data bits.
          |                         | data is the data frame as 32 bit unsigned integer.
          |                         | See http://www.lirc.org/ for more info.


das ergibt dann unseren Befehl für die Kommandozeile am Modul. Die Bitlänge für Pre und Data sind ebenfalls zu addieren (16 + 16 = 32 Bit) und beim Arends Sketch muss im JSON Format gesendet werden:

irsend  {"protocol": "SAMSUNG","bits": 32, "data": 3772793023}

oder hier für die Kommandozeile am Broker:

mosquitto_pub -q 2 -t cmnd/TestSwitch/IRSend/set -m '{"protocol": "SAMSUNG","bits": 32, "data": 3772793023}'

Jedesmal wenn nun der Befehl gesendet wird, wird entweder Ein- oder Aus geschaltet. Die Verzögerung über Wlan hält sich in Grenzen und ist beim reinen Einschalten kaum merkbar. Ebenso können die Kanäle oder die Laustärke verstellt werden. Im Prinzip funktionieren alle Befehle die auf der FB vorhanden sind.

LG
Reinhart

Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 20 Februar 2017, 14:56:03
ich habe mir jetzt noch zum Test in FHEM eine FB mit den wichtigsten Tasten definiert und kann somit nun alles über esp8266 steuern.

Da ich jedoch noch etwas Schwierigkeiten habe den JSON String ordentlich aus Fhem zu übergeben ( die geschwungenen Klammern machen da noch Probleme ) , habe ich es temporär mit einem Script realisiert. Ein notify übergibt die Taste und im Script liegt dann der entsprechende IR Code. Möchte das aber ordentlich direkt in Fhem einbinden, aber zum Testen reicht es vorerst.

define RC_TV remotecontrol
attr RC_TV rc_iconpath icons/remotecontrol
attr RC_TV rc_iconprefix black_btn_
attr RC_TV room Entwicklung
attr RC_TV row00 KEY_POWER:POWEROFF,:blank,:blank
attr RC_TV row02 :blank,:blank,:blank
attr RC_TV row03 KEY_1:1,KEY_2:2,KEY_3:3
attr RC_TV row04 KEY_4:4,KEY_5:5,KEY_6:6
attr RC_TV row05 KEY_7:7,KEY_8:8,KEY_9:9
attr RC_TV row06 :blank,KEY_0:0,:blank
attr RC_TV row07 :blank,:blank,:blank
attr RC_TV row08 KEY_VOLUMEUP:UP,KEY_MUTE:MUTE,KEY_CHANNELUP:CHUP
attr RC_TV row09 KEY_VOLUMEDOWN:DOWN,:blank,KEY_CHANNELDOWN:CHDOWN

define Samsung_TV notify RC_TV "/opt/fhem/ircmd.sh $EVENT"


Das angehängte Script nach /opt/fhem kopieren und 755er Rechte vergeben.

LG

Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: EnderPhilipp am 12 März 2017, 12:36:19
Hi Liebe FHEM-Community,

ich habe Zuhause im Garten ein paar Strahler, die man per Infrarot steuern kann.
Jetzt wollte ich wissen, ob man die auch mit dieser Methode ansteuern kann.

Das hier gibt mit der IRrecvDemo Sketch aus der IRemote-Bibliothek aus:

Unknown encoding: 278010B9 (32 bits)
Raw (68): 9050 -4500 550 -650 550 -1750 550 -650 550 -650 600 -600 550 -650 550 -650 550 -650 550 -650 550 -1750 550 -1750 550 -1750 550 -1750 550 -1750 600 -1700 550 -1750 550 -1750 550 -650 550 -650 550 -650 550 -650 550 -600 550 -650 550 -650 600 -650 550 -1750 550 -1750 550 -1750 550 -1750 550 -1750 550 -1750 550 -1750 550


Wie musste dann der Url-Aufruf aussehen ?

Mfg
Philipp ;D
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 13 März 2017, 09:03:08
Hallo Philipp!

Kann man den aus einer Beschreibung entnehmen um welches Protokoll es sich handelt?

Wenn ich jetzt einfach mal annehme es handelt sich um das Protokoll "RC5", dann könnte der Sendebefehl in der Konsole nach der oben beschriebener Methode mit "irsend" so aussehen. Was hast du denn für eine Schaltung gemacht, so in etwa wie oben und mit was sendest du den IR Code?

bits           16
pre_data_bits  16
pre_data       0x2780
Power On/Off   0x10B9


Hex 278010B9 = Dez 662704313

irsend  {"protocol": "RC5","bits": 32, "data": 662704313}

LG

Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: tklein am 13 März 2017, 10:24:34
Hallo,

als Neuling habe ich da mal ein paar Fragen:

Grüße
Thomas
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Bapt. Reverend Magersuppe am 13 März 2017, 10:32:18
Ich warte noch auf Bauteile aus Fernost. Ich habe mir 2 IR-Projekte rausgesucht die ich dann testen wollte:

Den IR-Blaster (https://github.com/mdhiggins/ESP8266-HTTP-IR-Blaster/blob/master/README.md) oder auf Basis von IR-Remote (https://github.com/markszabo/IRremoteESP8266).
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: tklein am 13 März 2017, 14:56:28
gibt es eine Möglichkeit die Befehle, die ich mir lirc und irrecord mit meinem Pi gesammelt habe so zu konvertieren, dass ich die mit meinem wemos senden kann?

Hier ein Auszug:



# Leinwand

begin remote

  name  leinwand
  flags RAW_CODES|CONST_LENGTH
  eps            30
  aeps          100

  ptrail        500
  gap          64607

      begin raw_codes

          name KEY_DOWN
              570    1438    1560     480    1549     471
             1539     482    1538     481    1540     480
              526    1466    1563     480     526    1468
             1560     489    1531     481    1539     482
              525    1469    1559     481     527    1469
             1559     481    1540     481    1540     480
             1541     481    1540     481     527    1466
              550    1466     549    1467     547    1467
              548

          name KEY_UP
              571    1437    1559     481    1538     480
             1539     481    1542     476    1538     481
              527    1465    1560     481     526    1466
             1564     476    1544     476    1539     480
              526    1474    1553     481     524    1468
             1561     480    1539     480    1546     474
              526    1467     548    1467     547    1465
              549    1464    1561     481    1538     481
              529

          name KEY_STOP
              570    1439    1557     482    1535     485
             1533     483    1536     482    1536     483
              524    1467    1558     485     522    1470
             1555     482    1537     482    1537     482
              525    1469    1555     483     525    1468
             1557     483    1536     483    1537     483
              524    1468     547    1466    1558     483
             1537     482     525    1472     542    1468
              545

      end raw_codes

end remote


# Denon AV Receiver

begin remote

  name  denon
  bits           15
  flags SPACE_ENC
  eps            30
  aeps          100

  one           255  1852
  zero          255   816
  ptrail        215
  gap          43955
  toggle_bit_mask 0x0

      begin codes
          KEY_VOLUMEUP             0x223C 0x21C3
          KEY_VOLUMEDOWN           0x213C 0x22C3
          KEY_POWER                0x211C 0x22E3
          KEY_POWER2               0x221C 0x21E3
          KEY_2                    0x208C 0x2373
          KEY_3                    0x228C 0x2173
          KEY_4                    0x231C 0x20E3
          KEY_5                    0x224C 0x21B3
          KEY_6                    0x22CC 0x2133
          KEY_7                    0x218C 0x2273
          KEY_8                    0x203C 0x23C3
      end codes

end remote

begin remote

  name  beamer
  bits           16
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100

  header       9025  4524
  one           548  1710
  zero          548   575
  ptrail        550
  pre_data_bits   16
  pre_data       0xC
  gap          108283
  min_repeat      1
#  suppress_repeat 1
#  uncomment to suppress unwanted repeats
  toggle_bit_mask 0x0

      begin codes
          KEY_0                    0x728D
          KEY_1                    0xF20D
          KEY_OK                   0x08F7
          KEY_MENU                 0xF00F
      end codes

end remote


Wie müssten die Befehle ausssehen? Einen Protokolltyp (Sony etc.) kann ich ja nicht nehmen. MQTT brauch ich nicht unbedingt? Ich kann die Signale doch via URL ausführen lassen, oder?
Wie muss der Sketch aussehen?

Grüße
Thomas
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 13 März 2017, 15:18:28
Zitat von: tklein am 13 März 2017, 10:24:34

  • Was habt ihr auf den ESP8266 geflasht? Habt ihr da ESP-Easy drauf oder nur eine INO Datei hochgeladen? Könntet Ihr die bitte posten?
  • Noch eine Frage zur Stromversorgung: Die 5 Volt kann ich nicht vom Wemos D1 mini direkt nehmen? Brauche ich wirklich ein separates Netzteil?

Da ich Sonoff Module einsetze habe ich es auch mit dem Arends Sketch geflasht und den GPIO14 auf IRRemote gestellt. Die Beschreibung weiter oben betrifft auch nur diese Software. Es sollte aber mit ESPEasy genau so funktionieren, habe ich allerdings noch nicht getestet und wie man da das Protokoll einstellt weiß ich leider nicht.

Wegen den 5V, das ist sicherlich egal. Ich habe diese Schaltung verwendet und die arbeitet mit den 3,3V des Sonoff Moduls, entspricht also deinem Wemos D1.
https://github.com/altelch/SonoffIR (https://github.com/altelch/SonoffIR)

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: tklein am 20 März 2017, 13:00:23
hat jemand eine Idee dazu?
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: tklein am 20 März 2017, 14:52:08
Hallo habe die Signale jetzt mal auch auf/mit dem Wemos D1 mini aufgenommen (Sketch:IRrecvDump):


Unknown encoding: DBB60860 (32 bits)
Raw (50): 550 -1500 1550 -500 1550 -500 1550 -500 1550 -500 1550 -500 550 -1500 1600 -500 550 -1500 1550 -500 1550 -500 1550 -500 550 -1500 1550 -500 550 -1500 1550 -550 1550 -500 1600 -450 1550 -500 1550 -500 550 -1500 550 -1500 550 -1500 550 -1500 600


oder


Unknown encoding: CB7F7D8B (32 bits)
Raw (68): 9000 -4550 550 -1750 550 -650 550 -650 550 -650 550 -650 550 -650 550 -650 550 -1750 550 -650 550 -1750 550 -1750 550 -650 550 -650 550 -1750 550 -1750 550 -650 550 -1750 550 -650 550 -650 550 -1750 550 -1750 550 -650 550 -650 550 -1750 550 -650 550 -1750 550 -1750 550 -650 550 -650 550 -1750 550 -1750 550 -650 550


Da keine Encodingprotokoll erkannt (NEC, SONY RC5/6, PANASONIC, LG, JVC, AIWA_RC_T501, WHYNTER) wurde, nun meine Frage ob/wie ich die Signale senden kann? Geht das auch direkt mit ESP Easy ohne speziellen Sketch?

@Philipp: Bist du weiter gekommen?

Grüße
Thomas
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: EnderPhilipp am 21 März 2017, 06:39:06
Hi tkleine, 

nein ich bin nicht weitergekommen,
stattdessen habe ich mir so ein Teil  (http://s.aliexpress.com/YV3Ybe2i)bestellt.

Ist zwar etwas bastel-ärmer, aber Ich kann damit leben. ;D

Mfg
Philipp
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Bapt. Reverend Magersuppe am 21 März 2017, 08:47:28
Zitat von: EnderPhilipp am 21 März 2017, 06:39:06

stattdessen habe ich mir so ein Teil  (http://s.aliexpress.com/YV3Ybe2i)bestellt.

Wie steuert man das von FHEM aus an? Preislich liegt es tatsächlich kaum über einer Bastellösung. Aber wenn das umständlich dreimal über irgendwelche fernen Server geht, ist es evtl. nicht sonderlich brauchbar.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: tklein am 21 März 2017, 09:55:15
Hmm, die Integration in FHEM würde mich auch sehr interessieren. Konnten alle IR-Signale aufgenommen und gesendet werden? Auch die protokollfreien? Sieht auf jeden Fall hübscher aus. :-)

Gruß
Thomas
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: tklein am 21 März 2017, 11:23:04
Hallo nochmal,

könnte ich den IR-Sender KY-005 (http://arduinomodules.info/ky-005-infrared-transmitter-sensor-module/) anstelle der LED im Schaltplan nehmen?
Falls ja, wie müsste ich den in der Schaltung hier anschliessen?

Gruß
Thomas
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 21 März 2017, 16:34:04
Hallo,

kann man den Arends Sketch auf jeden beliebigen ESP flashen, oder geht das nur bei den Sonoff's ?

LG

Thomas

Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 21 März 2017, 19:01:41
Zitat von: TomLee am 21 März 2017, 16:34:04
Hallo,

kann man den Arends Sketch auf jeden beliebigen ESP flashen, oder geht das nur bei den Sonoff's ?

LG

Thomas

Ja das geht, musst in der Configuration den Wemos Mini D1 wählen, da sind dann alle GPIOs ( 0 - 16) frei wählbar. Bei den ganzen Sonoff Modulen sind ja nur die GPIOs und eventuelle Relaise vordefiniert, ansonsten ist da kein relevanter Unterschied außer dem POW und dem SL und 4CH.

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 21 März 2017, 19:03:49
Danke
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 21 März 2017, 19:17:31
Zitat von: tklein am 21 März 2017, 11:23:04
Hallo nochmal,

könnte ich den IR-Sender KY-005 (http://arduinomodules.info/ky-005-infrared-transmitter-sensor-module/) anstelle der LED im Schaltplan nehmen?
Falls ja, wie müsste ich den in der Schaltung hier anschliessen?

Gruß
Thomas

kannst du sicher nehmen, aber das ist ja auch nur eine IR-Led mit Widerstand und die Anschlüsse siehst du in deinem Link. Masse, VCC und Data für die IR-LED.

Aber wenn du eine alte Fernbedienung herumliegen hast kannst die IR-Led dort auch auslöten, kommt aufs selbe heraus. Habe ich auch so gemacht, ich habe sogar die Print inkl. Transistor aus einer alten FB heraus geschnitten.

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: EnderPhilipp am 21 März 2017, 20:01:22
Zitat von: Bapt. Reverend Magersuppe am 21 März 2017, 08:47:28
Wie steuert man das von FHEM aus an? Preislich liegt es tatsächlich kaum über einer Bastellösung. Aber wenn das umständlich dreimal über irgendwelche fernen Server geht, ist es evtl. nicht sonderlich brauchbar.

Also ein paar können (https://forum.fhem.de/index.php/topic,38231.15.html) den Broadlink (dieses Teil) immerhin mit ein paar sh-Skripts über FHEM steuern.

Wenn ich das richtig verstehe läuft das dann auch ohne irgendwelche Server.


Mfg
Philipp ;D
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 22 März 2017, 11:02:09
Ich nutze die IDE 1.6.13. Bin deiner Anleitung aus dem Wiki gefolgt (auch mal ein Danke von mir dafür, hab derzeit 3 Switch und einen Pow am laufen). Zur Auswahl steht mir nur WeMos D1 R2 & mini oder WeMos D1(Retired), nur Wemos Mini D1 ist nicht vorhanden. Mit WeMos D1 R2 & mini bekomme ich die Fehlermeldung:

...\Sonoff-Tasmota-master\sonoff\sonoff.ino:30:29: fatal error: IRremoteESP8266.h: No such file or directory
#include <IRremoteESP8266.h>
                                               ^
compilation terminated.
exit status 1
Fehler beim Kompilieren für das Board WeMos D1 R2 & mini.



Liegt der Fehler schon an der Board-AusWahl oder muss die IRremoteESP8266.h noch irgendwie integriert werden?

edit:

Hat sich erledigt, wusste nicht das die Bibliotheken im \lib Ordner (wie im Wiki erwähnt) erstmal eingebunden werden müssen.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 22 März 2017, 14:31:23
Es fehlen dir einige Librarys, du kannst du Librarys verwenden die Theo beigepackt hat. Die liegen unter \lib und die kopierst du nach %userprofile%\Documents\Arduino\libraries

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 22 März 2017, 14:35:10
Danke gerade selbst bemerkt und Beitrag editiert.Hab sie allerdings über Sketch - Bibliothek einbinden jeden einzelnen eingebunden, was auch zum Ziel führte.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 25 März 2017, 20:55:05
Mit Arends Sketch auf einem Sonoff Switch und einem 1:1 Nachbau des erwähnten Ir-Moduls ist es mir nun möglich problemlos zu senden. Allerdings hab ich jetzt natürlich ein LG TV. Hab da nur wenig Erfahrung aber in der xdrv_ir_send.ino finde ich diese Angaben:

if      (!strcmp(protocol,"NEC"))     irsend->sendNEC(data, bits);
          else if (!strcmp(protocol,"SONY"))    irsend->sendSony(data, bits);
          else if (!strcmp(protocol,"RC5"))     irsend->sendRC5(data, bits);
          else if (!strcmp(protocol,"RC6"))     irsend->sendRC6(data, bits);
          else if (!strcmp(protocol,"DISH"))    irsend->sendDISH(data, bits);
          else if (!strcmp(protocol,"JVC"))     irsend->sendJVC(data, bits, 1);
          else if (!strcmp(protocol,"SAMSUNG")) irsend->sendSAMSUNG(data, bits);



Der Bibliothek IRremoteESP8266 entnehm ich in der IRremoteESP8266.h das LG unterstützt werden sollte.

Kann dazu einfach ein vorhandenes Protokoll in der xdrv_ir_send.ino entfernt, durch

(!strcmp(protocol,"LG"))    irsend->sendLG(data, bits)

ersetzt und neu kompiliert werden? Oder sind noch weitere Änderungen erforderlich ?

Weiter versuch ich das ja auch auf einem ESP_01 zum laufen zu bringen. Hier hat der ESP mit angeschlossenem IR-Modul Probleme beim starten. Ohne IR-Modul keine. Zur Spannungsversorgung verwende ich ein IPad Netzteil  und ein MB102, der ESP steckt auf einem Eigenbaubreakoutboard mit integriertem 220µF Kondensator. Verbinde ich das Modul erst nach dem starten ist alles kein Problem und auch das senden möglich. Ein Kondensator (versucht mit 220µF und 100µF) direkt vor dem IR-Modul hilft nicht. Hat da jemand Rat dazu?
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 26 März 2017, 11:49:38
eigentlich müsste das so funktionieren was du vorhast, denn du hast ja schon nachgesehen das die IRremoteESP8266.h in der Lib den LG ebenfalls unterstützt.

// Values for decode_type
#define NEC 1
#define SONY 2
#define RC5 3
#define RC6 4
#define DISH 5
#define SHARP 6
#define PANASONIC 7
#define JVC 8
#define SANYO 9
#define MITSUBISHI 10
#define SAMSUNG 11
#define LG 12
#define WHYNTER 13
#define UNKNOWN -1


Das einzige was dabei auffällt, es gibt keine Senderoutine für den LG? Villeicht bedeutet das, das du mit einem anderen kompatiblen Code senden kannst (JVC). Also sendLG wird er in meinen Augen so nicht finden, außer du baust das noch dazu.

{
public:
  IRsend(int IRsendPin);
  void begin();
  void sendWhynter(unsigned long data, int nbits);
  void sendNEC(unsigned long data, int nbits);
  void sendSony(unsigned long data, int nbits);
  // Neither Sanyo nor Mitsubishi send is implemented yet
  //  void sendSanyo(unsigned long data, int nbits);
  //  void sendMitsubishi(unsigned long data, int nbits);
  void sendRaw(unsigned int buf[], int len, int hz);
  void sendRC5(unsigned long data, int nbits);
  void sendRC6(unsigned long data, int nbits);
  void sendDISH(unsigned long data, int nbits);
  void sendSharp(unsigned int address, unsigned int command);
  void sendSharpRaw(unsigned long data, int nbits);
  void sendPanasonic(unsigned int address, unsigned long data);
  void sendJVC(unsigned long data, int nbits, int repeat); // *Note instead of sending the REPEAT constant if you want the JVC repeat signal sent, send the original code value and change the repeat argument from 0 to 1. JVC protocol repeats by skipping the header NOT by sending a separate code value like NEC does.
  void sendSAMSUNG(unsigned long data, int nbits);
  void enableIROut(int khz);
  VIRTUAL void mark(int usec);
  VIRTUAL void space(int usec);
private:
  int halfPeriodicTime;
  int IRpin;
} ;


Aber wenn du dir den Header in der IRremoteESP8266.cpp anschaust, dann schreibt man da:

* LG added by Darryl Smith (based on the JVC protocol)


LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 26 März 2017, 17:38:27
Die Signale der LG TV Fernbedienung hab ich nach meiner Fragestellung mal  mit dem Sketch IRrecvDumpV2 aufgenommen und festgestellt das diese das NEC  Protokoll verwendet. Somit ist das senden ohne irgendeine Änderung möglich.

Allerdings bisher nur auf der Kommandozeile am Modul und Broker. Ziel ist ja die Integration in Fhem, drücke ich eine Taste auf der in Fhem definierten Fernbedienung  erhalte ich im Logfile diese  Meldung :

/bin/sh: 0: Illegal option

Die Rechte der ircmd.sh sind angepasst.

Das JVC Protokoll hab ich einfach mal interessehalber verwendet das geht nicht.


edit:
Ich hab ein

sudo rm -f /bin/sh

und

sudo ln -s /bin/bash /bin/sh

ausgeführt. Nun gibt's diese Meldung beim drücken einer Taste im Logfile

/bin/sh: -
: Ungültige Option


Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 26 März 2017, 19:33:38
Na super, das ist ja schon eine Erfolg!

Versuche doch einmal das Script in der Konsole aufzurufen, vielleicht erhältst du dann eine aussagekräftigere Fehlermeldung.

pi@raspberry /opt/fhem $ ./ircmd.sh KEY_POWER
pi@raspberry /opt/fhem $

sieht bei mir so aus.

Viel kann da nicht sein, das Script besteht ja nur aus IF Abfragen. Gespeichert hast du es aber im Linuxformat? Ich mache das immer mit dem Editor PSPad, Format Linux einstellen und den Text hineinkopieren, dann direkt über FTP auf den Raspi zurück speichern.

Wenn das Script richtig läuft, dann solltest du am Broker den Befehl sehen, bzw. in der Konsole am Sonoff.

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 26 März 2017, 20:26:18
Ich hatte die Datei auf dem Tablet im ES Datei Explorer erstellt (nicht schlagen). Bin deinem Rat jetzt gefolgt und dafür auch extra diesen Editor heruntergeladen (PC). Datei wieder zurück nach /opt/fhem und Rechte wieder vergeben und was soll ich sagen. Mein TV wird ab heute per Sprache bedient werden können. Danke dir abermals.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 27 März 2017, 11:54:58
Die Fragerei geht doch tatsächlich weiter ☺. Warum wird  nun bspw. ein

set LG_TV_Wohnzimmer state KEY_POWER

aus der Befehlszeile oder aus einem DOIF, NOTIFY nicht ausgeführt? Direkt im Device aber schon. Liegt das an dem ausgelagertem Script? Wie mach ich das jetzt ? Muss man warten bis du das alles direkt in Fhem eingebundenen hast? Im Logfile find ich nichts auffälliges,  im Event Monitor find ich diesen Eintrag:

27 11:46:43 remotecontrol LG_TV_Wohnzimmer KEY_POWER

Wenn ich den Befehl direkt im Device ausführen, steht nichts anderes da.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 27 März 2017, 17:39:01
poste bitte einmal wie so eine IF Abfrage in der ircmd.sh bei dir jetzt aussieht!

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 27 März 2017, 17:41:48
#!/bin/sh -e
if [ "$1" = "KEY_POWER" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551489775}'
fi
# E0E0E01F   3772833823
if [ "$1" = "KEY_VOLUMEUP" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551502015}'
fi
# E0E0D02F   3772829743
if [ "$1" = "KEY_VOLUMEDOWN" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551534655}'
fi
# E0E0F00F   3772837903
if [ "$1" = "KEY_MUTE" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551522415}'
fi
# E0E020DF   3772784863
if [ "$1" = "KEY_1" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551520375}'
fi
# E0E0A05F   3772817503
if [ "$1" = "KEY_2" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551504055}'
fi   
# E0E0609F   3772801183
if [ "$1" = "KEY_3" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551536695}'
fi
# E0E010EF   3772780783
if [ "$1" = "KEY_4" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551495895}'
fi
# E0E0906F   3772813423
if [ "$1" = "KEY_5" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551528535}'
fi
# E0E050AF   3772797103
if [ "$1" = "KEY_6" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551512215}'
fi
# E0E030CF   3772788943
if [ "$1" = "KEY_7" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551544855}'
fi
# E0E0B04F   3772821583
if [ "$1" = "KEY_8" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551491815}'
fi
# E0E0708F   3772805263
if [ "$1" = "KEY_9" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551524455}'
fi         
# E0E08877   3772811383
if [ "$1" = "KEY_0" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551487735}'
fi
# E0E048B7   3772795063
if [ "$1" = "KEY_CHANNELUP" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551485695}'
fi
# E0E008F7   3772778743
if [ "$1" = "KEY_CHANNELDOWN" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551518335}'
fi
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 27 März 2017, 18:45:05
Nachdem du jetzt danach gefragt hast hab ich diese etwas angepasst, hätte ja an den Codes nach dem # liegen können, die ich dachte kann man ignorieren. Hat aber auch nichts gebracht.

#!/bin/sh -e
# 20DF40BF   551502015
if [ "$1" = "KEY_POWER" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551489775}'
fi
# 20DF40BF   551502015
if [ "$1" = "KEY_VOLUMEUP" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551502015}'
fi
# 20DFC03F   551534655
if [ "$1" = "KEY_VOLUMEDOWN" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551534655}'
fi
# 20DF906F   551522415
if [ "$1" = "KEY_MUTE" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551522415}'
fi
# 20DF8877   551520375
if [ "$1" = "KEY_1" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551520375}'
fi
# 20DF48B7   551504055
if [ "$1" = "KEY_2" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551504055}'
fi   
# 20DFC837   551536695
if [ "$1" = "KEY_3" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551536695}'
fi
# 20DF28D7   551495895
if [ "$1" = "KEY_4" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551495895}'
fi
# 20DFA857   551528535
if [ "$1" = "KEY_5" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551528535}'
fi
# 20DF6897   551512215
if [ "$1" = "KEY_6" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551512215}'
fi
# 20DFE817   551544855
if [ "$1" = "KEY_7" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551544855}'
fi
# 20DF18E7   551491815
if [ "$1" = "KEY_8" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551491815}'
fi
# 20DF9867   551524455
if [ "$1" = "KEY_9" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551524455}'
fi         
# 20DF08F7   551487735
if [ "$1" = "KEY_0" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551487735}'
fi
# 20DF00FF   551485695
if [ "$1" = "KEY_CHANNELUP" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551485695}'
fi
# 20DF807F   551518335
if [ "$1" = "KEY_CHANNELDOWN" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551518335}'
fi


Merkwürdig find ich auch im Wiki zu remotecontrol steht bspw. man könne ein

get <name> layout

ausführen. get ist gar nicht vorhanden in meinem definierten Device.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: tklein am 27 März 2017, 19:04:15
Hallo,

kann es evtl sein, dass ich für bestimmte IR-Signale von 940 auf 850 nm wechseln muss? Habe diverse IR Codes (auch RAW) eingelesen. Bis auf ein Gerät konnte ich alle Signale reproduzieren.
Habe die Codes mit zwei unterschiedlichen Receivern empfangen(KY-022 und TSOP38238).

Wer kann mir sagen, wie die Schaltung (Widerstände) aussehen müsste, wenn ich 2,4, oder 6 IR Dioden an einen Pin hängen würde? Da die Geräte im Raum verstreut sind, wäre ein "IR-Würfel" gut. Könnte ich da auch die Wellenlängen kombinieren?

Grüße
Thomas
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 27 März 2017, 22:31:42
@TomLee

Den Kommentar mit der # habe ich deshalb im Script hinterlegt, das jedermann nachvollziehen kann wie ich auf den Data Code komme.
Du hast doch geschrieben, dass die Kommandos in der Konsole des Moduls ja bereits funktionieren.

# 20DF40BF   551502015
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551489775}'

d.h., du kannst dann mit dieser Befehlszeile am Broker ebenfalls den NEC einschalten. Geht das?

PS: ah ich habe gerade gesehen du hast ja den Samsung Code gegen deinen NEC gar nicht ausgetauscht?
# 20DF40BF   551502015
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551502015}'



LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 27 März 2017, 22:56:05
Es funktioniert alles, doch wie gesagt ein

set LG_TV_Wohnzimmer state KEY_POWER

oder anderer Befehl ( KEY_1,KEY_2,KEY_3 ...) aus der Befehlszeile, notify oder doif nicht.

Getauscht hatte ich nichts mehr nachdem ich mit dem IRrecvDumpV2 feststellte das NEC verwendet wird.

edit:
Ein

set LG_TV_Wohnzimmer KEY_POWER

ist die Lösung. Warum auch immer.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 28 März 2017, 15:38:30
@tklein

Viegener hat im MiniIrCul-Thread ein Multi-directional Infrared Transmitter mit vier Dioden genutzt, allerdings benötigt dieses  5V.Auf B.. gg...d.com findet man Bilder der Vorder und Rückseite zu dem Modul, auf denen die Beschaltung inkl. der Werte der verwendeten Widerstände sehr gut ersichtlich ist. Vlt. hilft das etwas weiter.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 28 März 2017, 20:06:41
Zitat von: TomLee am 27 März 2017, 22:56:05
set LG_TV_Wohnzimmer KEY_POWER

ist die Lösung. Warum auch immer.

da muss ich dann leider passen, ich habe ja keine Ahnung wie du mit dem set Befehl dem MQTT Broker den richtigen Code für den irsend Befehl an den 8266 übergibst bzw. aufgebaut hast. Ich dachte du sendest aus Fhem mit der virtuellen Fernbedienung, somit brauchst du auch kein Script.

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 28 März 2017, 23:59:50
Ich sende mit diesem Befehl aus Fhem mit der virtuellen Fernbedienung, 1:1 deiner Anleitung gefolgt.
Ich sehe auch nicht das Missverständnis, bin genau wie meine Vorstellung war, zu meinem Ziel gekommen. Darum mal ein List meiner remotecontrol und dem notify nur zum Verständnis.

Internals:
   NAME       LG_TV_Wohnzimmer
   NR         382
   STATE      KEY_0
   TYPE       remotecontrol
   Readings:
     2017-03-28 14:43:03   state           KEY_0
Attributes:
   rc_iconpath icons/remotecontrol
   rc_iconprefix black_btn_
   room       TV Fernbedienungen
   row00      KEY_POWER:POWEROFF,:blank,:blank
   row02      :blank,:blank,:blank
   row03      KEY_1:1,KEY_2:2,KEY_3:3
   row04      KEY_4:4,KEY_5:5,KEY_6:6
   row05      KEY_7:7,KEY_8:8,KEY_9:9
   row06      :blank,KEY_0:0,:blank
   row07      :blank,:blank,:blank
   row08      KEY_VOLUMEUP:UP,KEY_MUTE:MUTE,KEY_CHANNELUP:CHUP
   row09      KEY_VOLUMEDOWN:DOWN,:blank,KEY_CHANNELDOWN:CHDOWN



Internals:
   DEF        LG_TV_Wohnzimmer "/opt/fhem/ircmd.sh $EVENT"
   NAME       not_LG_TV_Wohnzimmer
   NOTIFYDEV  LG_TV_Wohnzimmer
   NR         383
   NTFY_ORDER 50-not_LG_TV_Wohnzimmer
   REGEXP     LG_TV_Wohnzimmer
   STATE      2017-03-28 14:43:03
   TYPE       notify
   Readings:
     2017-03-28 11:22:57   state           active
Attributes:
   room       TV Fernbedienungen


Mit readingsproxy muss ich mich mal auseinander setzen ist noch fremd für mich, daher schalte ich jetzt erstmal mit einem dummy und doif den TV ein/aus.

Internals:
   NAME       du_Szene_TV_EinAus
   NR         384
   STATE      off
   TYPE       dummy
   Readings:
     2017-03-28 14:37:53   state           off
Attributes:
   alexaName  Fernseher
   genericDeviceType switch
   room       Alexacontrol
   setList    on off


Internals:
   DEF        ([du_Szene_TV_EinAus] eq "on")(set LG_TV_Wohnzimmer KEY_POWER) DOELSE (set LG_TV_Wohnzimmer KEY_POWER)
   NAME       doif_Alexa_Szenen
   NR         355
   NTFY_ORDER 50-doif_Alexa_Szenen
   STATE      cmd_2
   TYPE       DOIF
   Readings:
     2017-03-28 14:37:53   Device          du_Szene_TV_EinAus
     2017-03-28 14:37:53   cmd             2
     2017-03-28 14:37:53   cmd_event       du_Szene_TV_EinAus
     2017-03-28 14:37:53   cmd_nr          2
     2017-03-28 14:37:53   e_du_Szene_TV_EinAus_STATE off
     2017-03-28 14:37:53   error           set LG_TV_Wohnzimmer KEY_POWER: KEY_POWER
     2017-03-28 14:37:53   state           cmd_2
   Condition:
     0          InternalDoIf($hash,'du_Szene_TV_EinAus','STATE') eq "on"
   Devices:
     0           du_Szene_TV_EinAus
     all         du_Szene_TV_EinAus
   Do:
     0:
       0          set LG_TV_Wohnzimmer KEY_POWER
     1:
       0          set LG_TV_Wohnzimmer KEY_POWER
   Helper:
     event      off
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   du_Szene_TV_EinAus
     timerevent off
     triggerDev du_Szene_TV_EinAus
     timerevents:
       off
     timereventsState:
       state: off
     triggerEvents:
       off
     triggerEventsState:
       state: off
   Internals:
     0           du_Szene_TV_EinAus:STATE
     all         du_Szene_TV_EinAus:STATE
   Itimer:
   Readings:
   Regexp:
     0:
     All:
   State:
   Trigger:
Attributes:
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 29 März 2017, 20:49:53
OK, das ist mir jetzt klar wie du das machst.

Du übergibst also mit "set LG_TV_Wohnzimmer KEY_POWER" das $Event "KEY_POWER" dem Script irsend.sh und dieses filtert nun mit der IF Abfrage was es tun soll.
Da du im Script außer dem Protokoll JVC nichts geändert hast, sendet irsend jetzt die Codes die ich von meiner Samsung FB definiert habe und das kann doch in meinen Augen bei deinem TV nicht funktionieren. Selbst wenn der Code für Power gleich wäre, ist doch der Pre-Code ein ganz anderer und somit der Hex bzw. der zusammen gesetzte Dezimalwert komplett anders.

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 29 März 2017, 22:22:06
Schau noch mal genauer. Geändert hab ich den Namen von TestSwitch in sonnoffIR, ich sehe nix von JVC, nur NEC. Die Codes hab ich alle umgerechnet keiner stimmt mit deiner Vorlage überein.

#!/bin/sh -e
# 20DF40BF   551489775
if [ "$1" = "KEY_POWER" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551489775}'
fi
# 20DF40BF   551502015
if [ "$1" = "KEY_VOLUMEUP" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551502015}'
fi
# 20DFC03F   551534655
if [ "$1" = "KEY_VOLUMEDOWN" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551534655}'
fi
# 20DF906F   551522415
if [ "$1" = "KEY_MUTE" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551522415}'
fi
# 20DF8877   551520375
if [ "$1" = "KEY_1" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551520375}'
fi
# 20DF48B7   551504055
if [ "$1" = "KEY_2" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551504055}'
fi   
# 20DFC837   551536695
if [ "$1" = "KEY_3" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551536695}'
fi
# 20DF28D7   551495895
if [ "$1" = "KEY_4" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551495895}'
fi
# 20DFA857   551528535
if [ "$1" = "KEY_5" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551528535}'
fi
# 20DF6897   551512215
if [ "$1" = "KEY_6" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551512215}'
fi
# 20DFE817   551544855
if [ "$1" = "KEY_7" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551544855}'
fi
# 20DF18E7   551491815
if [ "$1" = "KEY_8" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551491815}'
fi
# 20DF9867   551524455
if [ "$1" = "KEY_9" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551524455}'
fi         
# 20DF08F7   551487735
if [ "$1" = "KEY_0" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551487735}'
fi
# 20DF00FF   551485695
if [ "$1" = "KEY_CHANNELUP" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551485695}'
fi
# 20DF807F   551518335
if [ "$1" = "KEY_CHANNELDOWN" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551518335}'
fi
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 30 März 2017, 18:57:37
ja sieht gut aus. Und funktioniert es jetzt?

Wenn nein, kannst du in der Konsole vom Broker diesen Befehl absetzen und damit einschalten?
mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551489775}'

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 30 März 2017, 19:17:45
Zitat von: TomLee am 27 März 2017, 22:56:05
Es funktioniert alles, doch wie gesagt ein

set LG_TV_Wohnzimmer state KEY_POWER

oder anderer Befehl ( KEY_1,KEY_2,KEY_3 ...) aus der Befehlszeile, notify oder doif nicht.

Getauscht hatte ich nichts mehr nachdem ich mit dem IRrecvDumpV2 feststellte das NEC verwendet wird.

edit:
Ein

set LG_TV_Wohnzimmer KEY_POWER

ist die Lösung. Warum auch immer.

Hatte ich doch erwähnt☺
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 30 März 2017, 19:30:04
Die letzte Rätsel bezog sich darauf, warum im remotecontrol Device in Fhem ein

Zitatset LG_TV_Wohnzimmer state KEY_POWER

abgesetzt wird und aus der Befehlszeile, notify oder doif ein

Zitatset LG_TV_Wohnzimmer KEY_POWER
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 10 April 2017, 17:23:36
Hi,

keine Ahnung ob hier nun OT. Aber meine weitere Frage knüpft an das Thema an.
Hab mir mal Readingsproxy angesehen und schalte nun über dieses Modul die TV Programme. Hier mal ein Bsp.:

nternals:
   CHANGED
   DEF        LG_TV_Wohnzimmer:state
   DEVICE     LG_TV_Wohnzimmer
   NAME       rp_LG_TV_ARD
   NOTIFYDEV  global,LG_TV_Wohnzimmer
   NR         399
   NTFY_ORDER 50-rp_LG_TV_ARD
   READING    state
   STATE      on
   TYPE       readingsProxy
   Content:
     LG_TV_Wohnzimmer 1
   Readings:
     2017-04-10 00:12:06   lastCmd         on
     2017-04-10 00:12:06   state           on
Attributes:
   alexaName  das erste
   devStateIcon on:control_on_off@green off:control_standby
   event-on-change-reading .*
   genericDeviceType switch
   room       Alexacontrol,TV Fernbedienungen
   setFn      { return 'KEY_1' if( $CMD eq 'on' );; return 'off';; }
   setList    on off
   valueFn    { return 'on' if( $VALUE eq 'KEY_1' );; return 'off';; }


Das funktioniert auch soweit. Doch wie setz ich es jetzt um zweistellige Zahlen zu senden. Muss ich hier dann wieder auf Dummys mit notify oder doif zurückgreifen ?


Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 11 April 2017, 12:26:25
@Reinhart

Wäre/ist es denn möglich den JSON String so zu erweitern das er zwei Codes hintereinander sendet? Hab schon etwas rumgespielt bekomme aber immer nur ein

10:59:23 MQTT: stat/sonoffIR/RESULT = {"IRSend":"Invalid JSON"}
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 11 April 2017, 17:22:44
da es ja nur die Tasten 0-9 gibt, wirst du die 2-stelligen Codes wohl hintereinander senden müssen. Das Timeout bestimmt ja ohnehin der TV der eine kurze Zeit wartet um einen zweiten Code zu empfangen.

Beispiel: Wenn die auf Sender 29 schalten willst, musst halt zuerst die 2 dann die 9 an den irsend übergeben.

Wenn ich das mit meiner virtuellen FB mache klappt das so wie man es auf der normalen FB machen würde. Natürlich darf ich nicht zulange warten bis die 2 Taste gesendet wird, sonst schaltet der TV nur auf den ersten Code.

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 11 April 2017, 21:31:02
Das ist auch bei mir nicht anders. Der Hintergrund weshalb ich readingsproxy nutze ist der, ein notify/doif zu sparen um bspw. via Sprachsteuerung zu schalten. Für die zweistelligen Codes sehe ich mit meinem derzeitigen Fhem-Wissen und deiner Antwort, in diesem Fall, nur wieder auf dummy mit notify/doif zurückzugreifen.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 21 April 2017, 12:08:52
Zitat von: TomLee am 11 April 2017, 12:26:25
@Reinhart

Wäre/ist es denn möglich den JSON String so zu erweitern das er zwei Codes hintereinander sendet? Hab schon etwas rumgespielt bekomme aber immer nur ein

10:59:23 MQTT: stat/sonoffIR/RESULT = {"IRSend":"Invalid JSON"}

Ich kann kein Perl hab mich jetzt wieder mit beschäftigt und nach kurzer Suche herausgefunden das man das ganz einfach so löst:

if [ "$1" = "KEY_10" ]; then
 mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551520375}';
 sleep 1;
 mosquitto_pub -q 2 -t cmnd/sonoffIR/IRSend/set -m '{"protocol": "NEC","bits": 32, "data": 551487735}'
fi


Zuvor, mit dieser Meldung,

10:59:23 MQTT: stat/sonoffIR/RESULT = {"IRSend":"Invalid JSON"}
[/quote]

hatte ich es nur mit einem Komma und ohne Pause versucht.


ZitatWeiter versuch ich das ja auch auf einem ESP_01 zum laufen zu bringen. Hier hat der ESP mit angeschlossenem IR-Modul Probleme beim starten. Ohne IR-Modul keine. Zur Spannungsversorgung verwende ich ein IPad Netzteil  und ein MB102, der ESP steckt auf einem Eigenbaubreakoutboard mit integriertem 220µF Kondensator. Verbinde ich das Modul erst nach dem starten ist alles kein Problem und auch das senden möglich. Ein Kondensator (versucht mit 220µF und 100µF) direkt vor dem IR-Modul hilft nicht. Hat da jemand Rat dazu?

Hier decken sich jetzt meine Erfahrungen bei einem ESP8266 01 und 12-F mit der Aussage des Users Michael U. (amiga) in diesem Thread:

https://www.mikrocontroller.net/topic/417044 (https://www.mikrocontroller.net/topic/417044)

Mit den Pins die er als ruhig bezeichnet (und mehr) gibt's keine Probleme beim starten.
Mit GPIO0 und GPIO2 klappt's bei mir mit keinem der Module.

Beim ESP 01 (mehrere) hab ich alle Pins ausprobiert ausschließlich mit RX hatte ich Erfolg.

Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 22 Juli 2017, 22:40:21
Für alle die es interessiert hier ein Bild der fertigen Integration dieses Projekts in mein vorhandenes Schalterprogramm.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 06 August 2017, 00:27:17
Hallo Reinhart,

wieder ein {"Command":"Unknown"} Problem.☺

heute hab ich einen Wemos D1 mini mit "Program Version 5.5.1" geflasht.

Senden aus der Konsole ist wie gehabt möglich mit

irsend  {"protocol": "NEC","bits": 32, "data": 551489775}

Beim drücken einer Taste der Fernbedienung in Fhem erhalte ich jetzt in der Konsole ein

22:18:39 MQTT: stat/sonoffIRFR/RESULT = {"Command":"Unknown"}

Verwende ich die gleiche .sh mit der "Program Version 4.0.8" funktioniert wieder alles.

Du hattest ja schon erwähnt das es in den 5er Versionen mehrere Änderungen gab.
Hast du vlt. eine Vorstellung was genau im Skript angepasst werden muss.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 07 August 2017, 11:42:54
@TomLee

Einer der wesentliche Änderungen in Tasmota ab 5.x ist die Syntax eines Sende Kommandos.

mosquitto_pub -q 2 -t cmnd/sonoff_electrodragon2/IRSend/set -m '{"protocol": "SAMSUNG","bits": 32, "data": 3772793023}'

alte Version Tasmota bis 4.x, hier wird noch "set" verwendet.


mosquitto_pub -q 2 -t cmnd/sonoff_electrodragon2/IRSend -m '{"protocol": "SAMSUNG","bits": 32, "data": 3772793023}'

neue Version von Tasmota ab 5.x. hier entfällt einfach das "set"

stat/sonoff_electrodragon2/RESULT {"IRSend":"Done"}

hier die Rückmeldung von Tasmota 5.5

Also einfach das als Parameter definierte /set entfernen und alles läuft. Das Gleiche gilt auch für einen Switch Schaltbefehl oder sonstiges.
Der Parameter -m zum Senden der Message bleibt natürlich.

Hier die möglichen Parameter für Mosquitto in der Brokerkonsole.
-A : bind the outgoing socket to this host/ip address. Use to control which interface
      the client communicates over.
-d : enable debug messages.
-f : send the contents of a file as the message.
-h : mqtt host to connect to. Defaults to localhost.
-i : id to use for this client. Defaults to mosquitto_pub_ appended with the process id.
-I : define the client id as id_prefix appended with the process id. Useful for when the
      broker is using the clientid_prefixes option.
-k : keep alive in seconds for this client. Defaults to 60.
-l : read messages from stdin, sending a separate message for each line.
-m : message payload to send.
-M : the maximum inflight messages for QoS 1/2..
-n : send a null (zero length) message.
-p : network port to connect to. Defaults to 1883.
-P : provide a password (requires MQTT 3.1 broker)
-q : quality of service level to use for all messages. Defaults to 0.
-r : message should be retained.
-s : read message from stdin, sending the entire input as a message.
-S : use SRV lookups to determine which host to connect to.
-t : mqtt topic to publish to.
-u : provide a username (requires MQTT 3.1 broker)
-V : specify the version of the MQTT protocol to use when connecting.
      Can be mqttv31 or mqttv311. Defaults to mqttv31.


Ich hoffe du kannst jetzt mit diesen Informationen deine Probleme mit Tasmota 5.5 lösen.

LG
Reinhart
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 07 August 2017, 11:49:01
edit:
Also auch hier ist es wieder das /set 😂.

Mit

mosquitto_pub -q 2 -t cmnd/sonoffIRFR/IRSend -m '{"protocol": "NEC","bits": 32, "data": 551489775}'

oder

mosquitto_pub -h 192.168.188.26 -t cmnd/sonoffIRFR/IRSend -m '{"protocol": "NEC","bits": 32, "data": 551489775}'

wird der Code jetzt auch aus dem Terminal gesendet.

Trag ich das so in die .sh Datei ein

#!/bin/sh -e
# 20DF08F7   551487735 TV Frühstücksraum und Sat Receiver
if [ "$1" = "KEY_POWERTVSAT" ]; then
mosquitto_pub -q 2 -t cmnd/sonoffIRFR/IRSend -m '{"protocol": "NEC","bits": 32, "data": 551489775}';
sleep 2;
mosquitto_pub -q 2  -t cmnd/sonoffIRFR/IRSend -m '{"protocol": "NEC","bits": 32, "data": 4278227565}'
fi


bekomm ich im Logfile diese Ausgabe

/opt/fhem/ircmdFR.sh: Zeile 4:  mosquitto_pub: Kommando nicht gefunden.

Weitere Versuche hier die Sonderzeichen zu escapen, mit sytem oder ohne, nur in ", wie hier beschrieben

https://forum.fhem.de/index.php/topic,73453.msg651026.html#msg651026 (https://forum.fhem.de/index.php/topic,73453.msg651026.html#msg651026)

brachten bisher auch keinen Erfolg.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 07 August 2017, 14:54:50
Es geht jetzt.

Habe wieder den falschen Editor genutzt, wodurch die ircmdFR.sh vermutlich wieder im falschen Format abgespeichert wurde und zu dem Fehler führte.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 07 August 2017, 19:23:18
ok, ich nehme immer PSPad, der ist Linux konform.

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 07 August 2017, 23:18:24
Du hast's schon einmal erwähnt:

ZitatViel kann da nicht sein, das Script besteht ja nur aus IF Abfragen. Gespeichert hast du es aber im Linuxformat? Ich mache das immer mit dem Editor PSPad, Format Linux einstellen und den Text hineinkopieren, dann direkt über FTP auf den Raspi zurück speichern.

Mache vieles mit dem Android-Tablet 😀, nutze mein IPad fast gar nicht mehr, aber darauf hat sich die App"Textastic" für mich als Tausendsassa über die Jahre erwiesen.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 08 August 2017, 09:50:32
Ich kenne den Textastic nicht, aber was ich gelesen habe unterstützt der alle möglichen Programmiersprachen, das ist aber egal, denn da geht es nur um den Syntax Highlighter und nicht um das Format.

Das entscheidende ist alleine ob er Linux Format unterstützt, da geht es speziell um den Zeilenumbruch.

Linux     : LF         = 0A
Windows: CR + LF = 0D 0A
Mac OS  : CR        = 0D

Sobald was anderes als 0A am Zeilenende steht, ist es nicht Linuxkonform und das Script wird nicht fehlerfrei laufen.
Du kannst es auch am Raspi mit dem Editor "Nano" durchführen, da gehst du auf Nummer sicher.

PS: wenn du Spezialist bist, dann kannst dich auch mit Vi beschäftigen, aber das ist eine Krampflösung bei der du dir die Finger brechen wirst. Ich habe mich in den 80er Jahren jahrelang damit beschäftigt, da macht man mehr Fehler wenn man das nicht gewohnt ist.

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: McDiller am 15 August 2017, 16:59:22
Hallo,
Bin ziemlich neu hier und hab erst vor kurzem von den Sonoff Teilen gehört und seitdem versuche ich mich in diesem sehr interessanten Thema weiter zu entwickeln. ;D

Was mich sehr interessiert ist der Arendts Sketch!!!
Hoffe auch das ich es richtig verstanden habe das ich darüber ein tv steuern kann?
Wenn ja:
Habe ich leider kein Plan was ich alles dafür benötige.

Vielleicht ist ja hier jemand der einemeinen ziemlichen unerfahrenen Einsteiger helfen kann.

Danke im voraus
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 15 August 2017, 17:37:12
Hier

https://wiki.fhem.de/wiki/Sonoff (https://wiki.fhem.de/wiki/Sonoff)

hat sich Reinhart (und andere) viel Mühe gegeben, Anfängern wie Dir und mir den Einstieg zu erleichtern.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: McDiller am 15 August 2017, 23:19:56
Das hab ich mir schon durchgelesen und auch soweit verstanden.

Nur würde ich gerne wissen welche Komponenten ich brauche um ein sonoff Basic als infrarot Fernbedienung zu Nutzen!! !!

Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Bapt. Reverend Magersuppe am 16 August 2017, 09:57:51
Na denn Sonoff und eine Infrarot-Birne dazu.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: McDiller am 16 August 2017, 15:05:49
Ja das ich ein sonoff brauch ist mir auch klar  ;D

Aber welche infrarot Birne und welche wiederstände welchen NPN-Transistors

Sorry wenn ich mich zu blöd anstelle
Newbie halt :D
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: dev0 am 16 August 2017, 15:28:00
Zitat von: McDiller am 16 August 2017, 15:05:49
Aber welche infrarot Birne
Laß Dich nicht von der "infrarot-Birne-Magersuppe-Antwort" in die Irre führen und such (im Netz) nach "esp8266 ir-led". Das sollte passende Schaltungsvorschläge liefern. Wenn Du es selbst berechnen möchtest, dann kann ich Dir dazu auch passende Literaturhinweise liefern, dann mußt Du Dich aber in analoge Schaltungstechnik einarbeiten...
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 16 August 2017, 15:47:38
Reinhart hat auf der ersten Seite mehrfach seine Github-Seite verlinkt:

https://github.com/altelch/SonoffIR (https://github.com/altelch/SonoffIR)

auf welcher alle Bauteile genannt werden.

Tipp zur IR-Led : Löt dir doch erstmal eine aus einer alten Fernbedienung aus.☺
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: JoWiemann am 16 August 2017, 15:56:54
Zitat von: McDiller am 16 August 2017, 15:05:49
Ja das ich ein sonoff brauch ist mir auch klar  ;D

Aber welche infrarot Birne und welche wiederstände welchen NPN-Transistors

Sorry wenn ich mich zu blöd anstelle
Newbie halt :D
Im Wiki: https://wiki.fhem.de/wiki/Sonoff ist doch wirklich gut beschrieben, wie es gemacht werden muss. Inklusive Schaltplan, in dem Du sehen kannst, dass Du folgende Komponenten brauchst:

Transistor: 2N2222
Widerstand: 2,5 Ohm und 2,7 kOhm
IR Diode: irgendeine im INet bestellen

Also, wo ist das Problem?



Gesendet von iPhone mit Tapatalk

Grüße Jörg
Titel: Antw:IR-LED an ESP8266 mit Tasmota
Beitrag von: Bapt. Reverend Magersuppe am 10 September 2017, 17:20:47
Falls sich jemand mit der Umrechnerei schwer tut:
HEX/DEZ-Umrechner. (http://www.langeneggers.ch/nuetzliches/umrechner-hex-dez.html)

Auf der Console vom Tasmota kann man das übrigens dann auch ausprobieren (Beispiel Samsung)


Einschalten/Ausschalten:
IRsend {"protocol": "SAMSUNG","bits": 32, "data": 3772793023}
Lauter:
IRsend {"protocol": "SAMSUNG","bits": 32, "data": 3772833823}
Leiser:
IRsend {"protocol": "SAMSUNG","bits": 32, "data": 3772829743}
Mute:
IRsend {"protocol": "SAMSUNG","bits": 32, "data": 3772837903}


Nachtrag 22.09.2017:
Seit einiger Zeit muss alles GROSS geschrieben sein:

IRsend {"PROTOCOL": "SAMSUNG","BITS": 32, "DATA": 3772793023}


Blöd ist ja, das man keine absoluten Schaltwerte für EIN und AUS sendet, man toggelt immer.
Wie stellt ihr in der Praxis sicher das es geklappt hat? Einfach mit der IR-LED dicht genug an den Fernseher ran und mit genügend Leistung rausballern?

Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 10 September 2017, 18:12:00
ZitatBlöd ist ja, das man keine absoluten Schaltwerte für EIN und AUS sendet, man toggelt immer.

Hab auch noch keine Fernbedienung mit "zwei" Tasten für AN/AUS gesehen 😂

ZitatWie stellt ihr in der Praxis sicher das es geklappt hat? Einfach mit der IR-LED dicht genug an den Fernseher ran und mit genügend Leistung rausballern?

Hmm, wie meinst das jetzt genau.
Zur Kontrolle ob überhaupt was gesendet wurde hatte ich die Kamera eines alten Handys genutzt, mit (m)einem Iphone geht's bspw. nicht.
Wenns klappt sieht, hört man das ja auch ob der Befehl umgesetzt wurde.
Oder spielst du noch mit den Werten der Widerstände. Bin der Meinung gelesen zu haben 2,5 Ohm ist schon das min. was geht und bringt die LED beim "ballern" an ihre Grenzen.
Bei mir liegt die Reichweite bei rd. 5-6 Metern je nach Gerät. Ich hatte das Problem das ich mir bspw. einen perfekten Standort mit maximaler Reichweite ausgesucht hatte  (um alles hinter dem Kranz eines Hochschrank zu verstecken), der Befehl für den TV ankam, der für den Sat-Receiver direkt daneben aber nicht. Dazu müsste die LED nen halben Meter weiter vor das beide Geräte geschaltet werden. Nach längerer Spielerei mit Widerständen und auch Umbau in eine 5V Variante kam ich zu dem Schluss das es nur an dem Empfänger liegen kann.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Bapt. Reverend Magersuppe am 11 September 2017, 19:48:45
Zitat von: TomLee am 10 September 2017, 18:12:00
Hab auch noch keine Fernbedienung mit "zwei" Tasten für AN/AUS gesehen 😂

Ich ja auch nicht. Vielleicht gibt es noch geheime Codes für explizit AN und AUS. Aber wenn dann sind die so geheim das man die nicht kennt :-)

Ich habe jetzt in Ermangelung der richtigen Widerstände einen 1 Ohm und einen 2,2kOhm eingebaut. Mal sehen wie es sich bewährt. Habe den Sonoff auch grad mal einen Meter vor dem Fernsehapparat positioniert.
Gedacht ist das eben um den Fernseher erst per Sonoff mit Strom zu versorgen und dann ein paar Sekunden später das EIN-Signal zu senden. Aus kann man eigentlich auch direkt machen indem man den Sonoff einfach abdrehen lässt.

Für mehrere Geräte wäre vielleicht dieses IR-Blasterdings mit 6 IR-LEDs geeigneter.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 11 September 2017, 20:27:50
Wie gesagt, mit Werten unter 2,5 Ohm reizt du die Grenzen der IR-Led aus. Was sich sicherlich auf die Lebensdauer auswirken wird.

Ob das gut ist dem TV ständig, auch wenn's nur einmal am Tag ist,  die Spannung zu kappen ?

Wenn dein Geräte im Raum verteilt sind, hier

https://forum.fhem.de/index.php/topic,72950.0.html (https://forum.fhem.de/index.php/topic,72950.0.html)

geht's seit Wochen um die 360 Grad Geschichte.

Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Bapt. Reverend Magersuppe am 12 September 2017, 13:17:15
Zitat von: TomLee am 11 September 2017, 20:27:50
Wie gesagt, mit Werten unter 2,5 Ohm reizt du die Grenzen der IR-Led aus. Was sich sicherlich auf die Lebensdauer auswirken wird.

Ob das gut ist dem TV ständig, auch wenn's nur einmal am Tag ist,  die Spannung zu kappen ?

Hatte grad nichts anderes da.
Zu beiden Punkten weiss ich in ein paar Monaten mehr :-)
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: mark79 am 13 September 2017, 11:28:21
Ich nehme zwei TV auch komplett vom Strom, seit gut 3 Jahren. Aber ich habe auch schon davon gehört, das es nicht gut sein soll.

Ich habe mir auch zwei IR Blaster gebastelt, nachdem irsend/LIRC nach einen Libreelec Update (Millhouse Kodi 18) partout nicht mehr funktionieren wollte.

Konfiguriert habe ich den RPi mittels autostart.sh, das beim Systemstart mittels wget, ein http Befehl an den ESP gesendet wird und dieser den TV einschaltet.
Mittels alexa und habridge geht das auch per Sprachbefehl.

Umgesetzt habe ich es mit zwei ESP8266 und der Software "http IR Blaster": http://github.com/mdhiggins/ESP8266-HTTP-IR-Blaster

Einmal mit einem NodeMCU für die Küche, der klebt unter dem Küchentisch. :)
Zu sehen auf Bild 1-2, ganz rechts: https://dropbox.com/sh/wwtf24cpoyzz8ul/AAD4R15XpnhR7ywEM_XGnNJ7a

Und noch einen für das Wohnzimmer im Gehäuse, mit einem ESP07 und als Spannungsversorgung habe ich ein AMS1117 Modul verwendet, Bild 3-5

Ich habe die beiden IR Dioden ohne Widerstände und Transistor angeschlossen, das funktioniert bei meiner Entfernung auch so zuverlässig.
Die IR Transmitter im Gehäuse mit Klebefläche stammen übrigens aus einem Mircosoft Xbox USB Receiver, die lagen dort mit bei.

Da ich mich auch mit Fhem beschäftige, werde ich das später noch durch ein Sonoff mit ESPeasy ersetzten, damit ich auch gleich die Steckdosen damit steuern kann.

Btw. weiß jemand ob noch ein GPIO Port bei dem Sonoff 4CH frei ist? Um ein IR Transmitter daran anzuschließen?
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: SamNitro am 12 Oktober 2017, 15:08:08
Zitat von: Reinhart am 20 Februar 2017, 12:09:49
irsend  {"protocol": "SAMSUNG","bits": 32, "data": 3772793023}

oder hier für die Kommandozeile am Broker:

mosquitto_pub -q 2 -t cmnd/TestSwitch/IRSend/set -m '{"protocol": "SAMSUNG","bits": 32, "data": 3772793023}'

LG
Reinhart


Hallo Reinhart,
irsend  {"protocol": "SAMSUNG","bits": 32, "data": 3772793023}

funktioniert...

mosquitto_pub -q 2 -t cmnd/sonoff_TV_IR/IRSend/set -m '{"protocol": "SAMSUNG","bits": 32, "data": 3772793023}'

kommt die Fehlermeldung:
Client mosqsub/32223-FHEM received PUBLISH (d0, q0, r0, m0, 'stat/sonoff_TV_IR/RESULT', ... (21 bytes))
stat/sonoff_TV_IR/RESULT {"Command":"Unknown"}


wo liegt der Fehler?

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 12 Oktober 2017, 15:36:50
Tasmota > 5 geflasht ?


siehe:

https://forum.fhem.de/index.php/topic,67316.msg669051.html#msg669051 (https://forum.fhem.de/index.php/topic,67316.msg669051.html#msg669051)
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: SamNitro am 12 Oktober 2017, 15:39:42
Zitat von: TomLee am 12 Oktober 2017, 15:36:50
Tasmota > 5 geflasht ?


siehe:

https://forum.fhem.de/index.php/topic,67316.msg669051.html#msg669051 (https://forum.fhem.de/index.php/topic,67316.msg669051.html#msg669051)

Ja danke für den link,
neue Version von Tasmota ab 5.x. hier entfällt einfach das "set"

hatte ich nicht gesehen
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: vobo am 22 November 2017, 22:52:18
Hallo Leute,

ich habe ein wenig Probleme mein TV-Gerät zu steuern :(

IR LED ist installiert und funktioniert auch; Senden über Kommandozeile am Broker klappt (augenscheinlich) auch.
z.B. mosquitto_pub -q 2 -t cmnd/ESP15/IRSend -m '{"protocol": "NEC","bits": 48, "data": 70385940872381}'

Ich finde aber scheinbar nicht die richtigen Codes für mein Gerät.
Der Fernseher ist ein Panasonic TX-39CW304. Die zugehörige FB sollte sich RC4861 "nennen".

Aus den Angaben unter http://lirc.sourceforge.net/remotes/panasonic/
werde ich absolut nicht schlau. Teilweise ist dort nicht mal das passende Protokoll angegeben ?

Könnte mir da bitte mal jemand auf die Sprünge helfen ?

Viele Grüße
Volker
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 23 November 2017, 09:35:44
Die Codes auf LIRC-Seite sind alle vor 2015. Dein TV scheint aus 2015-16 zu sein. Das einfachste wird wohl sein die Codes mit dem Sketch IRrecvDump auszulesen. Die ersten Ergebnisse würde ich mit der Liste auf der LIRC-Seite vergleichen, vlt. sind die passenden Codes ja doch schon vorhanden, nur halt unter einer anderen Bezeichnung.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: vobo am 23 November 2017, 18:01:23
... sooooo ....

da ich keinen Arduino, bzw. auch keinen IR-Empfänger da habe, habe ich mal mit WinLirc eine Config "aufgenommen".

Heraus gekommen ist das:

begin remote

  name  ..\config.cfg.conf
  bits            8
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  pre_data_bits   24
  pre_data       0x30
  gap          100000
  min_repeat      2
  toggle_bit_mask 0x800

      begin codes
          Power                    0x4C
          P-Plus                   0x60
          P-minus                  0x61
          V-plus                   0x50
          V-minus                  0x51
      end codes

end remote


PreData Bits plus Bits sind 24+8 = 32
Der Code für den Power-Button ist: 0x4C
Die zu sendenden Daten müssten also folgende sein: 0x304C -> 12364(dez)

mosquitto_pub -q 2 -t cmnd/ESP15/IRSend -m '{"protocol": "PANASONIC","bits": 32, "data": 12364}'

.... aber der Fernseher schaltet sich leider nicht ein ....

Was mache ich falsch ?

Viele Grüße
Volker




Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 23 November 2017, 18:49:59
Wenn

Zitatmosquitto_pub -q 2 -t cmnd/ESP15/IRSend -m '{"protocol": "NEC","bits": 32, "data": 12364}'

auch nicht schaltet, kann  ich mit meiner bisherigen Erfahrung (Wissen) leider auch nicht weiter helfen.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: vobo am 23 November 2017, 19:01:12
schaltet auch nicht ... hatte ich schon versucht
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: vobo am 23 November 2017, 22:59:14
jetzt wird es interessant .....

mosquitto_pub -q 2 -t cmnd/ESP15/IRSend -m '{"protocol": "RC5","bits": 32, "data": 12364}'
... schaltet den Fernseher Ein, aber nicht aus ...
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 24 November 2017, 06:26:21
min_repeat      2

Ist mir jetzt noch aufgefallen, vlt. geht's ja dann.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Bapt. Reverend Magersuppe am 24 November 2017, 10:15:40
Seit einiger Zeit muss(te?) im Kommando alles groß geschrieben werden. Weiss nicht ob das immer noch so strikt ist.


Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: zYloriC am 20 Januar 2018, 00:28:09
Hallo zusammen,

ich habe ein ähnliches Problem wie vobo allerdings möchte ich keinen TV sondern einem Westinghouse Deckenventilator damit steuern. Dazu habe ich auch schon LIRC-Codes gefunden:
https://gist.github.com/bullshit/a7ac0840a07c425fbbc3

Das Ganze soll durch fhem über einen WemosD1 mit easpEasy und meinem IR-Sender KY-005 übertragen werden.

Zuvor habe ich mit einem KY-022 Infrarot Receiver Modul und einem RaspberryPi mit LIRC die Codes meiner Fernbedienung ausgelesen. Dabei kam exemplarisch Folgendes für "Licht an" raus:
name LIGHT_ON
1228     460    1237     451     387    1301       387    1301     389    1301     388    1302      388    1302     387    1301    1233     458     387    1301     388    1302     388   
8056    1234     458    1231     458     387    1300      389    1301     389    1301     388    1301    388    1301     388    1301    1233     459    386    1302     388    1301     388


Für den gleichen "Licht an" IR-Befehl habe ich am Arduino mit IRrecvDumpV2 folgendes ausgelesen:
Licht AN
Encoding  : UNKNOWN
Code      : 31538D76 (32 bits)
Timing[23]:
     +1250, - 400     +1250, - 450     + 400, -1250     + 400, -1300     + 400, -1250     + 400, -1250     + 400, -1300     + 400, -1250     +1250, - 450     + 400, -1250     + 400, -1250     + 400
unsigned int  rawData[23] = {1250,400, 1250,450, 400,1250, 400,1300, 400,1250, 400,1250, 400,1300, 400,1250, 1250,450, 400,1250, 400,1250, 400};  // UNKNOWN 31538D76


Meine Frage an euch ist nun, welchen Befehl ich in fhem im Modul Espeasy / IR-Send nun angeben müsste, damit der IR-Befehl "Licht an" gesendet wird. Ich will es eigentlich nicht über einen mosquitto_pub-Befehl senden.

Wenn ich in fhem den irsend-Befehl des easpEasy-Moduls verwende, muss die Formatierung wie folgt aussehen:
set ESPEasy irsend <RAW> <B32 raw code> <frequenz> <pulse length> <blank length>
oder  irsend <NEC|JVC|RC5|RC6|SAMSUNG|SONY|PANASONIC> <code> <bits>'


All meine Versuche mit RC5/RC6 oder auch RAW waren bislang leider erfolglos.
Ich habe auch schon per Excel die Umrechnung in Binary und anschließende Umwandlung in Base32 versucht.... bin aber gescheitert.
Auch der Versuch die espEasy.ino selbst zu bauen und im IR-Modul 035 den "unsigned int  rawData"-Wert einzutragen, war leider erfolglos.

Hat jemand einen Tipp für die Umrechnung und die Formulierung des RAW-Werts in fhem??

Vielen Dank und viele Grüße
Florian
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: zYloriC am 22 Januar 2018, 12:58:18
Kurze Ergänzung:

Ich habe es gestern auch noch mit dem IR-Blaster versucht und bekomme das Licht mit folgendem RAW-Befehl an:

json?plain=[{"data":[1312,374,1314,374,468,1200,490,1218,468,1220,470,1218,468,1220,468,1218,1314,374,468,1220,468,1220,468,7978,1312,376,1312,376,468,1220,468,1220,468,1220,470,1220,468,1220,468,1220,1314,376,468,1220,468,1218,470,7978,1312,376,1312,376,468,1220,468,1220,470,1218,468,1220,468,1220,470,1218,1314,376,468,1220,468,1220,468,7978,1312,376,1312,376,468,1222,468,1220,468,1220,470,1220,468,1220,468,1218,1314,376,468,1220,468,1220,468,7978,1312,376,1314],"type":"raw","khz":38}]

Da ich den Wemos mit EspEasy auch für andere Aufgaben außer IR nutzen will, versuche ich nun den JSON-Befehl in das EspEasy-IRTransmitter Format zu bekommen
(<RAW> <B32 raw code> <frequenz> <pulse length> <blank length>)
Noch war ich nicht erfolgreich.

Gruß Florian
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: 1dz am 03 Februar 2018, 15:25:26
@Mark79,

Bin seit Stunden an einem Punkt wo ich nicht weiter komme.

Ich habe das Projekt IR Blaster nachgebaut:
https://github.com/mdhiggins/ESP8266-HTTP-IR-Blaster

Das programieren des NodeMCU ESP8266 hat auch geklappt. Habe den hier gekauft:
https://www.amazon.de/gp/product/B06Y1ZPNMS/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

Über den Acces Point 192.168.4.1 hatte ich dann versucht die Zugangsdaten meines Routers usw. einzugeben.
Dabei ist irgendwas schief gelaufen, und ich hatte danach weder Zugang über den Acces Point noch sonst wie.
Im Serial Monitor von Arduin IDE 1.85 wurde dies hier angezeigt:

ESP8266 IR Controller
Config pin GPIO10 set to: 1
mounted file system
*WM: Adding parameter
*WM: hostname
*WM: Adding parameter
*WM: passcode
*WM: Adding parameter
*WM: port_str
*WM: Adding parameter
*WM: user_id
Using Static IP
*WM:
*WM: AutoConnect
*WM: Connecting as wifi client...
*WM: Custom STA IP/GW/Subnet
*WM: 10.0.1.10
*WM: Using last saved values, should be faster
*WM: Connection result:
*WM: 3
*WM: IP Address:
*WM: 10.0.1.10
WiFi connected! User chose hostname '' passcode '' and port '80'
WiFi configuration complete
Local IP: 10.0.1.10
URL to send commands: http://ESP_824E32.local:80
ArduinoOTA started
MDNS http service added. Hostname is set to ESP_824E32.local:80
HTTP Server started on port 80
Turning off the LED to save power.
Error retrieving external IP
HTTP Code: -1
connection refused
External IP address request took 5001 ms
Ready to send and receive IR signals

OK dachte ich mir, zurück auf Start und den NodeMCU nochmal geflasht. Leider bekomme ich im Serial Monitor immer
das gleiche Log angezeigt. Egal wie oft ich neu flashe.
Somit habe ich keinen Zugang mehr auf den NodeMCU8266.

Ich habe dann versuchsweise ESPEasy mit dem "FlashESP8266.exe" aufgespielt. Hier zeigte sich ein normales Verhalten, und ich konnte
über den Acces Point das Modul einrichten und in mein Wlan einbinden.
Hast Du, oder irgendjemand vielleicht eine Idee was ich hier nicht begreife. Es ist als ob die Wlan Settings des Moduls nicht mehr veränderbar wären.

Bin für jeden Tip dankbar.

Thomas
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: FHEM-Wohnung am 19 Februar 2018, 17:22:07
Hey,

ich habe mir soweit alles zurecht gelötet. Nun wollte ich es testen. Leider finde ich auf der http://lirc.sourceforge.net/remotes/lg/ Seite nicht meinen Fernseher LG 47LM620S. Könnte mir jemand sagen wo ich die Codes herbekommen könnte?
Danke :)
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 19 Februar 2018, 17:59:44
Hallo,

du kannst:

1. Auf gut Glück Codes anderer LG-Fernbedienungen ausprobieren.
2. Mit dem IRrecvDump-Sketch auf einem Arduino  mit angeschlossenem TSOP die Codes deiner Fernbedienung auslesen.
3. Gar nicht auf IR setzen und das LGTV_WebOS (https://forum.fhem.de/index.php/topic,66671.0.html)-Modul verwenden, wenn dein TV unterstützt wird. Hier brauchst du nur noch einmal zum einschalten IR, wenn dein TV kein WOL kann.

Gruß

Thomas
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: FHEM-Wohnung am 19 Februar 2018, 20:12:38
Danke für deine schnelle Antwort! Mein LG hat noch kein WebOS, jedoch kann ich diesen über das Modul LGTV_IP12 steuern.
Genau wie du gesagt hast, benötige ich eigentlich nur das Einschalten per Infarot.

Was gebe ich denn bei dem Beispiel "Samsung" ein? LG?
irsend  {"protocol": "SAMSUNG","bits": 32, "data": 3772793023}
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 19 Februar 2018, 20:30:21
Kannst's ja mal versuchen, mein LG-TV wird ein/ausgeschaltet mit:

irsend {"protocol": "NEC","bits": 32, "data": 551489775}
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Reinhart am 19 Februar 2018, 20:37:38
laut der xdrv_02_irremote.ino ist auch LG vorhanden.

const char kIrRemoteProtocols[] PROGMEM =

  "UNKNOWN|RC5|RC6|NEC|SONY|PANASONIC|JVC|SAMSUNG|WHYNTER|AIWA_RC_T501|LG|SANYO|MITSUBISHI|DISH|SHARP";


einfach testen!

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: FHEM-Wohnung am 19 Februar 2018, 21:08:26
Super danke euch! Werde alle Befehle mal durch testen die ich so finde. Gerade eben wollte ich ich erstmal gucken ob meine Schaltung überhaupt sendet. Meine Kamera sieht das Infarotsignal von meiner Fernbedienung. Die LED von der Sonoff-Schaltung bleibt jedoch aus. Um auszuschließen woran das liegt:

Im Sonoff (Tasmota) habe ich unter Modul GPIO14 Sensor 08 IRSend ausgewählt.
Wenn ich in der Konsole irsend {"PROTOKOLL":"NEC","BITS":32,"DATEN":"551489775"} eingebe erscheint:

21:16:42 CMD: irsend {"PROTOKOLL":"NEC","BITS":32,"DATEN":"551489775"}
21:16:42 RSL: stat/sonoff/ERGEBNIS = {"IRSend":"erledigt"}


Ist das soweit von der Software Seite richtig?
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 19 Februar 2018, 22:06:46
Bin sicherlich nicht der richtige Ansprechpartner wenn's hier jetzt ins Detail geht.

21:16:42 RSL: stat/sonoff/ERGEBNIS = {"IRSend":"erledigt"}

Reim ich mir mal jetzt so zusammen du hast eine deutsche Version von Tasmota geflasht hast.
Was bei mir

21:45:06 MQTT: stat/sonoffIR/RESULT = {"IRSend":"Done"}

entspricht.

Das wiederum sagt das der Befehl ausgeführt wurde und du auch mit der Kamera etwas hättest sehen müssen.
Wenn das nicht der Fall ist, meine Vermutung, stimmt mit der IR-Schaltung was nicht. Hast ja auch schon selbst festgestellt.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: FHEM-Wohnung am 22 Februar 2018, 15:29:41
Lag an der Schaltung. Ich habe so gut wie alle Codes von Lirc versucht... leider ohne Erfolg. Wenn jemand einen Rat hat für einen LG LM620s wäre ich sehr dankbar :)
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 22 Februar 2018, 15:42:32
Na dann einen Arduino (ProMini oder Nano oder oder, Spannung beachten!!!) und einen TSOP (Spannung beachten) bestellen und einfach selbst auslesen. Anleitungen dazu findest en masse.
Irgendwann kommt vlt. auch der Tag an dem irgendein exotisches IR-Gerät mit einbinden willst und dazu eh selbst auslesen musst (bspw. Klimaanlage oder ein günstiges IR-LED Band).

Gruß

Thomas
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Bapt. Reverend Magersuppe am 03 April 2018, 08:33:35
Zitat von: Bapt. Reverend Magersuppe am 11 September 2017, 19:48:45
Ich ja auch nicht. Vielleicht gibt es noch geheime Codes für explizit AN und AUS. Aber wenn dann sind die so geheim das man die nicht kennt :-)

Also, um mich mal selbst zu informieren. Es gibt keinen expliziten AUS-Knopf. Der An/Aus schaltet immer um.
Was ich gemerkt habe! Viele Geräte schalten sich EIN wenn man eine Nummerntaste drückt. Also einfach eine ZWEI senden. Dann geht er an oder schaltet auf 2 um.
Nun könnte man sich regelrecht sicher sein, das Gerät läuft. Ausschalten ist noch einfacher wenn der Fernsehn am Sonoff direkt hängt. Klack. Strom weg, Gerät aus!

So meine Tipps von der Praxis zu diesem heiklen Thema.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: steffen83 am 08 Mai 2018, 09:23:19
Hallo,

wenn man den RAW Code hat so wie auf dieser Seite:
https://gist.github.com/bullshit/a7ac0840a07c425fbbc3 (https://gist.github.com/bullshit/a7ac0840a07c425fbbc3)

Kann ich diesen so auch über ESPEasy einfach über die IR LED senden?
Wenn ja wie?

Gruß
Steffen
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: mfhotdog am 31 Mai 2018, 17:01:13
Hallo zusammen,

ich hoffe, dass mir jemand helfen kann.

Ich möchte einen Infrarot gesteuerten Saugroboter über FHEM, ESP8266 und Infrarotsender steuern.

Ich habe dazu die Fernbedienung vom Roboter ausgelesen und komme zu folgenden Werten:


protocol = NEC, device = 64, subdevice = 85, obc = 1

Über den Arduino kam folgendes:

Decoded Unknown(0): Value:0 Adrs:0 (0 bits)

Da ich das Protokol ja erfolgreich als NEC identifiziert habe, frage ich mich nun, wie ich für die einzelnen Tasten zu dem korrekten HTTP Aufruf komme?

Danke schon mal für die Hilfe,

Grüße
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: steffen83 am 31 Mai 2018, 20:56:14
Und du hast das mit esp easy ausgelesen?
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: mfhotdog am 31 Mai 2018, 21:11:13
Hey,

nein habe jetzt einen Arduino Sketch genutzt, um den Hexcode zu nutzen. Das Protokol habe ich auch über einen Arduino und das Tool IRScrutinizer am PC ausgelesen. Ich hoffe, dass ich jetzt alle Infos für die Fernbedinung habe.

Leider ist mein Infrarotsender noch aus China unterwegs, demnach kann ich es noch nicht testen.

Sollte das klappen, wäre das echt genial, dann kann ich den Saugroboter komplett in die Heimautomatisierung integrieren und das ganze mit wenig Aufwand.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: steffen83 am 04 Juni 2018, 08:37:09
Sofern du nicht warten möchtest und ggf. noch ne alte Fernbedienung hast, kannst du da einfach die IR Diode ausbauen.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: mfhotdog am 16 Juni 2018, 14:01:47
Hallo nochmal,

der Receiver ist nun angekommen, leider kennt ESPEasy den NEC2 Code nicht, den die Fernbedienung nutzt.

Gibt es hier die Möglichkeit den RAW Code zu senden? Irgendwie komme ich gerade nicht weiter und stehe total auf dem Schlauch.

Das ist einer der Werte, die ich mit IRRevDumpv2 ausgelsen habe.

Encoding  : UNKNOWN
Code      : 439511A1 (32 bits)
Timing[67]:
     +9000, -4550     + 550, - 700     + 600, - 650     + 600, - 650
     + 600, - 700     + 550, - 700     + 550, - 700     + 550, -1700
     + 600, - 700     + 550, -1700     + 600, - 700     + 600, -1700
     + 600, - 650     + 600, -1700     + 600, - 650     + 600, -1700
     + 600, - 650     + 600, -1700     + 600, -1700     + 600, - 650
     + 600, -1700     + 600, - 650     + 600, - 700     + 550, -1700
     + 600, - 700     + 550, - 650     + 600, - 700     + 550, -1700
     + 600, - 700     + 600, -1700     + 600, -1650     + 650, - 650
     + 600, -1700     + 600
unsigned int  rawData[67] = {9000,4550, 550,700, 600,650, 600,650, 600,700, 550,700, 550,700, 550,1700, 600,700, 550,1700, 600,700, 600,1700, 600,650, 600,1700, 600,650, 600,1700, 600,650, 600,1700, 600,1700, 600,650, 600,1700, 600,650, 600,700, 550,1700, 600,700, 550,650, 600,700, 550,1700, 600,700, 600,1700, 600,1650, 650,650, 600,1700, 600};  // UNKNOWN 439511A1


Wäre echt genial, wenn mir hier jemand helfen könnte.

Danke ;-)
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: riker1 am 27 August 2018, 19:12:28
Hallo
ich weiss nicht wie ich diese LIRC daten convertieren und senden soll.

begin remote

  name  TRIAX-C150
  bits           13
  flags RC5|CONST_LENGTH
  eps            30
  aeps          100
  one           880   884
  zero          880   884
  plead         887
  gap          113058
  toggle_bit_mask 0x0

      begin codes
          on                0x1A0C


habe das dann so umgesetzt bzw hier auch gefragt.

https://forum.fhem.de/index.php/topic,80771.msg830842.html#msg830842

IRSEND RC5 6668 13

irsend <NEC|JVC|RC5|RC6|SAMSUNG|SONY|PANASONIC> <code> <bits>

klappt aber nicht.


Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: mfhotdog am 27 August 2018, 19:56:24
Hi,

Kleines Update, ich habe mir jetzt einfach den Broadlink Rm Pro geholt. Habe ihm den Internetzugriff über meine Firewall gesperrt und nutze ihn komplett über FHEM. Einrichtung dauert 2 Minuten.

LG
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: riker1 am 27 August 2018, 20:10:38

Habe am arduino mit ir dump folgenden ir code geholt.


Decoded RC5: 20C (12 bits)
Raw (22): 900 -850 1750 -900 900 -1750 1750 -900 900 -900 850 -900 850 -900 850 -1800 850 -900 1750 -900 900
20C



aber wie passt da zu dem erwarteten raw input:
irsend <RAW> <B32 raw code> <frequenz> <pulse length> <blank length>

danke für die Hilfe
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Eistee am 27 August 2018, 21:41:47
Das was du RAW empfangen kannst (oberes) sind Zeiten mit 0 und 1 zu erkennen an den negativen und positiven Zahlen. Also diese folge von Zahlen sagt wie lang IR-Licht an war und wie lang aus.

Beim senden sendest du ein Bitmuster mit einer Frequenz. Also du musst nun erst mal herausbekommen mit welcher Frequenz die empfangenen Daten wohl codiert sein könnten. dann kannst du daraus ein Bitmuster bauen und es wieder senden.

Da du aber gepostet hast das dein empfangenes Signal ein RC5 Code ist mit dem Wert 20C (12 bit länge) musst du ja zum glück gar nicht raw senden sondern kannst direkt den RC5 Code senden.
irsend RC5 20C 12
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: riker1 am 28 August 2018, 09:40:06
Zitat von: Eistee am 27 August 2018, 21:41:47
Das was du RAW empfangen kannst (oberes) sind Zeiten mit 0 und 1 zu erkennen an den negativen und positiven Zahlen. Also diese folge von Zahlen sagt wie lang IR-Licht an war und wie lang aus.

Beim senden sendest du ein Bitmuster mit einer Frequenz. Also du musst nun erst mal herausbekommen mit welcher Frequenz die empfangenen Daten wohl codiert sein könnten. dann kannst du daraus ein Bitmuster bauen und es wieder senden.

Da du aber gepostet hast das dein empfangenes Signal ein RC5 Code ist mit dem Wert 20C (12 bit länge) musst du ja zum glück gar nicht raw senden sondern kannst direkt den RC5 Code senden.
irsend RC5 20C 12

Ja danke.
Zum Glück zeit ger IR Dump beides an RC5 und raw,
wollte es mit RAW probieren, da RC5 nicht schaltet.

nochmal zur Sicherheit, muss ich die RC5 Codes in Dezimal  umrechnen oder als hex senden? Danke

Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: Eistee am 28 August 2018, 10:44:10
das irsend Kommando erwartet angaben in hex
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: The-Holgi am 23 Oktober 2018, 17:37:49
Hallo,
habe mir mit einem Arduino Nano einen infrarot receiver gebastelt.
Funktioniert soweit recht gut, kann die codes der Fernbedienungen auslesen.
Mit Espeasy sende ich dann den code, das klappt bei meinem LG und auch bei meinem Samsung TV.
Bei meinem Sony Receiver leider nicht.
So siehts beim LG Tv aus und funktioniert:[/set ESPEasy_ESP_ir_wifi irsend NEC 20DF10EF 32
empfangen habe ich hier: Decode NEC(1): Value: 20DF10EF Adrs:0 32bit code]
[code]so beim Sony Receiver leider ohne Funktion: set ESPEasy_ESP_ir_wifi irsend Sony A81 12 und drecempangene code: set ESPEasy_ESP_ir_wifi irsend Sony A81 12

Jemand eine Idee warum das bei Sony nicht funktioniert?

Gruß Holger
Titel: Antw:IR-LED an ESP8266 mit Tasmota
Beitrag von: TomLee am 23 Dezember 2018, 18:56:35
Beschäftige mich aktuell mit MQTT2.
Gestern war mir aufgefallen wie einfach sich die Umsetzung der Fernbedienung/Script aus dem Wiki in einem MQTT2_Device abbilden lässt:

defmod IR_ESP_TV_Wohnzimmer MQTT2_DEVICE
attr IR_ESP_TV_Wohnzimmer IODev myMQTT2_CLIENT
attr IR_ESP_TV_Wohnzimmer autocreate 0
attr IR_ESP_TV_Wohnzimmer event-on-change-reading .*
attr IR_ESP_TV_Wohnzimmer readingList tele/sonoffIR/LWT:.* LWT\
tele/sonoffIR/STATE:.* { json2nameValue($EVENT) }\
tele/sonoffIR/SENSOR:.* { json2nameValue($EVENT) }\
tele/sonoffIR/INFO.:.* { json2nameValue($EVENT) }\
stat/sonoffIR/RESULT.:.* { json2nameValue($EVENT) }
attr IR_ESP_TV_Wohnzimmer room MQTT2_DEVICE
attr IR_ESP_TV_Wohnzimmer setList power:noArg   cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551489775}\
1:noArg cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551520375}\
2:noArg    cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551504055}\
3:noArg   cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551536695}\
4:noArg cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551495895}\
5:noArg    cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551528535}\
6:noArg   cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551512215}\
7:noArg cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551544855}\
8:noArg    cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551491815}\
9:noArg   cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551524455}\
0:noArg cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551487735}\
10:noArg cmnd/sonoffIR/IRSend/Backlog irSend {"protocol": "NEC","bits": 32, "data": 551487735};delay 8;irSend {"protocol": "NEC","bits": 32, "data": 551520375}\
volumeup:noArg    cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551502015}\
volumedown:noArg   cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551534655}\
mute:noArg cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551522415}\
channelup:noArg    cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551485695}\
channeldown:noArg   cmnd/sonoffIR/IRSend/irSend {"protocol": "NEC","bits": 32, "data": 551518335}
attr IR_ESP_TV_Wohnzimmer stateFormat {ReadingsVal("$name","state","") }

setstate IR_ESP_TV_Wohnzimmer mute
setstate IR_ESP_TV_Wohnzimmer 2018-12-23 03:28:56 FallbackTopic DVES_0791B2
setstate IR_ESP_TV_Wohnzimmer 2018-12-23 03:28:56 GroupTopic sonoffs
setstate IR_ESP_TV_Wohnzimmer 2018-12-23 03:28:57 Hostname sonoffIR-4530
setstate IR_ESP_TV_Wohnzimmer 2018-12-23 03:28:57 IPaddress 192.168.188.52
setstate IR_ESP_TV_Wohnzimmer 2018-12-23 01:47:24 IRSend Done
setstate IR_ESP_TV_Wohnzimmer 2018-12-23 03:28:56 LWT Online
setstate IR_ESP_TV_Wohnzimmer 2018-12-23 03:28:56 Module Sonoff Basic
setstate IR_ESP_TV_Wohnzimmer 2018-12-24 09:44:05 POWER OFF
setstate IR_ESP_TV_Wohnzimmer 2018-12-23 01:52:18 Restart Restarting
setstate IR_ESP_TV_Wohnzimmer 2018-12-23 03:28:57 Started External System
setstate IR_ESP_TV_Wohnzimmer 2018-12-24 09:44:05 Time 2018-12-24T09:44:05
setstate IR_ESP_TV_Wohnzimmer 2018-12-24 09:44:05 Uptime 30
setstate IR_ESP_TV_Wohnzimmer 2018-12-24 09:44:05 Vcc 3.360
setstate IR_ESP_TV_Wohnzimmer 2018-12-23 03:28:56 Version 4.0.8
setstate IR_ESP_TV_Wohnzimmer 2018-12-23 03:28:57 WebserverMode Admin
setstate IR_ESP_TV_Wohnzimmer 2018-12-24 09:44:05 Wifi_AP 1
setstate IR_ESP_TV_Wohnzimmer 2018-12-24 09:44:05 Wifi_RSSI 80
setstate IR_ESP_TV_Wohnzimmer 2018-12-24 09:44:05 Wifi_SSID FBF
setstate IR_ESP_TV_Wohnzimmer 2018-12-23 02:24:43 state mute


edit:

setList um ein Beispiel (10) erweitert wie man mehrere IR-Codes mit Hilfe von backlog und delay hintereinander absetzen kann
Titel: Antw:IR-LED an ESP8266 mit Tasmota
Beitrag von: TomLee am 27 Dezember 2018, 17:25:18
Hat die von Reinhart damals verlinkte IR-Schaltung (https://github.com/altelch/SonoffIR) vlt. schon wer an einem Shelly 1 ausprobiert ? Ich meine mich erinnern zu können das es bei einem ESP-01 entweder an TX oder RX auf jeden fall möglich war (bei einem von beiden gings nicht) die Schaltung zu betreiben.
Das würd sich super anbieten einen Schalter/Taster über meiner Umsetzung (https://forum.fhem.de/index.php/topic,67316.msg662974.html#msg662974) zusätzlich auch noch smart zu machen und meine bisherige 3,3V Netzteil/ESP-01 Lösung ersetzen.

Gruß

Thomas
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: biggsmann am 10 Januar 2019, 17:58:43
Wird sicher auch keiner. Die GPIO's bei den Shellies haben Netzpotenzial und sind nicht galvanisch getrennt. Mit Glück geht nur die Hardware kaputt. Wenn es dumm läuft, kann die Installation tödlich enden.

cu
biggsmann
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 10 Januar 2019, 18:29:38
Hab zwar keinen Shelly, mit Sicherheit liegt an den frei zugänglichen GPIOs des Shelly 1 aber keine Netzspannung an, sonst hätten alle die bereits Tasmota darauf geflasht haben einen heiden Spass beim anschliessen des USB-to-Serial-Adapter gehabt.

Klär mich bitte auf wo unser Missverständnis liegt ?
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: andies am 10 Januar 2019, 18:35:22
flashst du mit Netzspannung?


Gesendet von iPad mit Tapatalk Pro
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: biggsmann am 10 Januar 2019, 18:43:04
Die Shellies haben keine Trafos als galvanische Trennung sondern generieren ihre Betriebsspannung (z.B. für den ESP8266) mittels (kapazitiver?) Spannungsteiler aus der Netzspannung. Daher haben sie an den GPIO`s Netzpotenzial. Die Sonoffs haben Schaltnetzteile zur internen Spannungsversorgung. Daher kann man die GPIO`s für Erweiterungen gefahrlos nutzen. Papa Romeo hat die Schaltung der Shellies hier irgendwo dargestellt. Da kann man das gut dran ablesen.

cu
biggsmann

 
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 10 Januar 2019, 18:44:16
Wie jetzt, ob ich mit Netzspannung flashe ? Wie kommst du darauf ?

Es wurde behauptet es liegt Netzspannung an den GPIOs an .

Ich behaupte/vermute/sage (wie auch immer) man kann Tasmota auf den Shelly flashen und die genannte Schaltung entweder an GPIO1 oder GPIO3 betreiben, net mehr und net weniger.
Titel: Antw:IR-LED an ESP8266 mit EspEasy
Beitrag von: TomLee am 10 Januar 2019, 18:46:12
Zitat von: biggsmann am 10 Januar 2019, 18:43:04
Die Shellies haben keine Trafos als galvanische Trennung sondern generieren ihre Betriebsspannung (z.B. für den ESP8266) mittels (kapazitiver?) Spannungsteiler aus der Netzspannung. Daher haben sie an den GPIO`s Netzpotenzial. Die Sonoffs haben Schaltnetzteile zur internen Spannungsversorgung. Daher kann man die GPIO`s für Erweiterungen gefahrlos nutzen. Papa Romeo hat die Schaltung der Shellies hier irgendwo dargestellt. Da kann man das gut dran ablesen.

cu
biggsmann



Danke für die Aufklärung.