360 Grad IR WLAN Gateway

Begonnen von gloob, 08 Juni 2017, 21:16:36

Vorheriges Thema - Nächstes Thema

Neuhier

Blicke nicht mehr durch.
Hatte den Gateway fast fertig, hat im FHEM geschafft.
Einzig die Oberfläche ( Web-Interface ) war nicht erreichbar.
Ok, also einfach neu flashen.
Geht nicht, es kommen schon in Arduino laufend Fehler, wenn ich das Package zusammenbauen will.
Kann bitte mal jemand das komplette "Image" dafür hochladen?

vbs

Hab es noch nicht machen müssen, aber so wie ich das verstehe, gibt es hier die Firmware inkl. Binary:
https://github.com/phili76/IRBlaster360/tree/master/IR_Blaster_360

Neuhier

Version ist die vom Januar diesen Jahres.
Die hatte ich schon drauf.
Jetzt werde ich angemeckert, schon beim Kompilieren, daß da Fehler drin wären.

gloob

Was bekommst du denn für Fehler.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Neuhier

#559
Komplett aus Arduino:
IR_Blaster_360:114: error: no matching function for call to 'IRrecv::IRrecv(const uint8_t&, unsigned int, unsigned int)'

IRrecv irrecv(IR_RECEIVE_PIN, RAWBUF, TIMEOUT);

                                              ^

D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino:114:46: note: candidates are:

In file included from D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino:3:0:

C:\Users\uwe\Documents\Arduino\libraries\IRremoteESP8266\src/IRrecv.h:71:12: note: IRrecv::IRrecv(uint16_t)

   explicit IRrecv(uint16_t recvpin);

            ^

C:\Users\uwe\Documents\Arduino\libraries\IRremoteESP8266\src/IRrecv.h:71:12: note:   candidate expects 1 argument, 3 provided

C:\Users\uwe\Documents\Arduino\libraries\IRremoteESP8266\src/IRrecv.h:69:7: note: constexpr IRrecv::IRrecv(const IRrecv&)

class IRrecv {

       ^

C:\Users\uwe\Documents\Arduino\libraries\IRremoteESP8266\src/IRrecv.h:69:7: note:   candidate expects 1 argument, 3 provided

C:\Users\uwe\Documents\Arduino\libraries\IRremoteESP8266\src/IRrecv.h:69:7: note: constexpr IRrecv::IRrecv(IRrecv&&)

C:\Users\uwe\Documents\Arduino\libraries\IRremoteESP8266\src/IRrecv.h:69:7: note:   candidate expects 1 argument, 3 provided

D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino: In function 'time_t getNtpTime()':

IR_Blaster_360:173: error: 'SECS_PER_HOUR' was not declared in this scope

       return secsSince1900 - 2208988800UL + timeZone * SECS_PER_HOUR;

                                                        ^

D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino: In function 'bool setupWifi(bool)':

IR_Blaster_360:278: error: 'DynamicJsonBuffer' was not declared in this scope

         DynamicJsonBuffer jsonBuffer;

         ^

IR_Blaster_360:278: error: expected ';' before 'jsonBuffer'

         DynamicJsonBuffer jsonBuffer;

                           ^

IR_Blaster_360:279: error: 'jsonBuffer' was not declared in this scope

         JsonObject& json = jsonBuffer.parseObject(buf.get());

                            ^

IR_Blaster_360:280: error: 'class ArduinoJson650_0_0::JsonObject' has no member named 'printTo'

         json.printTo(Serial);

              ^

IR_Blaster_360:281: error: 'class ArduinoJson650_0_0::JsonObject' has no member named 'success'

