Welcome to Smart Home Forum by FIBARO
Dear Guest,
as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.
As a member you can:
- Start new topics and reply to others
- Follow topics and users to get email updates
- Get your own profile page and make new friends
- Send personal messages
- ... and learn a lot about our system!
Regards,
Smart Home Forum by FIBARO Team
Search the Community
Showing results for tags 'arduino'.
-
I am looking for a propane gas detector. The only z-wave version I have found, is the one by eDomotica.com, but they seem to be going out of business. An alternative would be to buy a stand-alone gas detector/alarm, and connect some output signal to a Fibaro Universal Binary Sensor. A third possibility is to build one from scratch, buying individual components for the sensor, the control and the z-wave module.This link, using Arduino, could be a start. Please note that most combustible gas detectors cover natural gas (methane) as well as LPG (propane/butane), but CO detectors are different. Any thoughts (or better yet: experience) on any of these alternatives?
-
Hello Im trying to collect data from my WEMOS D1 that read´s the temperature of my fridge and freezer. I have a simple webpage showing the temperature of the devices but can´t figure out how to read the data and use it to update a QA label I think I should be able to somehow just get the data of the three float tempSensor1, 2 and 3? What the HTML page look like: Webbserver part of the arduino code: //Webserver String SendHTML(float tempSensor1, float tempSensor2, float tempSensor3) { String ptr = "<!DOCTYPE html> <html>\n"; ptr += "<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\">\n"; ptr += "<title>Temperature Monitor</title>\n"; ptr += "<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}\n"; ptr += "body{margin-top: 50px;} h1 {color: #444444;margin: 50px auto 30px;}\n"; ptr += "p {font-size: 24px;color: #444444;margin-bottom: 10px;}\n"; ptr += "</style>\n"; ptr += "<script>\n"; ptr += "setInterval(loadDoc,1000);\n"; ptr += "function loadDoc() {\n"; ptr += "var xhttp = new XMLHttpRequest();\n"; ptr += "xhttp.onreadystatechange = function() {\n"; ptr += "if (this.readyState == 4 && this.status == 200) {\n"; ptr += "document.body.innerHTML =this.responseText}\n"; ptr += "};\n"; ptr += "xhttp.open(\"GET\", \"/\", true);\n"; ptr += "xhttp.send();\n"; ptr += "}\n"; ptr += "</script>\n"; ptr += "</head>\n"; ptr += "<body>\n"; ptr += "<div id=\"webpage\">\n"; ptr += "<h1>Temperature Monitor</h1>\n"; ptr += "<p>Frysbox: "; ptr += tempSensor1; ptr += "°C</p>"; ptr += "<p>Kyl: "; ptr += tempSensor2; ptr += "°C</p>"; ptr += "<p>Sval: "; ptr += tempSensor3; ptr += "°C</p>"; ptr += "</div>\n"; ptr += "</body>\n"; ptr += "</html>\n"; return ptr;
-
Hi there, I'm building a Nextion touchscreen with a arduino ESP8266 chip. I already can start scene's from the display. I'm now struggeling with a way to communicate back. Is there someone who can tell me how to send value's from a variable in Fibaro HC2 to the arduino ESPchip? I created a webserver running on the arduino and can make different actions on it i.e. /ledon runs a led on script on the arduino. But this way i need to make a different script for every single action/value of a variable. undoable when I want to send temp or lux to the arduino. Is there a way, so yes how, to send the value of a global variable in fibaro HC2 to a global variable in the arduino. Cheers, Damien
-
I need some help with json decoding. I'm succesfully got the data in HC2 from Rasspery/Pyton but I'm not able to decode that data in HC2. Any advice, please?! --starting LUA code here local smartmeter= Net.FHttp('192.168.1.10'); response = smartmeter:GET("/index.py") fibaro:debug('Answer: ' ..response) --this is the data response coming from Rasppery/Pyton: {"Amp": 13.29, "Volt": 98.01} if (tonumber(status)==200 and tonumber(errorCode)==0) and response~=nil then fibaro:debug('Decoding...') local harduino = json.decode(response) fibaro:debug('Decode: ', harduino) fibaro:debug('Or decode: ', harduino.Volt) else fibaro:debug('Not able to decode!') -- this is the executed code end --end LUA code here
-
Somebody noticed this arduino based z-wave board? I just ordered one for testing.... http://z-uno.z-wave.me/z-wave/interoperability-with-z-wave-controllers/
-
How to control Arduino nano from a VIrtual Device button?
Guest posted a question in Scenes and Interface
How do I make a Virtual device with a button what can switch the following command to an arduino nano: http://10.0.1.10/?ArduinoPIN1=on or http://10.0.1.10/?ArduinoPIN1=off I programmend the arduino like: /* ----------------------- VCC - 3.3V GND - GND SCK - Pin 13 SO - Pin 12 SI - Pin 11 CS - Pin 8 ------------------ */ #include <EtherCard.h> // MAC Address static byte mymac[] = { 0xFA,0x5A,0x51,0x53,0x5A,0x5A }; // ip static byte myip[] = { 10,0,1,190 }; byte Ethernet::buffer[900]; BufferFiller bfill; int LedPins[] = { 2,3,4,5}; boolean PinStatus[] = { 1,2,3,4}; //------------- const char http_OK[] PROGMEM = "HTTP/1.0 200 OK\r\n" "Content-Type: text/html\r\n" "Pragma: no-cache\r\n\r\n"; const char http_Found[] PROGMEM = "HTTP/1.0 302 Found\r\n" "Location: /\r\n\r\n"; const char http_Unauthorized[] PROGMEM = "HTTP/1.0 401 Unauthorized\r\n" "Content-Type: text/html\r\n\r\n" "<h1>401 Unauthorized</h1>"; //------------ void homePage() { bfill.emit_p(PSTR("$F" "<title>ArduinoPIN Webserver</title>" "Relay 1: <a href=\"?ArduinoPIN1=$F\">$F</a><br />" "Relay 2: <a href=\"?ArduinoPIN2=$F\">$F</a><br />" "Relay 3: <a href=\"?ArduinoPIN3=$F\">$F</a><br />" "Relay 4: <a href=\"?ArduinoPIN4=$F\">$F</a>"), http_OK, PinStatus[1]?PSTR("off"):PSTR("on"), PinStatus[1]?PSTR("<font color=\"green\"><b>ON</b></font>"):PSTR("<font color=\"red\">OFF</font>"), PinStatus[2]?PSTR("off"):PSTR("on"), PinStatus[2]?PSTR("<font color=\"green\"><b>ON</b></font>"):PSTR("<font color=\"red\">OFF</font>"), PinStatus[3]?PSTR("off"):PSTR("on"), PinStatus[3]?PSTR("<font color=\"green\"><b>ON</b></font>"):PSTR("<font color=\"red\">OFF</font>"), PinStatus[4]?PSTR("off"):PSTR("on"), PinStatus[4]?PSTR("<font color=\"green\"><b>ON</b></font>"):PSTR("<font color=\"red\">OFF</font>")); } //------------------------ void setup() { Serial.begin(9600); // "ethercard" (CS-pin) = 8 // if (ether.begin(sizeof Ethernet::buffer, mymac) == 0). // "ethercard" (CS-pin) = 10 // if (ether.begin(sizeof Ethernet::buffer, mymac, 10) == 0). if (ether.begin(sizeof Ethernet::buffer, mymac, 10) == 0); if (!ether.dhcpSetup()); ether.printIp("My Router IP: ", ether.myip); //ether.staticSetup(myip); ether.printIp("My SET IP: ", ether.myip); //----- for(int i = 0; i <= 4; i++) { pinMode(LedPins,OUTPUT); digitalWrite (LedPins,HIGH); PinStatus=false; } } // -------------------------------------- void loop() { delay(1); word len = ether.packetReceive(); // check for ethernet packet word pos = ether.packetLoop(len); // check for tcp packet if (pos) { bfill = ether.tcpOffset(); char *data = (char *) Ethernet::buffer + pos; if (strncmp("GET /", data, 5) != 0) { bfill.emit_p(http_Unauthorized); } else { data += 5; if (data[0] == ' ') { homePage(); // Return home page for (int i = 0; i <= 3; i++)digitalWrite(LedPins,!PinStatus[i+1]); } // "16" = "?ArduinoPIN1=on ". else if (strncmp("?ArduinoPIN1=on ", data, 16) == 0) { PinStatus[1] = true; bfill.emit_p(http_Found); } else if (strncmp("?ArduinoPIN2=on ", data, 16) == 0) { PinStatus[2] = true; bfill.emit_p(http_Found); } else if (strncmp("?ArduinoPIN3=on ", data, 16) == 0) { PinStatus[3] = true; bfill.emit_p(http_Found); } else if (strncmp("?ArduinoPIN4=on ", data, 16) == 0) { PinStatus[4] = true; bfill.emit_p(http_Found); } //------------------------------------------------------ else if (strncmp("?ArduinoPIN1=off ", data, 17) == 0) { PinStatus[1] = false; bfill.emit_p(http_Found); } else if (strncmp("?ArduinoPIN2=off ", data, 17) == 0) { PinStatus[2] = false; bfill.emit_p(http_Found); } else if (strncmp("?ArduinoPIN3=off ", data, 17) == 0) { PinStatus[3] = false; bfill.emit_p(http_Found); } else if (strncmp("?ArduinoPIN4=off ", data, 17) == 0) { PinStatus[4] = false; bfill.emit_p(http_Found); } //--------------------------- else { // Page not found bfill.emit_p(http_Unauthorized); } } ether.httpServerReply(bfill.position()); // send http response } }