Vinnerliste
Populært innhold
Viser innholdet med mest poeng fra 08. feb. 2017 i alle områder
-
3 poeng
-
Testet akkurat nå, det fungerer hos meg, men kjører forsatt versjon .118 av pluginen. Her er testkoden jeg kjørte, en NodeMCU med en DHT11 sensor, du må evt bytte char* Version = "API1.0.0.118"; til din versjon og const byte BoardAdd = 4; til ditt Board i HS samt endre SendToHS(1, t); SendToHS(2, h); til riktige nr for deg /************************************************************ *Arduino to Homeseer 3 Plugin API written by Enigma Theatre.* * V1.0.0.118 * * * *******Change the values below only************************* */ //************Do not change anything in Here***************** #include <DHT.h> #include <OneWire.h> #include <DallasTemperature.h> #define ISIP 1 #include <EEPROM.h> #if ISIP == 1 #ifdef ESP8266 #include <ESP8266WiFi.h> #include <WiFiUdp.h> #else #include <SPI.h> #include <Ethernet.h> #include <EthernetUdp.h> #endif #endif const byte BoardAdd = 4; #include <Ethernet.h> #include <EthernetUdp.h> #include "DHT.h" #define DHTPIN 5 //D1 #define DHTTYPE DHT11 #define SLEEP_DELAY_IN_SECONDS 60 #if ISIP == 1 byte mac[] = {0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x04}; IPAddress ip(192,168,1,204); //IP entered In HS config. const unsigned int localPort = 8903; //port entered In HS config. IPAddress HomeseerIP(192,168,1,61); //Homeseer IP address IPAddress ServerIP(EEPROM.read(2),EEPROM.read(3),EEPROM.read(4),EEPROM.read(5)); IPAddress gateway(192,168,1,1); IPAddress subnet(255,255,255,0); byte EEpromVersion = EEPROM.read(250); //Nettwork details for ESP8266 char ssid[] = "DIN_SSID"; // your network SSID (name) char pass[] = "DITT_PW"; // your network password #endif //************Do not change anything in Here***************** int FromHS[10]; // * boolean IsConnected = false; // * #if ISIP == 1 // * char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; // * #ifdef ESP8266 WiFiUDP Udp; #else EthernetUDP Udp; #endif // * const unsigned int ServerPort = 8888; // * #endif // * #ifdef ESP8266 void resetFunc() { ESP.restart(); } #else void(* resetFunc) (void) = 0; #endif //*********************************************************** //int sensorPin = A0; // select the input pin for the potentiometer //int ledPin = 13; // select the pin for the LED //int sensorValue = 0; // variable to store the value coming from the sensor DHT dht(DHTPIN, DHTTYPE); void setup() { HSSetup(); //************************ //Add YOUR SETUP HERE; //************************ dht.begin(); } void loop() { #if ISIP == 1 IsUDP(); #endif //************************ //Add YOUR CODE HERE; //************************ /* To Send Data to Homeseer use SendToHS(Device,Value) Eg.. SendToHS(1,200); where 1 is the API device in homeseer and 200 is the value to send To Recieve data from Homeseer look up the FromHS array that is updated when the device value changes. Eg.. FromHS[5] would be the data from API Output device 5 All code that is located just below this block will execute regardless of connection status! You can include SendToHS() calls, however when there isn't an active connection, it will just return and continue. If you only want code to execute when HomeSeer is connected, put it inside the if statement below. */ /*Execute regardless of connection status*/ //sensorValue = analogRead(sensorPin); //digitalWrite(ledPin, HIGH); //delay(sensorValue); //digitalWrite(ledPin, LOW); // delay(sensorValue); //Serial.println(sensorValue, DEC); //Temp int t = dht.readTemperature(); int h = dht.readHumidity(); Serial.print("Temp"); Serial.print(t); Serial.print(" *C "); Serial.print("Fuktighet: "); Serial.print(h); Serial.print(" %Rh"); if (IsConnected == true) { /*Execute ONLY when HomeSeer is connected*/ SendToHS(1, t); SendToHS(2, h); delay(5000); // Serial.println("Entering deep sleep mode for 60 seconds..."); // ESP.deepSleep(SLEEP_DELAY_IN_SECONDS * 1000000, WAKE_RF_DEFAULT); //ESP.deepSleep(10 * 1000, WAKE_NO_RFCAL); //delay(500); // wait for deep sleep to happen } } char* Version = "API1.0.0.118"; byte Byte1,Byte2,Byte3; int Byte4,Byte5; void HSSetup() { #ifdef ESP8266 EEPROM.begin(256); #endif EEpromVersion = EEPROM.read(250); ServerIP = IPAddress(EEPROM.read(2), EEPROM.read(3), EEPROM.read(4), EEPROM.read(5)); #if ISIP == 1 if (EEpromVersion != 22) { ServerIP = HomeseerIP; EEPROM.write(2, ServerIP[0]); EEPROM.write(3, ServerIP[1]); EEPROM.write(4, ServerIP[2]); EEPROM.write(5, ServerIP[3]); EEPROM.write(250, 22); //Store the version where the eeprom data layout was last changed //EEPROM.commit();//kommenter vekk? EEpromVersion = 22; } #ifdef ESP8266 EEPROM.commit(); Serial.begin(115200); // We start by connecting to a WiFi network Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, pass); WiFi.config(ip, gateway, subnet); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); #else Ethernet.begin(mac, ip); #endif Udp.begin(localPort); Udp.setTimeout(0); delay(1000); SendConnect(); #else Serial.begin(115200); Serial.flush(); Serial.setTimeout(0); delay(1000); Serial.print("Connect "); Serial.println(BoardAdd); #endif IsConnected = false; } void SendConnect() { #if ISIP == 0 Serial.print("Connect "); Serial.println(BoardAdd); #else Udp.beginPacket(ServerIP, ServerPort); //First send a connect packet to the dynamic IP stored in eeprom Udp.print("Connect "); Udp.print(BoardAdd); Udp.endPacket(); if (ServerIP != HomeseerIP) { Udp.beginPacket(HomeseerIP, ServerPort); //Then if the stored value doesn't match the pre-specified one, send a connect packet there also Udp.print("Connect "); Udp.print(BoardAdd); Udp.endPacket(); } #endif } #if ISIP == 1 void IsUDP() { int packetSize = Udp.parsePacket(); if (packetSize) { //LastRcvIP = Udp.remoteIP(); IPAddress remote = Udp.remoteIP(); Byte1 = Udp.parseInt(); Udp.read(); Byte2 = Udp.read(); Byte3 = Udp.parseInt(); Byte4 = Udp.parseInt(); Byte5 = Udp.parseInt(); DataEvent(); } } #else void serialEvent() { while (Serial.available() > 0) { delay(17); Byte1 = Serial.parseInt(); Serial.read(); Byte2 = Serial.read(); Byte3 = Serial.parseInt(); Byte4 = Serial.parseInt(); Byte5 = Serial.parseInt(); DataEvent(); } } #endif /* Used Data Input Cases D Disconnect r reset K Keepalive O PinMode Output Set d Input debounce time set C Connect request c Connection established - report current status */ void DataEvent() { if (Byte1 == BoardAdd) { switch (Byte2) { case 'c': IsConnected = true; #if ISIP == 1 //if (LastRcvIP != ServerIP) { if (Udp.remoteIP() != ServerIP) { //ServerIP=LastRcvIP; ServerIP = Udp.remoteIP(); EEPROM.write(2, ServerIP[0]); EEPROM.write(3, ServerIP[1]); EEPROM.write(4, ServerIP[2]); EEPROM.write(5, ServerIP[3]); #ifdef ESP8266 EEPROM.commit(); #endif } #endif break; case 'C': #if ISIP == 1 //Udp.beginPacket(LastRcvIP, ServerPort); Udp.beginPacket(HomeseerIP, ServerPort); Udp.print("Version "); Udp.print(BoardAdd); Udp.print(" "); Udp.print(Version); Udp.println(" HS3"); Udp.endPacket(); //Udp.beginPacket(LastRcvIP, ServerPort); Udp.beginPacket(HomeseerIP, ServerPort); delay(100); Udp.print("Connected "); Udp.println(BoardAdd); Udp.endPacket(); #else Serial.print("Version "); Serial.print(BoardAdd); Serial.print(" "); Serial.print(Version); Serial.println(" HS3"); delay(100); Serial.print("Connected "); Serial.println(BoardAdd); #endif delay(100); IsConnected = false; break; case 'K': delay(200); #if ISIP == 1 //Udp.beginPacket(LastRcvIP, ServerPort); Udp.beginPacket(HomeseerIP, ServerPort); Udp.print("Alive "); Udp.println(BoardAdd); Udp.endPacket(); if (Udp.remoteIP() != ServerIP) { ServerIP = Udp.remoteIP(); EEPROM.write(2, ServerIP[0]); EEPROM.write(3, ServerIP[1]); EEPROM.write(4, ServerIP[2]); EEPROM.write(5, ServerIP[3]); #ifdef ESP8266 EEPROM.commit(); #endif } #else Serial.print("Alive "); Serial.println(BoardAdd); #endif break; case 'r': delay(200); resetFunc(); //call reset break; case 'O': FromHS[Byte3] = Byte4; break; case 'D': IsConnected = false; break; } } } void SendToHS(byte Device, long Data) { if (IsConnected == true) { #if ISIP == 1 //Udp.beginPacket(LastRcvIP, ServerPort); Udp.beginPacket(HomeseerIP, ServerPort); Udp.print(BoardAdd); Udp.print(" API "); Udp.print(Device); Udp.print(" "); Udp.print(Data); Udp.endPacket(); #else Serial.print(BoardAdd); Serial.print(" API "); Serial.print(Device); Serial.print(" "); Serial.println(Data); #endif } } void SendToHS(byte Device, int Data) { if (IsConnected == true) { #if ISIP == 1 //Udp.beginPacket(LastRcvIP, ServerPort); Udp.beginPacket(HomeseerIP, ServerPort); Udp.print(BoardAdd); Udp.print(" API "); Udp.print(Device); Udp.print(" "); Udp.print(Data); Udp.endPacket(); #else Serial.print(BoardAdd); Serial.print(" API "); Serial.print(Device); Serial.print(" "); Serial.println(Data); #endif } }2 poeng
-
Det kan jo fort bli billigere å ha dem minste utgaven av fibaro sin sentral liggende kun for oppgradering av firmware2 poeng
-
Kjøpte noen slike plugger uten å være klar over denne problemstillingen. På den første pluggen jeg aktiverte er problemet i alle fall tydelig til stede og ser ut til å arte seg slik at dersom forbruk faller under en eller annen verdi så rapporterer pluggen at den er "off" til tross for at den fysisk sett er "on". Jeg koblet den tll en panelovn på 750W som har en intern termostat, for å teste. Når termostaten slår av varmeelementet, så slår devicen i HS seg til "Off". Når termostaten slår på igjen varmeelementet så kommer devicen på igjen i HS. Men fysisk sett er pluggen PÅ hele tiden. Jeg kan faktisk konsekevent "slå av og på" devicen i HS ved å flytte temperaturinnstillingen på ovnen opp og ned slik at varmeelementet slår ut og inn. Jeg lot pluggen stå i noen timer og da var loggen i HS full av av- og på-meldinger fra pluggen. Det ser ikke ut til at det gjør noen forskjell hvorvidt pluggen er innstilt til å regne eget forbruk som en del av last eller ikke, den oppfører seg likt uansett. I mitt tilfelle så ligger registrert forbruk på rundt 3W når termostaten på panelovenen har slått av varmeelementet. Jeg antar at det er summen av pluggens eget forbruk pluss forbruket til termostaten på ovenen. Så forbruket trenger tydeligvis ikke falle helt til null før den rapporterer "off". Neste punkt er kanskje å finne ut hva som er er "innslagspunktet" for Watt for når den rapporterer seg selv som "off". Dette kan vel ikke betegnes som noe annet enn en feil i produktet. Men usikker på om jeg skal ta bryet med å returnere pluggene. Til en del typer bruk har denne oppførselen ingen ting å si (så lenge det ikke er andre problemer knyttet til dette som jeg ikke har sett), men til andre typer bruk (slik som panelovnen) er denne pluggen ubrukelig, da man ikke kan stole på status i HS. Har akkurat starta opp med hjemmeautomasjon og Homeseer, og erfaringen så langt er at dette tar mye tid. Slike "mysterier" som dette er utrolig frustrerende og tidkrevende.....2 poeng
-
Når man bor langt sør i landet er det sjeldent jeg får med meg de få gangene det faktisk er Nordlys som strekker seg helt ned hit. Så jeg har endelig fått nordlysvarsel i Domoticz Så nå skal jeg sette opp ett event som sjekker KP-indexen (som må være minimum 4-5 for å kunne se det i Kristiansand) og om det er skyfritt ute så jeg får varsel om det er på tide å komme seg ut.2 poeng
-
I dag fikk jeg endelig testet Verisure-bindingen mot Z-Way. Koden kommer nok på GitHub når jeg får pusset den litt. Den støtter seg på PHP-biblioteket mot Verisure som jeg også holder på å lage. Nå kan jeg styre følgende funksjoner til Verisure-alarmen fra Z-Way: - Slå av /på alarmen (Frakoble/Helsikring/Delsikring) - Låse/Låse opp Yale Doorman - Slå av/på Smart Plug - Lese temperatur og fuktighet fra alle sensorer (Brannvarslere/Vanndetekorer) I tillegg har jeg opprettet to virtuelle enheter for Helsikring og Delsikring som kan brukes i Eventer for å trigge hva som skal skje når man er hjemme med alarm på eller borte med alarm på. Med tanke på sikkerhet må man vite litt om hva man holder på med før man begir seg ut på dette prosjektet.1 poeng
-
Takk, dette var kult, men siden jeg kjører Domoticz i Windows, så måtte jeg finne en annen måte å få det jevnlig oppdatert. I tillegg måtte jeg tilpasse koden litt for å kjøre på min installerte Python 2.7 (som trenger urllib2 eller noe). Vet ikke om det er aktuelt for noen, men hiver ut koden for moro skyld: For å få det jevnlig kjørt lagde jeg et LUA-script med denne koden (kode knabbet fra https://www.domoticz.com/forum/viewtopic.php?t=8979#p62544 ): La det inn til å kjøre hvert minutt bare for testingens skyld. Windows er stilt inn til å kjøre .pyw-filer (Python-script uten popup-vindu).1 poeng
-
Jeg skal ta et bilde av anlegget mitt ved anledning. Det høres ut som noe lignende det med de trådløse førerne. xComfort er de nok forhandlere av og får god provisjon på, så det kan være en grunn til at de ikke ønsker å selge noe annet. Det er en lukket protokoll og komponentene koster som regel minst det dobbelte av Z-wave komponenter av god kvalitet. Z-wave er en åpen protokoll med mange produsenter og bredt utvalg. Det som må inngå i et fullstendig oppsett er motorventiler, temperatur sensorer og en termostat som takler alle kursene.1 poeng
-
Så på Fibaro sine produkter kan man altså ikke oppgradere firmware uten deres sentral? Greit å vite, lærer noe nytt hver dag......1 poeng
-
Nei, man må jo levere produktet tilbake som "ubrukelig" og kreve pengene igjen. Gi beskjed med lommeboka!1 poeng
-
Problemet er at vi ikke får tilgang til eventuell oppdatering, hvis man ikke kjøre fibaro sin sentral..håpløst [emoji57]1 poeng
-
tja, å få tilgang til nettbanken hadde vært enda bedre, egen måler for saldo osv, men det er vel å håpe litt for mye.1 poeng
-
1 poeng
-
Jeg kjøper bønner hos Kaffehuset i Stavanger, men hvis det ikke er nøye for deg så har Evergood OK bønner.1 poeng
-
Liten rettelse på path Shortcut står til Target: C:\Program Files (x86)\HomeSeer HS3\HS3.exe Start in: C:\Program Files (x86)\HomeSeer HS3\ Task Scheduler: Action start program C:\Program Files (x86)\HomeSeer HS3\HS3.exe" Her fant jeg opsjonen Run in som var blank. Så den ble rettet og lagt inn C:\Program Files (x86)\HomeSeer HS3\ og da funker det helt fint. Så da er det vell bare nedgraderer til 2.3 igjen for å få pin i gang igjen Ja som du sa @Moskus1 poeng
-
Jeg har motoriserte ventiler fra Wirsbo. Du kan også bruke de fra Uponor. Kanskje Danfoss også har noen, uten at jeg kjenner til det. Det ser litt slik ut ferdig montert: https://www.billigvvs.no/Varmesystemer-Gulvvarme-Uponor--Uponor-Smatrix-Wave-PLUS-Komplett-Traadloes-Gulvvarmestyring-inkl-Pumpe-2-kurser-727964.html Motorventil: https://www.billigvvs.no/Varmesystemer-Gulvvarme-Uponor--Wirsbo-telestat-24V-2-watt-m-1-meter-ledning-189076.html Slik ser selve ventilen ut: https://www.billigvvs.no/Varmesystemer-Gulvvarme-Uponor--Wirsbo-ventilinnsats-til-WGF-fordeler-765395.html Du åpner og lukker ventilen ved å dytte på den pinnen. Jeg har tilhørende styringssystem/termostat som heter Wirsbo Genius som styrer mine 8 kurser. Systemet har 8 trådløse temp.følere med temp.innstilling for å styre temperaturen individuelt per rom. Dette er helt frikoblet fra noe som helst smarthus-funksjonalitet. Jeg kommer nok til å bytte ut Genius til fordel for Mutilreg Z-water når det kommer ut. Vil komme til å behøve nye temp.følere, så det vil jo koste litt. Har du vannbåren varme i gulvet i dag? Hvordan styrer du dette?1 poeng
-
HS3 installeres ikke som en service... ? Hvis du bruker Task Scheduler, må du sette opp banen til katalogen til f.eks. "c:\program files (x86)\homeseer hs3\" (uten hermetegn). Det gjør du i tasken sin "Action". Her et et skjermbilde fra min (som kjører en SyncToy task, men prinsippet er det samme), fyll inn feltet i rød sirkel: Pass også på at task'en kjører som din bruker og ikke "SYSTEM".1 poeng
-
Det var det jeg og @Moskusmistenkte. den starter exe-filen, men kjører den i feil mappe. Du må dette "kjør i mappe", eller lignende, til mappa til HS3. Det er forskjell på path til programmet som skal kjøres og mappen den skal stå i når den kjører filen. Mener @lilfirehar bekreftet at det også er en bug. At han har "låst" den til 4 tegn i plugin, men at det også skal bli fikset i neste versjon.1 poeng
-
1 poeng
-
(Minner om tipset med å velge tekst i innlegget du vil sitere, høyreklikke og velg "Siter dette")1 poeng
Vinnerlisten er satt til Oslo/GMT+01:00