         if (json.success()) {

                  ^

IR_Blaster_360:335: error: 'DynamicJsonBuffer' was not declared in this scope

     DynamicJsonBuffer jsonBuffer;

     ^

IR_Blaster_360:335: error: expected ';' before 'jsonBuffer'

     DynamicJsonBuffer jsonBuffer;

                       ^

IR_Blaster_360:336: error: 'jsonBuffer' was not declared in this scope

     JsonObject& json = jsonBuffer.createObject();

                        ^

IR_Blaster_360:347: error: 'class ArduinoJson650_0_0::JsonObject' has no member named 'printTo'

     json.printTo(Serial);

          ^

IR_Blaster_360:349: error: 'class ArduinoJson650_0_0::JsonObject' has no member named 'printTo'

     json.printTo(configFile);

          ^

D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino: In function 'void setup()':

IR_Blaster_360:387: error: 'MDNS' was not declared in this scope

     if (MDNS.begin(host_name)) DEBUG_PRINTLN("WEB: mDNS started. Hostname is set to " + String(host_name) + ".local");

         ^

IR_Blaster_360:388: error: 'MDNS' was not declared in this scope

     MDNS.addService("http", "tcp", port); // Announce the ESP as an HTTP service

     ^

IR_Blaster_360:392: error: 'setTime' was not declared in this scope

     setTime(1514764800);  // 1.1.2018 00:00 Initialize time

                       ^

IR_Blaster_360:399: error: 'setSyncProvider' was not declared in this scope

       setSyncProvider(getNtpTime);

                                 ^

IR_Blaster_360:400: error: 'setSyncInterval' was not declared in this scope

       setSyncInterval(3600);

                           ^

IR_Blaster_360:401: error: 'hour' was not declared in this scope

       String boottimetemp = printDigits2(hour()) + ":" + printDigits2(minute()) + " " + printDigits2(day()) + "." + printDigits2(month()) + "." + String(year());

                                               ^

IR_Blaster_360:401: error: 'minute' was not declared in this scope

       String boottimetemp = printDigits2(hour()) + ":" + printDigits2(minute()) + " " + printDigits2(day()) + "." + printDigits2(month()) + "." + String(year());

                                                                              ^

IR_Blaster_360:401: error: 'day' was not declared in this scope

       String boottimetemp = printDigits2(hour()) + ":" + printDigits2(minute()) + " " + printDigits2(day()) + "." + printDigits2(month()) + "." + String(year());

                                                                                                          ^

IR_Blaster_360:401: error: 'month' was not declared in this scope

       String boottimetemp = printDigits2(hour()) + ":" + printDigits2(minute()) + " " + printDigits2(day()) + "." + printDigits2(month()) + "." + String(year());

                                                                                                                                        ^

IR_Blaster_360:401: error: 'year' was not declared in this scope

       String boottimetemp = printDigits2(hour()) + ":" + printDigits2(minute()) + " " + printDigits2(day()) + "." + printDigits2(month()) + "." + String(year());

                                                                                                                                                               ^

D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino: In lambda function:

IR_Blaster_360:414: error: 'DynamicJsonBuffer' was not declared in this scope

       DynamicJsonBuffer jsonBuffer;

       ^

IR_Blaster_360:414: error: expected ';' before 'jsonBuffer'

       DynamicJsonBuffer jsonBuffer;

                         ^

IR_Blaster_360:415: error: 'jsonBuffer' was not declared in this scope

       JsonArray& root = jsonBuffer.parseArray(server.arg("plain"));

                         ^

IR_Blaster_360:417: error: 'class ArduinoJson650_0_0::JsonArray' has no member named 'success'

       if (!root.success())

                 ^

IR_Blaster_360:456: error: invalid initialization of non-const reference of type 'ArduinoJson650_0_0::JsonArray&' from an rvalue of type 'ArduinoJson650_0_0::enable_if<true, ArduinoJson650_0_0::JsonObjectSubscript<const char*> >::type {aka ArduinoJson650_0_0::JsonObjectSubscript<const char*>}'

             JsonArray &raw = root[x]["data"]; // Array of unsigned int values for the raw signal

                                            ^

D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino: In function 'int rokuCommand(String, String)':

IR_Blaster_360:1039: error: 'hour' was not declared in this scope

   strncpy(last_recv.timestamp, (printDigits2(hour()) + ":" + printDigits2(minute()) + ":" + printDigits2(second()) + "." + printDigits3((millis() % 1000))).c_str(), 13);

                                                   ^

IR_Blaster_360:1039: error: 'minute' was not declared in this scope

   strncpy(last_recv.timestamp, (printDigits2(hour()) + ":" + printDigits2(minute()) + ":" + printDigits2(second()) + "." + printDigits3((millis() % 1000))).c_str(), 13);

                                                                                  ^

IR_Blaster_360:1039: error: 'second' was not declared in this scope

   strncpy(last_recv.timestamp, (printDigits2(hour()) + ":" + printDigits2(minute()) + ":" + printDigits2(second()) + "." + printDigits3((millis() % 1000))).c_str(), 13);

                                                                                                                 ^

D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino: In function 'void sendConfigPage(String, String, int, int)':

IR_Blaster_360:1288: error: 'DynamicJsonBuffer' was not declared in this scope

     DynamicJsonBuffer jsonBuffer;

     ^

IR_Blaster_360:1288: error: expected ';' before 'jsonBuffer'

     DynamicJsonBuffer jsonBuffer;

                       ^

IR_Blaster_360:1289: error: 'jsonBuffer' was not declared in this scope

     JsonObject& json = jsonBuffer.createObject();

                        ^

IR_Blaster_360:1300: error: 'class ArduinoJson650_0_0::JsonObject' has no member named 'printTo'

     json.printTo(Serial);

          ^

IR_Blaster_360:1302: error: 'class ArduinoJson650_0_0::JsonObject' has no member named 'printTo'

     json.printTo(configFile);

          ^

IR_Blaster_360:1323: error: 'DynamicJsonBuffer' was not declared in this scope

           DynamicJsonBuffer jsonBuffer;

           ^

IR_Blaster_360:1323: error: expected ';' before 'jsonBuffer'

           DynamicJsonBuffer jsonBuffer;

                             ^

IR_Blaster_360:1324: error: 'jsonBuffer' was not declared in this scope

           JsonObject& json = jsonBuffer.parseObject(buf.get());

                              ^

IR_Blaster_360:1326: error: 'class ArduinoJson650_0_0::JsonObject' has no member named 'printTo'

           json.printTo(Serial);

                ^

IR_Blaster_360:1327: error: 'class ArduinoJson650_0_0::JsonObject' has no member named 'success'

           if (json.success()) {

                    ^

D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino: In function 'void codeJson(ArduinoJson650_0_0::JsonObject&, decode_results*)':

IR_Blaster_360:1564: error: 'RAWTICK' was not declared in this scope

         r += results->rawbuf[i] * RAWTICK;

                                   ^

D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino: In function 'void cvrtCode(Code&, decode_results*)':

IR_Blaster_360:1605: error: 'RAWTICK' was not declared in this scope

       r += results->rawbuf[i] * RAWTICK;

                                 ^

D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino: In function 'void dumpRaw(decode_results*)':

IR_Blaster_360:1654: error: 'RAWTICK' was not declared in this scope

     uint32_t x = results->rawbuf[i] * RAWTICK;

                                       ^

D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino: In function 'void dumpCode(decode_results*)':

IR_Blaster_360:1684: error: 'RAWTICK' was not declared in this scope

     Serial.print(results->rawbuf[i] * RAWTICK, DEC);

                                       ^

D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino: In function 'void irblast(String, String, unsigned int, int, int, int, int, long int)':

IR_Blaster_360:1820: error: 'hour' was not declared in this scope

   strncpy(last_send.timestamp, (printDigits2(hour()) + ":" + printDigits2(minute()) + ":" + printDigits2(second()) + "." + printDigits3(millis() % 1000)).c_str(), 13);

                                                   ^

IR_Blaster_360:1820: error: 'minute' was not declared in this scope

   strncpy(last_send.timestamp, (printDigits2(hour()) + ":" + printDigits2(minute()) + ":" + printDigits2(second()) + "." + printDigits3(millis() % 1000)).c_str(), 13);

                                                                                  ^

IR_Blaster_360:1820: error: 'second' was not declared in this scope

   strncpy(last_send.timestamp, (printDigits2(hour()) + ":" + printDigits2(minute()) + ":" + printDigits2(second()) + "." + printDigits3(millis() % 1000)).c_str(), 13);

                                                                                                                 ^

D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino: In function 'void rawblast(ArduinoJson650_0_0::JsonArray&, int, int, int, int, int)':

IR_Blaster_360:1872: error: 'hour' was not declared in this scope

   strncpy(last_send.timestamp, (printDigits2(hour()) + ":" + printDigits2(minute()) + ":" + printDigits2(second()) + "." + printDigits3(millis() % 1000)).c_str(), 13);

                                                   ^

IR_Blaster_360:1872: error: 'minute' was not declared in this scope

   strncpy(last_send.timestamp, (printDigits2(hour()) + ":" + printDigits2(minute()) + ":" + printDigits2(second()) + "." + printDigits3(millis() % 1000)).c_str(), 13);

                                                                                  ^

IR_Blaster_360:1872: error: 'second' was not declared in this scope

   strncpy(last_send.timestamp, (printDigits2(hour()) + ":" + printDigits2(minute()) + ":" + printDigits2(second()) + "." + printDigits3(millis() % 1000)).c_str(), 13);

                                                                                                                 ^

D:\RasPI\FHEM\IRBlaster360-master\IR_Blaster_360\IR_Blaster_360.ino: In function 'void loop()':

IR_Blaster_360:2008: error: 'hour' was not declared in this scope

   strncpy(last_recv.timestamp, (printDigits2(hour()) + ":" + printDigits2(minute()) + ":" + printDigits2(second()) + "." + printDigits3(millis() % 1000)).c_str(), 13);

                                                   ^

IR_Blaster_360:2008: error: 'minute' was not declared in this scope

   strncpy(last_recv.timestamp, (printDigits2(hour()) + ":" + printDigits2(minute()) + ":" + printDigits2(second()) + "." + printDigits3(millis() % 1000)).c_str(), 13);

                                                                                  ^

IR_Blaster_360:2008: error: 'second' was not declared in this scope

   strncpy(last_recv.timestamp, (printDigits2(hour()) + ":" + printDigits2(minute()) + ":" + printDigits2(second()) + "." + printDigits3(millis() % 1000)).c_str(), 13);

                                                                                                                 ^

IR_Blaster_360:2034: error: 'now' was not declared in this scope

     now();

         ^

exit status 1
no matching function for call to 'IRrecv::IRrecv(const uint8_t&, unsigned int, unsigned int)'



Geladen habe ich das schon mehrfach, um Fehler beim Runterladen auszuschließen.
Entpackt mit 7Zip.


Nachtrag: habe Arduino und alle zugehörigen Dateien deinstalliert, PC neu gestartet, Arduino als Admin installiert.
Ebenso die Dateien IR-Blaster, IR_RemoteESP8266 und WiFiManager neu gezogen und installiert, Alles nach Vorschrift.
Fehlermeldung kam wieder die gleiche.


Nachgetragener Nachtrag: habe den Ablauf nach #114 durchgezogen, inklusive Umstellung auf die steinalten Versionen die dort angegeben sind. Damit komme ich schonmal wieder auf den Gateway.
Das Problem kann also abgehakt werden.

Neuhier

Habe nun festgestellt, daß der Gateway Samsung sendet, aber kein NEC.
Irgendwo ist noch was nicht sauber.
IR Blaster 360 - v2.7.6 ist mittlerweile auch drauf.

gloob

Zitat von: Neuhier am 13 November 2018, 13:34:49
Habe nun festgestellt, daß der Gateway Samsung sendet, aber kein NEC.
Irgendwo ist noch was nicht sauber.
IR Blaster 360 - v2.7.6 ist mittlerweile auch drauf.

Warum nimmst du nicht einfach das BIN File von hier: https://github.com/phili76/IRBlaster360/tree/master/IR_Blaster_360

Wie sieht denn ein Aufruf zum Senden aus?
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Neuhier

Genau das bin-File habe ich per Update drauf.

Beispiel1: set IRSz _send IR_STV_oo ( Samsung TV an/aus ) reagiert der TV.
Code dazu IR_STV_oo [{'data':'E0E040BF','type':'SAMSUNG','length':32}]

Beispiel2: set IRSz _send IR_DS_oo ( Dreambox an/aus ) kommt keine Reaktion.
Code dazu: IR_DS_oo [{'data':'4CB300FF','type':'NEC','length':32}]

userattr IR_DS_oo IR_STV_oo

Also funktioniert das Gateway prinzipiell schon mal.
Kann auch ein Listing anhängen, von beiden Zuständen, wenn benötigt.

vbs

Und du bist dir sicher, dass der IR-Code der richtige ist und dass er zum Empfänger passt? Kann mir irgendwie nicht vorstellen, dass der Blaster in deinem Fall technisch Samsung aber kein NEC senden kann  :o

Pfriemler

4CB300FF ist ein gültiger NEC-Code, in deren Schreibweise "32-00". Ob das der richtige Code für die Dreambox ist, konnte ich nicht herausbekommen.
Woher hast Du den?
Meine alte Dreambox DB500HD versteht noch kein NEC, die steuere ich mit einem RAW-Code.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Neuhier

#565
Der Gateway hat mir die Codes für die Dream geliefert.
Habe 2 Gateways, wie schonmal irgenwo gepostet.
Der im WZ läuft problemlos, der im SZ macht Zicken.
Gestern mal die Platinen getauscht - keine Besserung.
Also habe ich irgendwo was anderst, als im 1.
Ich steuere damit die Dreams, jeweils einen Deckenventilator und einen Samsung-TV.
Laut Monitor kommt das, wenn ich im SZ schalten will:
2018-11-14 07:40:01 DOIF WLANIR cmd_nr: 1
2018-11-14 07:40:01 DOIF WLANIR cmd: 1
2018-11-14 07:40:01 DOIF WLANIR cmd_event: FB2
2018-11-14 07:40:01 DOIF WLANIR error: {GetHttpFile("192.168.78.43","/json?plain=[{'data':'4CB300FF','type':'NEC','length':32}]")}: Code sent: /json?plain=[{'data':'4CB300FF','type':'NEC','length':32}]
2018-11-14 07:40:01 DOIF WLANIR cmd_1
2018-11-14 07:40:01 remotecontrol FB2 D_oo

Keine Reaktion der Dream.

Laut Monitor kommt das, wenn ich im WZ schalten will:
2018-11-14 07:41:53 DOIF IRWLAN cmd_nr: 24
2018-11-14 07:41:53 DOIF IRWLAN cmd: 24
2018-11-14 07:41:53 DOIF IRWLAN cmd_event: FB1
2018-11-14 07:41:53 DOIF IRWLAN error: {GetHttpFile("192.168.78.63","/json?plain=[{'data':'4CB300FF','type':'NEC','length':32}]")}: Code sent: /json?plain=[{'data':'4CB300FF','type':'NEC','length':32}]
2018-11-14 07:41:53 DOIF IRWLAN cmd_24
2018-11-14 07:41:53 remotecontrol FB1 D_oo

Dream geht aus/an.

Im WZ ist es eine DM900UHD, im SZ eine DM525.
Beide kann ich mit der gleichen FB bedienen, kein Problem.

RaspiLED

Hi Pfriemler,
Poste doch mal deinen raw code,
Ich schätze die FB sendet mehr als einen code, oder das Timing (also Basispulse) ist bei den Boxen unterschiedlich.
Gruß Arnd


Gesendet von iPhone mit Tapatalk
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

gloob

Ich habe noch folgendes auf einer Webseite gefunden:

Quadruple code switching using a DIP-Switch makes it possible to control several Dreamboxes in one room

Kann es damit zusammen hängen?
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Neuhier

Nein, beide stehen in verschiedenen Zimmern und reagieren auf die gleiche FB.
Dazu muß ich aber in das jeweilige Zimmer, mit den Dream-FBen muß gezielt werden.
Mit irgendwo in den Raum halten reicht denen nicht.

Mittlerweile geht auch Samsung nicht mehr richtig, RAW für den Ventilator geht immer noch sauber.

RaspiLED

Hi,
Also jetzt mal eine vernünftige Fehlerbeschreibung!

1) Geht es überhaupt oder gar nicht?
2) Wenn Du die Sendewiederholungen erhöhst, geht es dann?
3) Wie sind die Räumlichkeiten? Entfernung IR Blaster zu Geräten? Sichtlinien?
4) Was ist Deine Vermutung?

Gruß Arnd


Gesendet von iPhone mit Tapatalk
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...