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
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
Perfekt! Hab vielen Dank!
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
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
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
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
Hier mal die laienhafte Skizze die ich gemacht habe
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
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
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
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
Hallo,
als Neuling habe ich da mal ein paar Fragen:
- 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?
Grüße
Thomas
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).
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
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
hat jemand eine Idee dazu?
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
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
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.
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
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
Hallo,
kann man den Arends Sketch auf jeden beliebigen ESP flashen, oder geht das nur bei den Sonoff's ?
LG
Thomas
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
Danke
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
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
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.
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
Danke gerade selbst bemerkt und Beitrag editiert.Hab sie allerdings über Sketch - Bibliothek einbinden jeden einzelnen eingebunden, was auch zum Ziel führte.
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?
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
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
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
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.
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.
poste bitte einmal wie so eine IF Abfrage in der ircmd.sh bei dir jetzt aussieht!
LG
#!/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
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.
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
@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
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.
@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.
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
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:
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
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
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
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☺
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
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 ?
@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"}
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
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.
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.
Für alle die es interessiert hier ein Bild der fertigen Integration dieses Projekts in mein vorhandenes Schalterprogramm.
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.
@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
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.
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.
ok, ich nehme immer PSPad, der ist Linux konform.
LG
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.
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
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
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.
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!! !!
Na denn Sonoff und eine Infrarot-Birne dazu.
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
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...
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.☺
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
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?
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.
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.
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.
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 :-)
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?
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
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)
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
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
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.
... 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
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.
schaltet auch nicht ... hatte ich schon versucht
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 ...
min_repeat 2
Ist mir jetzt noch aufgefallen, vlt. geht's ja dann.
Seit einiger Zeit muss(te?) im Kommando alles groß geschrieben werden. Weiss nicht ob das immer noch so strikt ist.
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
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
@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
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 :)
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
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}
Kannst's ja mal versuchen, mein LG-TV wird ein/ausgeschaltet mit:
irsend {"protocol": "NEC","bits": 32, "data": 551489775}
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
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?
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.
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 :)
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
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.
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
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
Und du hast das mit esp easy ausgelesen?
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.
Sofern du nicht warten möchtest und ggf. noch ne alte Fernbedienung hast, kannst du da einfach die IR Diode ausbauen.
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 ;-)
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.
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
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
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
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
das irsend Kommando erwartet angaben in hex
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
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
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
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
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 ?
flashst du mit Netzspannung?
Gesendet von iPad mit Tapatalk Pro
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
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.
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.