
Christoffer
Medlemmer-
Innlegg
363 -
Ble med
-
Besøkte siden sist
-
Dager vunnet
7
Innholdstype
Profiler
Forum
Blogger
Nedlastninger
Artikler
Regler
Hendelser
Galleri
Store
Alt skrevet av Christoffer
-
Den er koblet til en 16A kurs og alle kontaktsettene må komme fra samme kurs ettersom L kontaktene på den er koblet sammen internt.
-
Nei, de erstatter ikke sikringer. De brukes etter sikringer, men pass på feks 4pro pm så må alle kontaktsettene ha forsyning fra samme kurs da L punktet er koblet sammen internt.
-
Ja, de står rett på Din-skinnen. Men har også tenkte å montere en i en egen kapsling i en bod jeg har.
-
Mogeleg løysing for av/på og overvaking av 3-fas last via Z-Wave
Christoffer svarte på Garegaupa sitt emne i Z-Wave
Ifølge manualen så er det kun tilkoblinger for N, L og GND på den europeiske versjonen. Er lastene også 3 fase? -
SCRIPT: Hvordan hente en verdi fra en device inn i en event?
Christoffer svarte på ThomasBK sitt emne i Scripts
Det letteste er å anskaffe seg Easy trigger pluginen, den kan gjøre denne operasjonen uten script. Ellers må du lage et script som kjører den sjekken du kjører der og så setter en binær virtuell device som sier temp over eller temp under og så bruker du det i eventet ditt.- 1 svar
-
- 1
-
-
I teorien så kan du koble disse to lederene som skal kortsluttes til OUT1 på Fibaro Smart Implant men du må sjekke hvilken spenning det er. Maks spenning er 30VDC eller 20VAC
-
Bruker 2 stk 4pm Pro og de virker akkurat slik de skal. Jeg bruker for øyeblikket WiFi og MQTT og skyløsningen deres og alt virker sammen. På de enklere utgavene finnes det alternative fw også, men har ikke funnet slike til de som heter pro.
-
arduino Fersk på Arduino, trenger et lite tips
Christoffer svarte på bjwanvik sitt emne i Mikrokontrollere
// ArduinoMqttClient - Version: Latest #include <ArduinoMqttClient.h> #include <WiFiNINA.h> #include <ArduinoMqttClient.h> ///////please enter your sensitive data in the Secret tab/arduino_secrets.h char ssid[] = SECRET_SSID; // your network SSID (name) char pass[] = SECRET_PASS; // your network password (use for WPA, or use as key for WEP) int status = WL_IDLE_STATUS; // the Wifi radio's status // ---------------------------------------------------------------- // // Arduino Ultrasoninc Sensor HC-SR04 // Re-writed by Arbi Abdul Jabbaar // Using Arduino IDE 1.8.7 // Using HC-SR04 Module // Tested on 17 September 2019 // ---------------------------------------------------------------- // #define echoPin 2 // attach pin D2 Arduino to pin Echo of HC-SR04 #define trigPin 3 //attach pin D3 Arduino to pin Trig of HC-SR04 // defines variables long duration; // variable for the duration of sound wave travel int distance; // variable for the distance measurement WiFiClient wifiClient; MqttClient mqttClient(wifiClient); const char broker[] = "ip"; int port = port; const char topic[] = "avstand_i_garasje"; //const char topic2[] = "real_unique_topic_2"; //const char topic3[] = "real_unique_topic_3"; //set interval for sending messages (milliseconds) const long interval = 8000; unsigned long previousMillis = 0; int count = 0; void setup() { //Initialize serial and wait for port to open: // Serial.begin(9600); // while (!Serial); // attempt to connect to Wifi network: while (status != WL_CONNECTED) { Serial.print("Attempting to connect to network: "); Serial.println(ssid); // Connect to WPA/WPA2 network: status = WiFi.begin(ssid, pass); // wait 10 seconds for connection: delay(10000); } // you're connected now, so print out the data: Serial.println("You're connected to the network"); Serial.println("----------------------------------------"); printData(); Serial.println("----------------------------------------"); pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT Serial.begin(9600); // // Serial Communication is starting with 9600 of baudrate speed Serial.println("Ultrasonic Sensor HC-SR04 Test"); // print some text in Serial Monitor Serial.println("with Arduino UNO R3"); Serial.print("Attempting to connect to the MQTT broker: "); Serial.println(broker); if (!mqttClient.connect(broker, port)) { Serial.print("MQTT connection failed! Error code = "); Serial.println(mqttClient.connectError()); while (1); } Serial.println("You're connected to the MQTT broker!"); Serial.println(); } void loop() { // check the network connection once every 10 seconds: while (status != WL_CONNECTED) { Serial.print("Attempting to connect to network: "); Serial.println(ssid); // Connect to WPA/WPA2 network: status = WiFi.begin(ssid, pass); delay(5000); if (!mqttClient.connected()) { Serial.println("mqtt client not connected"); // mqttClient.connect(broker, port); delay(5000); } delay(1000); printData(); Serial.println("----------------------------------------"); // wait 10 seconds for connection: delay(10000); // Clears the trigPin condition digitalWrite(trigPin, LOW); delayMicroseconds(2); // Sets the trigPin HIGH (ACTIVE) for 10 microseconds digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // Reads the echoPin, returns the sound wave travel time in microseconds duration = pulseIn(echoPin, HIGH); // Calculating the distance distance = duration * 0.034 / 2; // Speed of sound wave divided by 2 (go and back) // Displays the distance on the Serial Monitor Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm"); } void printData() { /* Serial.println("Board Information:"); // print your board's IP address: IPAddress ip = WiFi.localIP(); Serial.print("IP Address: "); Serial.println(ip); Serial.println(); Serial.println("Network Information:"); Serial.print("SSID: "); Serial.println(WiFi.SSID()); // print the received signal strength: long rssi = WiFi.RSSI(); Serial.print("signal strength (RSSI):"); Serial.println(rssi); byte encryption = WiFi.encryptionType(); Serial.print("Encryption Type:"); Serial.println(encryption, HEX); Serial.println(); */ // call poll() regularly to allow the library to send MQTT keep alive which // avoids being disconnected by the broker mqttClient.poll(); unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= interval) { // save the last time a message was sent previousMillis = currentMillis; //record random value from A0, A1 and A2 int Rvalue = (distance) ;//analogRead(A0); // int Rvalue2 = analogRead(A1); // int Rvalue3 = analogRead(A2); Serial.print("Sending message to topic: "); Serial.println(topic); Serial.println(Rvalue); mqttClient.beginMessage(topic); mqttClient.print(Rvalue); mqttClient.endMessage(); Serial.println(); } } /* void connectMQTTClientIfNeeded() { if (!mqttClient.connected()) { Serial.println("mqtt client not connected"); // mqttClient.connect(broker, port); } // // tasks.after(30000, connectMQTTClientIfNeeded); // after 30 seconds call connectMQTTClientIfNeeded() again } */ (Så skal jeg naturligvis rydde opp litt i koden når jeg har fått det til å virke som jeg vil. Får skylde på at jeg er litt i tåka etter Corona... Hei, kopierte linjene fra void setup(): while (status != WL_CONNECTED) { Serial.print("Attempting to connect to network: "); Serial.println(ssid); // Connect to WPA/WPA2 network: status = WiFi.begin(ssid, pass); delay(5000); ) if (!mqttClient.connected()) { Serial.println("mqtt client not connected"); // mqttClient.connect(broker, port); delay(5000); } Der sjekkes det om WiFi er koblet til og det blir ikke gjort noe i koden før du har tilkobling til WiFi. Det sjekkes så om MQTT er koblet og hvis det ikke er det så kobles det til igjen. Denne kan kanskje legges i en While loop slik at den ikke går videre før MQTT er koblet til igjen. Dette er ikke en god løsning hvis det skal styres noe lokalt feks uavhengig av WiFi og MQTT, men i dette tilfellet går det greit- 3 svar
-
- 1
-
-
Styring av "dum" skapmontert termostat
Christoffer svarte på hobbybonden sitt emne i Strømsparing og strøm-overvåkning
Jeg hadde byttet den ut med en heatit. Hvor jeg hadde plassert den kommer an på hvordan det ser ut hos deg. Muligens lurt den inn i en multiboks på siden av sikringsskapet. -
Jeg har løst det ved å bruke en annen virtuell enhet som jeg kaller for "x - forrige". I eventet så trigger jeg på den faktiske sensoren og sammenligner med "x - forrige". Og under actions bruker jeg Easy Trigger pluginen til å sette "x - forrige" til det sensoren nå er.
- 1 svar
-
- 1
-
-
Hei. Link til Github Hardware brukt: Flexit CI66 Usr-Tcp232-410S Da jeg har flyttet inn i ny bolig med flexit og jeg ville styre dette via HS4 så har jeg laget et script i python som leser dataene som er satt opp i en separat fil via en modbusRTU/TCP konverter og sender det ut på MQTT. Det kan også motta kommander for å skrive, foreløpig kun til holding registers. Hvilke som kan skrives til defineres i konfigurasjonsfilen, da har man litt ekstra sikkerhet tilfelle noe galt skulle skje. Grunnen til at jeg har gjort det slik er at det krever minimalt med oppsett i toppsystemet. Feks i HS4 og mcsMQTT så oppdager den alle topicene selv og det er bare å trykke legg til, det kan i prinsippet gjøre at alle toppsystemer som støtter MQTT kan nå lese og skrive til modbus. I scriptet er den en variabel som må endres og det er "config_file" som for øyeblikket ligger på linje 12. Den skal være til configfilen som er aktiv. MQTT topic blir som følger "basetopic/{holding_registers/input_registers}/{register nummer}/{register navn}/s" den siste "s" er for "status" når det skal skrives til modbus endres denne til "c". MQTT settings er ganske selvforklarende Modbus settings: server_adress: Adressen til modbusTCP serveren/konverteren server_port: Porten som er brukt for tilkobling på serveren unit_id: Normalt er den 1 men kommer til an på implementasjonen av modbus på serversiden read_delay: Hvor lenge den venter mellom hver gang det leses oppgitt i 1/100. 50 = 500ms = 2Hz Holding og input register: "holding_registers":{ "0":{ Register nummer "name":"Supply_Air_Speed_1", Navn som brukes i MQTT topic "writeable":"True", True = kan skrives til fra MQTT, brukes kun i holding registers. Scriptet vil kun subscribe til topics hvor denne er "True" "size":"16", 16 = 16 bit = 1 register & 32 = 32 bit = 2 register "unit":"%", Foreløpig ikke brukt til noe "scaling":"1", Skalering. Verdien vil multipliseres med denne verdien før den sendes på MQTT. Og motsatt når den blir sendt fra MQTT til modbus "signed":"True" Om verdien er en "int" = True, uint = "False" }, Ting som foreløpig mangler: - Kunne skrive 32bit verdier og dele disse opp til 16bit og skrive til hvert register - Lese Discrete inputs - Lese coils - Skrive coils Hvordan det ser ut i HS4 hos meg: Eksempel konfig for flexit CI66 { "mqtt_settings":{ "server_adress":"adress", "server_port":"1883", "server_user":"username", "server_password":"password", "basetopic":"82/ventilasjon/" }, "modbus_settings":{ "server_adress":"adress", "server_port":"26", "unit_id":"1", "read_delay":"50" }, "unit_details":{ "type":"Flexit_CI66", "name":"ventilasjon" }, "holding_registers":{ "0":{ "name":"Supply_Air_Speed_1", "writeable":"True", "size":"16", "unit":"%", "scaling":"1", "signed":"True" }, "1":{ "name":"Supply_Air_Speed_2", "writeable":"True", "size":"16", "unit":"%", "scaling":"1", "signed":"True" }, "2":{ "name":"Supply_Air_Speed_3", "writeable":"True", "size":"16", "unit":"%", "scaling":"1", "signed":"True" }, "3":{ "name":"Supply_Air_Speed_4", "writeable":"True", "size":"16", "scaling":"1", "signed":"True" }, "4":{ "name":"Extract_Air_Speed_1", "writeable":"True", "size":"16", "unit":"%", "scaling":"1", "signed":"True" }, "5":{ "name":"Extract_Air_Speed_2", "writeable":"True", "size":"16", "unit":"%", "scaling":"1", "signed":"True" }, "6":{ "name":"Extract_Air_Speed_3", "writeable":"True", "size":"16", "unit":"%", "scaling":"1", "signed":"True" }, "7":{ "name":"Extract_Air_Speed_4", "writeable":"True", "size":"16", "scaling":"1", "signed":"True" }, "8":{ "name":"Set_Air_Temperature", "writeable":"True", "size":"16", "unit":"°C", "scaling":"10", "signed":"True" }, "9":{ "name":"Supply_Air_Min_Temp", "writeable":"True", "size":"16", "unit":"°C", "scaling":"10", "signed":"True" }, "10":{ "name":"Supply_Air_Max_Temp", "writeable":"True", "size":"16", "unit":"°C", "scaling":"10", "signed":"True" }, "11":{ "name":"Cooling_Outdoor_Air_Min_temp", "writeable":"True", "size":"16", "unit":"°C", "scaling":"10", "signed":"True" }, "12":{ "name":"Forced_Vent_Speed", "writeable":"True", "size":"16", "scaling":"1", "signed":"True" }, "13":{ "name":"Forced Vent_Time", "writeable":"True", "size":"16", "unit":"min", "scaling":"1", "signed":"True" }, "14":{ "name":"Air_Regulation_Type", "writeable":"True", "size":"16", "unit":"bool", "scaling":"1", "signed":"True" }, "15":{ "name":"Cooling_Active", "writeable":"True", "size":"16", "unit":"bool", "scaling":"1", "signed":"True" }, "16":{ "name":"Forced_Ventilation", "writeable":"True", "size":"16", "unit":"bool", "scaling":"1", "signed":"True" }, "17":{ "name":"Set_Air_Speed", "writeable":"True", "size":"16", "scaling":"1", "signed":"True" }, "18":{ "name":"Time", "writeable":"False", "size":"32", "unit":"s", "scaling":"1", "signed":"False" }, "21":{ "name":"Fire_Smoke_Mode", "writeable":"True", "size":"16", "scaling":"1", "signed":"True" } }, "input_registers":{ "6":{ "name":"Time_1", "writeable":"False", "size":"32", "signed":"False" }, "8":{ "name":"Filter_Time", "writeable":"False", "size":"16", "signed":"False" }, "9":{ "name":"Supply_Air_temp", "writeable":"False", "size":"16", "unit":"°C", "scaling":"10", "signed":"True" }, "10":{ "name":"Extract_Air_temp", "writeable":"False", "size":"16", "unit":"°C", "scaling":"10", "signed":"True" }, "11":{ "name":"Outdoor_Air_temp", "writeable":"False", "size":"16", "unit":"°C", "scaling":"10", "signed":"True" }, "14":{ "name":"Heat_Exchanger", "writeable":"False", "size":"16", "unit":"%", "signed":"False" }, "17":{ "name":"Operational_Time", "writeable":"False", "size":"16", "unit":"%", "signed":"False" }, "26":{ "name":"Rotor_Alarm", "writeable":"False", "size":"16", "signed":"False" }, "27":{ "name":"Filter_Alarm", "writeable":"False", "size":"16", "signed":"False" }, "28":{ "name":"Heating_Active", "writeable":"False", "size":"16", "signed":"False" }, "32":{ "name":"Speed_1_counter", "writeable":"False", "size":"32", "signed":"False" }, "34":{ "name":"Speed_2_counter", "writeable":"False", "size":"32", "signed":"False" }, "36":{ "name":"Speed_3_counter", "writeable":"False", "size":"32", "signed":"False" }, "42":{ "name":"Total_run_counter", "writeable":"False", "size":"32", "signed":"False" }, "47":{ "name":"Actual_set_air_temperature", "writeable":"False", "size":"16", "scaling":"10", "signed":"True" }, "48":{ "name":"Actual_set_air_speed", "writeable":"False", "size":"16", "signed":"True" } } }
-
Du kan bytte trafoen til en som er SELV eller PELV godkjent så lenge det speilet er utenfor sone 2. Problem nr 2 for deg er at du ikke kan sette den dimmeren foran stikkontakten.
-
Ved AC lading sender ladeboksen et PWM signal for å informere om begrensingen og så må bilens ombordlader justere seg deretter. Tilbake blir spenningsnivået på denne pinnen satt av bilen i 3V inkrementer for å informere om et par forskjellige statuser. Er også en form for SWCAN men den har jeg ikke ide om hvordan virker.
-
Kobling av Fibaro Single Switch 2 til varmtvannsbereder.
Christoffer svarte på Mox sitt emne i Annen Elektronikk
Hvor mange W er VVB på? Denne enheten takler bare 1840W. Brun skal via switchen og blå må gå i parallel til både switch og vvb. -
Hei Bruker du seriell modbus eller over TCP?
-
Siden det er er bad og døren stortsett er lukket kan du se om dette funker. Eksempel med homeseer uttrykk. Når døren lukkes så starter en timer som teller opp. Når den timeren når samme tid +5 (denne kan tilpasses litt etter hvordan ting virker) sekunder som PIRen har aktivert tilstand før den går tilbake til no-motion uten bevegelse. Hvis PIRen er aktivert så er det folk på rommet. Hvis PIRen ikke er aktivert så er det ikke folk på rommet. Og så hvis døren feks er åpen så er det status rett fra PIRen som styrer statusen. Fordelen med dette er at det bare tiden fra noen går ut til PIRen har tatt sin interne nedtelling til det er ledig og alt etter hvor ofte du vil bytte batteri kan du jo sette den ned ganske mye.
-
Du kan jo gå for dome kameraer med pan og til og snu kameraet mot veggen før du slår av strømmen til det.
-
Nei, det er så enkelt. All strøm som kommer inn skal også ut så total strøm i alle faselederene er null (og N-leder der hvor den er aktuell). Det er feks slik jordfeilbryterene virker.
-
Har endelig kommet dit at prosjektet mitt i bilen har blitt satt i bruk. Har montert en rpi i bilen koblet til dens canbus vha en hat fra skpang som leser dataene fra ene canbus linjen. Så nå er den satt opp slik at hvis jeg drar i lyshornhendelen og jeg trykker på håndbrekk AV (min bil har egen funksjon for håndbrekk av og på) så åpnes garasjeporten. Har I tillegg satt opp geofencing slik at jeg kan bruke samme funksjon uavhengig om jeg er hjemme eller hos mine foreldre. Oppsummering: Rpi leser canbus og sender via mqtt. Homeseer mottar signalet via mqtt og sjekker status på porten og om funksjonen er aktivert (kan deaktiveres hvis bilen er til service eller lånt til noen) Homeseer sender åpne kommando til rett garasjeport basert på koordinater også mottatt fra rpi over mqtt har også sjekk på at det er valid GPS fix og at den ikke er mer enn XX sekunder gammel.
- 3 275 svar
-
- 12
-
-
-
Flott at noen lager en plugin, det har jeg ikke kunnskap til selv Jeg hadde min kjørende ett år uten at den byttet ip, den skal jo ikke gjøre det så lenge den er koblet til hele tiden. Og btw, utendørs temperaturen vises som error når den er under 0 grader.
- 13 svar
-
- varmepumpe
- daikin
- (og 4 andre)
-
Da må du nok til med en frekvensomformer.
- 1 svar
-
- 1
-
-
Fordi det er feilkoblet. En elektriker kan fikse det.
-
Det har jeg faktisk ikke sjekket, jeg har ikke oppdatert noe.
-
Her har jeg laget et til daikin Det har du det meste av funksjoner som trengs for å hente en webside og parse den og så putte dataene inn i devicer