Vinnerliste
Populært innhold
Viser innholdet med mest poeng siden 20. aug. 2024 i alle områder
-
Jeg har laget min første Home Assistant-integrasjon - Google pollen! Jeg kan egentlig ikke Python, men kan programmere i andre språk. Så jeg klarer å lese og forstå Python, men ikke å «skrive det fra bunn». Ble ganske imponert over Github Copilot, som ganske kjapt og enkelt lagde en fungerende kode som jeg kunne bruke som utgangspunkt! Koden ligger her: https://github.com/svenove/home-assistant-google-pollen7 poeng
-
Da har jeg tatt avskjed med HomeSeer etter snart 20 år til fordel for Home Assistant. Jeg må si at jeg er mektig imponert over hvor enkelt integrasjoner bare popper inn. Har nå fått flyttet over alle Z-wave, Zigbee og RFXCom, samt fått opp Reolink kameraer, varmepumper, Nissan-tilkobling, Tibber, Yr, Sonos, TP-link mesh, Yale dørlås og en del andre Wi-Fi enheter jeg har i huset. Har ikke hatt noen problemer med å få dette satt opp overhodet. Z-wave var så enkelt som å flytte over USB-stick'en, siden den inneholder hele nettverket. For Zigbee valgte jeg å kjøpe en ny USB-stick (Sonoff 3.0) og legge til device på nytt inn i ZHA-integrasjonen. Dermed kunne den gamle PC'en fortsatt styre de enhetene jeg ikke hadde fått flyttet over. Skal sies at det gamle Zigbee-oppsettet kjørte på en Raspberry Pi med en Conbee stick. Kommer ikke til å savne noen av delene. Nå kjører alt på en Gigabyte Brix GB-BRR5H-4500 med 16 GB RAM (tenker å oppgradere til 32). Så nå er det bare å bygge noen kule dashboard og se på flere muligheter for å koble sammen enheter i forskjellige automasjoner.7 poeng
-
Hei! Det jobbes kontinuerlig med oppdateringer for komfyrvakt. Komfyrvakten følger også Zigbee standard så langt det lar seg gjøre. Da komfyrvakt ikke har noen egen standard i Zigbee 3.0 må det dessverre noen egne tilpasninger til for å få dette så nært optimalt som mulig. Når det er sagt så er det hovedsakelig rapportering som er fokus for produktet (sensortemperatur, strømforbruk, alarm og relé status). Kontroll av selve reléet er begrenset til kun å kunne slå dette av via Zigbee protokollen (krav for sertifisering - Vi har også vurdert å fjerne dette i fremtidig oppdatering og kun ha rapportering om status). Det jobbes med en firmware oppdatering for produktet som skal rette kWt oppdateringen (Rapporteres kun 1 gang pr døgn via Zigbee) samt generelle stabilitetsendringer. Vi jobber også med en OTA oppdateringsløsning via BT for de plattformer som ikke har OTA via Zigbee innebygget som gjør det enklere å få de nyeste oppdateringene på produktet. Vi har tidligere vært i dialog med Nabucasa direkte for en "Works with Home Assistant" sertifisering uten at vi kom i mål den gangen. Det er en del praktiske ting samt kostnadsspørsmål som må på plass. Når det er sagt så tar jeg dette absolutt med videre. Hva er deres foretrukne løsning for integrasjon i HA? Z2M eller ZHA?6 poeng
-
6 poeng
-
Har gjort veldig mye de siste par mnd: * Migrert alle serverne mine fra ESXi 7.0 til Proxmox VE (takk for den, Broadcom! 😞). Det gikk overraskende smertefritt, siden jeg hadde tilgang på en ekstra PC som kunne brukes. La da til ESXi-serveren i Proxmox og kunne bare ta en "import" av hver enkelt VM. Så var det bare å endre litt på nettverksoppsettet, fjerne VMtools og installere QEMU i stedet, så var det i boks! * Migrert fra Xeoma til Frigate for kameraene mine. Frigate kjører i en Proxmox LXC (Xeoma var en egen Ubuntu VM) og den får tilgang til å bruke iGPU, slik at CPU-belastningen er minimal (3 kamera). Jeg har også fått aktivert varsling ved detekterte personer i carporten på natt/borte (mot varsel ved bevegelse i Xeoma - blafrende plastposer, osv ga mange falske varsler!). * Migrert Mosquitto og Zigbee2MQTT til LXC. Disse kjørte før på samme VM som HomeSeer, men nå har jeg satt opp en Proxmox LXC til hver av dem i stedet. Da slipper jeg nedetid på disse tingene ved restart av HS-VMen f.eks. * Oppgradert fra HS3 til HS4. Det var vel litt "på overtid", 5 år etter jeg kjøpte oppgraderingslisens... Det gikk dessverre ikke helt smertefritt, for jeg kom meg ikke forbi lisens-aktiveringssiden (første siden man får opp etter oppgradering). Meldte supportsak til HS også, uten at det førte noen vei. Snapshot i Proxmox funker heldigvis fint da, så jeg kunne lett rulle tilbake til HS3. Etter et par kvelder så prøvde jeg nest nyeste versjon av HS4 - da funket det! 🙂 Utover det så merker jeg at særlig HSTouch er mye raskere/stabil med HS4 enn det det var med HS3. Og mscMQTT er også mer stabilt i nyeste versjon. * Fortsetter migreringen fra HomeSeer til Home Assistant. Det meste av ZigBee, Chromecasts, 433 MHz-utstyr er nå migrert over og styres fra HASS. Z-wave gjenstår, men der må jeg flytte ALT samtidig (i motsetning til ZigBee, som via Z2M kan styres fra begge systemer samtidig). Så her er det nok noen uker enda før jeg er i mål. 😛6 poeng
-
Montert 2 meter Hue LED-stripe i senge-gavlen i dag. Ettersom det er stoff som antakelig ikke holder så godt på stripa så valgte jeg å feste den på en hjørneprofil i metall for gips, som jeg hadde liggende. Ettersom limet på stripa hefter dårlig tapet jeg over stripen der hvor det ikke er dioder med Isola fuktsperretape. Denne tapen holder etter min erfaring bra på det aller meste. For å få inn profilen i gavelen så lagde jeg et snitt i den på midten slik at den ble mulig å bøye. Inne i gavel så skrudde jeg den opp. LED-stripen ligger helt ytterst i rommet over i gavel-en, dermed er det umulig å se diodene direkte selv om man ligger helt inntil. Dermed ser man kun direkte lys, slik man skal dra LED-striper. Så resultatet:5 poeng
-
Når en har en meget komplisert plen på 750 m2 og robotklipper uten sporing så dukker der jo fort opp behov for litt snekring på gutterommet... Har hatt meg en del turer rundt i hagen for å lete etter klipperen som har satt seg fast en eller annen plass så litt hjelp til å lete og, ikke minst, se hvilke områder som klippes er ganske greit... Nå har jeg jobbet noe tid med dette og det er på tide å dokumentere litt av prosessen i tilfelle andre vil gjøre noe lignende... 1: Skaffe kart over hagen. Her har jeg brukt kommunekart.com og "Tegn i kart" for å lage et omriss av plenen. Etter omrisset er laget lagres det til fil i kml format. For enkelhets skyld konverterer jeg denne til .geojson format i online konverteringsprogram. Pr i dag ser omrisset slik ut i kommunekart.com: .geojson filen importeres manuelt i Node-RED. Dette er jo en mer eller mindre engangs sak... 2: Innhente GPS-data og sende til MQTT. ESP32 med NEO-6 GPS koster "next to nothing" og er en grei løsning for dette bruket. Har slitt en del med Arduino-IDE så derfor havnet jeg på MicroPython denne gang. Siden jeg har 2 separate prosesser gående samtidig har jeg valgt å bruke uasyncio for multitasking. Task#1: Innhente data fra GPS og lagre posisjonsdata i fil. Task#2: På gitte intervall, pt hvert 30 sek, koble på wlan og sende data fra datafilen til MQTT broker. I hagen min er der noen wlan dødsoner og derfor nyttig å gjøre opplasting litt i rykk og napp når wlan er tilgjengelig. 3: Behandle GPS-data i Node-RED. Etterhvert som data mottas fra MQTT lagres de i et array of objects i flow-variabel og deretter tegnes det opp i en chart node. Array med data begrenses til et passende antall posisjoner, pt. 3000. Eldre data slettes automatisk. Prototype GPS-tracker: Første sporing: Node-RED: [{"id":"7b7be9e90c83eaff","type":"group","z":"c0e718067b85a8cc","name":"Lagre GPS-data","style":{"label":true},"nodes":["43d583213bfaa02f","2218191fe090798b","55b21eb55f283b61","8c73af56d7fdc323","36f55a2e222b2326","c466d510d0476f0e","93ac548a0bcda12d"],"x":24,"y":779,"w":832,"h":192},{"id":"43d583213bfaa02f","type":"mqtt in","z":"c0e718067b85a8cc","g":"7b7be9e90c83eaff","name":"","topic":"Ambrogio/Robertino/pos","qos":"2","datatype":"auto-detect","broker":"6db118ed1b0c56de","nl":false,"rap":true,"rh":0,"inputs":0,"x":160,"y":830,"wires":[["2218191fe090798b","55b21eb55f283b61","36f55a2e222b2326"]]},{"id":"2218191fe090798b","type":"show-value","z":"c0e718067b85a8cc","g":"7b7be9e90c83eaff","name":"","path":"","x":160,"y":880,"wires":[[]]},{"id":"55b21eb55f283b61","type":"function","z":"c0e718067b85a8cc","g":"7b7be9e90c83eaff","name":"GPS Tracker position","func":"let xMax = 5.229248;\nlet xMin = 5.228394;\nlet yMax = 59.392793;\nlet yMin = 59.392350;\nconst numpos = 4000;\nlet arr = flow.get(\"Robertino\") || []\nlet arr2 = []\n//node.warn(msg.payload);\nlet data = msg.payload;\n//var temp=data.split(\",\");\nlet msg2 = {}\n//node.warn(data);\n\n// lon/lat har format ddmm.mmmmmm\nlet lat = Number(data.lat) / 100;\n//node.warn(lat)\nlet intpart = parseInt(lat);\nlet fractpart = lat - intpart;\nlat = intpart + (fractpart * 1.666667);\n//node.warn(lat)\n\nlet lon = Number(data.lon) / 100;\nintpart = parseInt(lon);\nfractpart = lon - intpart;\nlon = intpart + (fractpart * 1.666667);\n\nlet time = data.utc;\n//node.warn(lat);\n//node.warn(lon);\n\n// Ignorer verdier utenfor kartet\nif (lat < yMax && lat > yMin && lon < xMax && lon > xMin) arr.push({\"lat\": lat, \"lon\": lon, \"UTC\": time});\n\n// Remove old positions\nlet n = arr.length;\n//node.warn(n);\narr2 = arr.slice(n - numpos);\n\n//node.warn(arr);\n//node.warn(arr2);\nflow.set(\"Robertino\", arr2);\nmsg.payload = \" \";\nmsg2.topic = \"Robertino\";\nmsg2.payload = time;\nreturn [msg, msg2];","outputs":2,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":410,"y":830,"wires":[["c466d510d0476f0e"],["8c73af56d7fdc323"]]},{"id":"8c73af56d7fdc323","type":"ui_text","z":"c0e718067b85a8cc","g":"7b7be9e90c83eaff","group":"a7f439d7b1e0bbd4","order":9,"width":"8","height":"1","name":"Robertino last track","label":"{{msg.topic}} last trck","format":"<font size=6>{{msg.payload}}<font size=3> UTC","layout":"row-spread","className":"","style":false,"font":"","fontSize":16,"color":"#000000","x":740,"y":870,"wires":[]},{"id":"36f55a2e222b2326","type":"debug","z":"c0e718067b85a8cc","g":"7b7be9e90c83eaff","name":"debug 180","active":true,"tosidebar":false,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"","statusType":"counter","x":160,"y":930,"wires":[]},{"id":"c466d510d0476f0e","type":"function","z":"c0e718067b85a8cc","g":"7b7be9e90c83eaff","name":"Reset delay","func":"//msg.delay = 600000;\nvar m1 = {reset:true};\nreturn [[m1,msg]];","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":610,"y":820,"wires":[["93ac548a0bcda12d"]]},{"id":"93ac548a0bcda12d","type":"delay","z":"c0e718067b85a8cc","g":"7b7be9e90c83eaff","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":770,"y":820,"wires":[["3f628673e320b6ef"]]},{"id":"6db118ed1b0c56de","type":"mqtt-broker","name":"DaleMQTT","broker":"172.16.0.94","port":"1883","clientid":"34567890","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":false,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"a7f439d7b1e0bbd4","type":"ui_group","name":"Status","tab":"55b4bf40cf1e815d","order":2,"disp":true,"width":"8","collapse":false,"className":""},{"id":"55b4bf40cf1e815d","type":"ui_tab","name":"Ambrogios","icon":"android","order":23,"disabled":false,"hidden":false},{"id":"af4caa710bbb0c2a","type":"group","z":"c0e718067b85a8cc","name":"Presenter GPS data i chart","style":{"label":true},"nodes":["8e291ee416e96572","597d06bd03195022","6969dbab26c1048b","51404847151e1696","3f628673e320b6ef"],"x":24,"y":999,"w":742,"h":112},{"id":"8e291ee416e96572","type":"inject","z":"c0e718067b85a8cc","g":"af4caa710bbb0c2a","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"10","topic":"","payload":"","payloadType":"date","x":140,"y":1050,"wires":[["3f628673e320b6ef"]]},{"id":"597d06bd03195022","type":"function","z":"c0e718067b85a8cc","g":"af4caa710bbb0c2a","name":"Read temp positions & parse","func":"//let poss = flow.get(\"temp\");\nlet poss = flow.get(\"Robertino\") || []\nvar data = []\nvar data0 = []\nvar data1 = []\nvar data2 = []\nvar data3 = []\nlet j = 0;\n//for (let i in poss.data[0].attributes.positions){\n// data0.push({x: poss.data[0].attributes.positions[i].longitude,y:poss.data[0].attributes.positions[i].latitude});\nfor (let i in poss){\n if (poss[i].lat > 59 && poss[i].lon > 5) data0.push({x: poss[i].lon,y:poss[i].lat});\n// node.warn(poss.data[0].attributes.positions[i].longitude);\nj = i;\n}\n// Ta vare på siste pos for oransje markering plott (nåværende pos)\n//data2.push({x: poss.data[0].attributes.positions[0].longitude,y:poss.data[0].attributes.positions[0].latitude});\n//data2.push({x: poss.data[0].attributes.positions[1].longitude,y:poss.data[0].attributes.positions[1].latitude});\ndata2.push({x: poss[j-3].lon,y:poss[j-3].lat});\ndata2.push({x: poss[j-2].lon,y:poss[j-2].lat});\ndata2.push({x: poss[j-1].lon,y:poss[j-1].lat});\ndata2.push({x: poss[j].lon,y:poss[j].lat});\n\n// Omriss av plenen\ndata1 = flow.get(\"plen\");\n// Omriss av elendom\ndata3 = flow.get(\"eiendom\");\n\n\ndata[1] = data1; // Lawnlimits\ndata[3] = data3; // Lawnlimits\ndata[2] = data0; // Track\ndata[0] = data2; // Last track\n//node.warn(data[2]);\n\nmsg.payload = [{\n \"series\": [\"A\",\"B\",\"C\",\"D\"],\n \"xAxisID\": 'custom-x-axis',\n \"yAxisID\": 'custom-y-axis',\n \"data\": data,\n \"labels\": [\"\"]\n}]\n\nreturn msg;\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":450,"y":1040,"wires":[["51404847151e1696"]]},{"id":"6969dbab26c1048b","type":"function","z":"c0e718067b85a8cc","g":"af4caa710bbb0c2a","name":"modify chart options","func":"/*let centX = 5.1372;//2285;\nlet xW = 0.0005;\nlet xH = 0.0005;\nlet centY = 59.2355;//3924;\nlet xMax = centX + xW;\nlet xMin = centX - xW;\nlet yMax = centY + xH;\nlet yMin = centY - xH;\n*/\nlet xMax = 5.229248;\nlet xMin = 5.228394;\nlet yMax = 59.392793;\nlet yMin = 59.392350;\n\n\nlet gridcolors = 'rgba(255, 160, 0, 0.3)'\nmsg.ui_control = {\n options: {\n legend: {\n display: false\n },\n tooltips: {\n enabled: false\n },\n scales: {\n xAxes: [{\n type: 'linear',\n id: 'custom-x-axis',\n position:'bottom',\n padding:100,\n gridLines:{\n color:gridcolors,\n zeroLineColor:'rgba(123, 113, 113, 0.75)',\n tickMarkLength:7,\n drawTicks:false\n },\n ticks: {\n fontColor:\"#ccc\",\n max: xMax,\n min: xMin,\n stepSize: 0.0001\n \n }\n }],\n yAxes: [{\n id: 'custom-y-axis',\n \n gridLines:{\n color:gridcolors,\n zeroLineColor:'red',\n tickMarkLength:5,\n drawTicks:false\n },\n ticks: {\n fontColor:\"#ccc\",\n max: yMax,\n min: yMin,\n stepSize: 0.0001\n }\n }]\n }\n }\n}\ndelete msg.payload\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":430,"y":1070,"wires":[["51404847151e1696"]]},{"id":"51404847151e1696","type":"ui_chart","z":"c0e718067b85a8cc","g":"af4caa710bbb0c2a","name":"Plen","group":"7ab0161dbb92ab3f","order":3,"width":"30","height":"20","label":"","chartType":"line","legend":"false","xformat":"auto","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"1","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#ff7f00","#00ff00","#8585fa","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"className":"","x":690,"y":1040,"wires":[[]]},{"id":"3f628673e320b6ef","type":"junction","z":"c0e718067b85a8cc","g":"af4caa710bbb0c2a","x":280,"y":1050,"wires":[["597d06bd03195022","6969dbab26c1048b"]]},{"id":"7ab0161dbb92ab3f","type":"ui_group","name":"Map","tab":"55b4bf40cf1e815d","order":3,"disp":true,"width":"32","collapse":false,"className":""},{"id":"f51cf63d67a5a2e5","type":"group","z":"c0e718067b85a8cc","name":"Les geojson fil og lagre koordinater i flow.plen","style":{"label":true},"nodes":["7a8aba7d1b2233c3","c3ac6155687bd8b2","7a3a31186dd532c5","65861ab97117862e"],"x":24,"y":1139,"w":1012,"h":82},{"id":"7a8aba7d1b2233c3","type":"json","z":"c0e718067b85a8cc","g":"f51cf63d67a5a2e5","name":"","property":"payload","action":"","pretty":false,"x":670,"y":1180,"wires":[["c3ac6155687bd8b2"]]},{"id":"c3ac6155687bd8b2","type":"function","z":"c0e718067b85a8cc","g":"f51cf63d67a5a2e5","name":"Plukk ut pos fra fil og lagre i flow","func":"var plen = []\nvar eiendom = []\n\nfor (var i in msg.payload.features[0].geometry.coordinates){\n let tempobj = {x: msg.payload.features[0].geometry.coordinates[i][0] ,y: msg.payload.features[0].geometry.coordinates[i][1]};\n plen.push(tempobj);\n}\n//payload.features[1].geometry.coordinates[0][0]\n//payload.features[1].geometry.coordinates[0][9]\n//payload.features[1].geometry.coordinates[0][9][0]\n//payload.features[1].geometry.coordinates[0][9][1]\nfor (var i in msg.payload.features[1].geometry.coordinates[0]) {\n let tempobj = { x: msg.payload.features[1].geometry.coordinates[0][i][0], y: msg.payload.features[1].geometry.coordinates[0][i][1] };\n eiendom.push(tempobj);\n}\n//node.warn(plen);\nflow.set(\"plen\", plen);\nflow.set(\"eiendom\", eiendom);\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":880,"y":1180,"wires":[["3f628673e320b6ef"]]},{"id":"7a3a31186dd532c5","type":"file in","z":"c0e718067b85a8cc","g":"f51cf63d67a5a2e5","name":"","filename":"/home/nodered/PlenV4Eiendom.geojson","filenameType":"str","format":"utf8","chunk":false,"sendError":false,"encoding":"none","allProps":false,"x":390,"y":1180,"wires":[["7a8aba7d1b2233c3"]]},{"id":"65861ab97117862e","type":"inject","z":"c0e718067b85a8cc","g":"f51cf63d67a5a2e5","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":1180,"wires":[["7a3a31186dd532c5"]]}] uPython programmet: import ubinascii import machine from umqtt.simple import MQTTClient from machine import UART import network, utime, machine import os import uasyncio import json uart = UART(2, 9600) SSID = "WLAN-SSID" SSID_PASSWORD = "WLAN-PWD" filenum = 0 SERVER = "172.16.0.94" CLIENT_ID = ubinascii.hexlify(machine.unique_id()) TOPIC = "Ambrogio/Robertino/pos" gps_target = "$GPGGA" gps_target = gps_target.encode('ASCII') async def readAndSend(): global filenum while True: await uasyncio.sleep_ms(1000 * 30) #Run every 30 sec sta_if = network.WLAN(network.STA_IF) if not sta_if.isconnected(): print('connecting to network...') sta_if.active(True) sta_if.connect(SSID, SSID_PASSWORD) while not sta_if.isconnected(): print("Attempting to connect....") await uasyncio.sleep_ms(1000) print('Connected! Network config:', sta_if.ifconfig()) mqttClient = MQTTClient(CLIENT_ID, SERVER, keepalive=60) mqttClient.connect() print(f"Connected to MQTT Broker: {SERVER}") locfilenum = filenum # Store current filenumber filenum = filenum + 1 # New filenumber for logging filename = 'data'+str(locfilenum)+'.txt' if filename in os.listdir(): print('Found '+ filename) f = open(filename, 'r') line = f.readline() while line != "": print(filename+", MQTT:"+line.strip()) mqttClient.publish(TOPIC, str(line)) await uasyncio.sleep_ms(500) line = f.readline() print("file finished") print("Removing ", filename) os.remove(filename) mqttClient.disconnect() print("Disconnect from wlan") sta_if.disconnect() def left(s, amount): return s[:amount] async def main(): global filenum print("Cleanup old files...") # Delete all existing data files on startup for f in os.listdir(): if left(f, 4) == "data": print("Deleting: ", f) os.remove(f) print("All data files deleted.") while True: if uart.any() > 0: await uasyncio.sleep_ms(100) gps_msg = uart.readline() if len(gps_msg) >= 60: gps_type = left(gps_msg, 6) if gps_type == gps_target: utc = gps_msg[7:13] lat = gps_msg[17:27] lon = gps_msg[30:41] newmsg = {} newmsg['utc'] = utc newmsg['lat'] = lat newmsg['lon'] = lon jmsg = json.dumps(newmsg) # Create JSON object for datafile #if lat >= '5923' and lat <= '5924' and lon >= '513' and lon <= '514': filename = 'data'+str(filenum)+'.txt' print(filename+", GPS:"+jmsg) f = open(filename, 'a') f.write(jmsg) f.write("\r\n") f.close() await uasyncio.sleep_ms(200) # Start hele sulamitten event_loop = uasyncio.get_event_loop() event_loop.create_task(main()) event_loop.create_task(readAndSend()) event_loop.run_forever() ESP32 forsynes pt via USB fra en batteribank og GPS forsynes fra Vin og GND pinnene på ESP32. GPS-TX går til ESP-RX2, GPS-RX til ESP-TX2. Har sett i minst ett eksempel på nett at NEO6 GPSen forsynes fra 3.3V men spec sier at NEO6 skal ha 3.7-5V. Prøvde først med 3.3V og det virket men fikk en del mangelfulle setninger fra GPS så med 5V gikk det myyyyye bedre... Så langt ha jeg brukt en 10Ah batteribank og den holder liv i greiene i mange døgn men skal hacke meg inn på strømforsyningen i klipperen etterhvert...5 poeng
-
5 poeng
-
Høstens første frost krever alltid litt ekstra arbeid så det er greit å få et varsel noen dager i forkant. Hjul på bil må skiftes, vannslange må innendørs, utekrane må sjekkes at den er tom for vann og campingvogn sine vannbeholdere må tømmes. Så da er et varsel i HA laget slik som dette Det er kun et lett synlig bilde som har en betingelse for synlighet. Først laget jeg en sensor som viser laveste temperatur meldt de nærmeste dagene. - template: - trigger: - trigger: state entity_id: weather.orstad_utsyn action: - action: weather.get_forecasts data: type: daily target: entity_id: weather.orstad_utsyn response_variable: wd sensor: - unique_id: laveste_temperatur_framover name: "Laveste temperatur framover" unit_of_measurement: "°C" state: "{{ [state_attr('weather.orstad_utsyn', 'temperature')|float(0), (wd['weather.orstad_utsyn'].forecast | rejectattr('templow', 'undefined') | map(attribute='templow')|list|min)]|min|round(1) }}" Deretter en binær sensor som bruker laveste temperatur sammen med måned. Jeg trenger ikke varsel om høstens første frost i desember til mai. -template: - binary_sensor: - unique_id: bbb82639-7432-4f3f-8950-a5c860a6ede0 name: frostvarsel state: "{{ states('sensor.laveste_temperatur_framover')|float < 2 and (now().month == 9 or now().month == 10 or now().month == 11) }}" Selve kortet er lagd som dette5 poeng
-
Vi åpner nå tre nye forum for direkte kommunikasjon med smarthus leverandørene! Vi har snakket med tre av de store smarthus leverandørene og signalisert et behov for enkelt å kunne kontakte kompetente personer hos dem for å få svar på mer kompliserte tekniske spørsmål. Det viste seg at de også hadde et ønske om å kunne få ryddet opp i en del feilinformasjon og myter som flyter rundt i sosiale fora. Dette er organisert rundt et eget forum for hver leverandør der det som vanlig er oss forumdeltakere som spør og svarer på det vi kan, men i tillegg vil det være representanter for leverandøren der med egne brukere som kan gi fasit eller korreksjoner. Leverandørenes brukere vil være klart merket så det vil ikke være tvil om hvem du får svar fra. Hvert forum vil ha en underkategori for spørsmål og svar og en for generell diskusjon og kommunikasjon. Forumene finner du her: https://www.hjemmeautomasjon.no/forums/forum/110-leverandører/ Vis full oppføring5 poeng
-
Det er ihvertfall mer enn dere har fått til på de 6 årene integrasjonen har eksistert 🙂5 poeng
-
Ok nå har jeg lekt ganske mye. Laget meg en template sensor som bruker Nordpool input, og så har jeg satt opp en gjeng med hjelpere for å ha data om nettpriser for dag/natt, moms, strømselskap osv osv. Alt kan nå konfigureres via GUI, eneste som blir litt massivt er selve template sensoren men den setter man jo opp bare en gang. Synes det ble ganske bra! Nå skal jeg bare se over litt tid om det fungerer stabilt.4 poeng
-
"Feilen" ligger i betingelsene dine: Når sikringen har gått vil garasjelyset aldri kunne bli "OFF". Dermed sørger denne linja: ... for å trigge eventet hvert eneste sekund. "For at least XX" er skummelt å bruke som første betingelse. Bruk heller "for exactly 10 m", så slipper du problemet 🙂 Som en ekstra betingelse går det som oftest utmerket å bruke "for at least". Se FAQ nederst i HS skolen del 7:4 poeng
-
Vi åpner nå tre nye forum for direkte kommunikasjon med smarthus leverandørene! Vi har snakket med tre av de store smarthus leverandørene og signalisert et behov for enkelt å kunne kontakte kompetente personer hos dem for å få svar på mer kompliserte tekniske spørsmål. Det viste seg at de også hadde et ønske om å kunne få ryddet opp i en del feilinformasjon og myter som flyter rundt i sosiale fora. Dette er organisert rundt et eget forum for hver leverandør der det som vanlig er oss forumdeltakere som spør og svarer på det vi kan, men i tillegg vil det være representanter for leverandøren der med egne brukere som kan gi fasit eller korreksjoner. Leverandørenes brukere vil være klart merket så det vil ikke være tvil om hvem du får svar fra. Hvert forum vil ha en underkategori for spørsmål og svar og en for generell diskusjon og kommunikasjon. Forumene finner du her: https://www.hjemmeautomasjon.no/forums/forum/110-leverandører/4 poeng
-
4 poeng
-
Da er jeg i boks med fjernstyring av Alde 3000 vannbåren varme og fjernstyring av stigetrinn i bobilen. Kabler var greie å komme til. I boksen er en RPi 3B+ og 2x4 rele som styres av Node-RED med Node-RED Dashboard som brukergrensesnitt. Som en bonus fikk jeg også med meg zigbee2mqtt, Mosquitto og en G-sensor som forteller meg om bilen står beint. Det hele plassert i custom designet 3D printet boks:4 poeng
-
Nå starter min prosess med å koble av enheter og avregistrere Futurhome Hub. 🥳 Bildet viser innkjøpt utstyr. Kort oppsummert; Home Assistant Green kr 1214,- Zigbee USB dongle kr 399,- Z-wave USB dongle kr 300,- 1TB Ssd harddisk kr 954,- To USB forlengerkabel kr 150,- Totalt kr 3017 Kunne klart meg uten Ssd og Zigbee dongle og havnet på kr 1664,- men det er lite fremtidsrettet imho. Så foreløpig ligger jeg ca 1000 under en Homey pro. Blir nok en del lesing og forsøk (knoting antagelig) før dette er oppe og står i full drift. Wish me luck 🙏🏼🤞🏼😇3 poeng
-
3 poeng
-
Det er ingenting som prinsipelt skiller FutureHome's forretningspraksis fra alle andre som selger sky-avhengig hardware. Det er helt irrelevant om abonnementskostnaden var 0, 10, 100 eller 1000 kroner måneden den dagen det viser seg at det er for lite til å opprettholde skytjenesten. Det er komplett urealistisk å tro at noen klarer å selge slike tjenester til høy nok pris til å garantere evig drift. Derfor vil du som kunde på et eller annet tidspunkt oppleve at prisen øker drastisk og/eller at tjenesten faller bort. Alternativet er helt åpenbart. Ikke kjøp hardware som er avhengig av skytjenster. Skal FutureHome kritiseres så er det mer interessant å se på markedsføringen av de komponenter som evt viser seg å ikke fungere uten sky. Dersom de var annonsert som åpne, eller på en måte som må forstås som åpne ("zigbee" f.eks), så er jo markedsføringen misvisende. Men det er uansett nokså poengløst å angripe det etter at konkursen er et faktum... Se heller på hva de andre som ennå ikke er konkurs holder på med.3 poeng
-
Jeg har samlet litt info for Futurehome brukere som vil bytte til Home Assistant. For de som er i tvil om valg av hub - se denne: https://youtu.be/vVaup-vrOSU?si=yEjY8gsq7ic7bUPX Generelt vil jeg si at de som vil ha noe som bare virker bør holde seg til Futurehome, betale abonnement og gi dem en sjanse. Home Assistant har blitt veldig mye enklere men er fortsatt mye mer krevende enn Futurehome. Det gir større muligheter, men stiller også krav til deg som bruker. Og det er ingen telefonsupport. Video om oppsett av HA Green: https://youtu.be/42GKCaB1xSg?si=WjJrn-40fIOR2xmQ fra 3:58 Mer grundig video: https://youtu.be/Z4gvkmJ8q48?si=PZUxlnrBMtp-MPfa Men merk at IP adressen som brukes i starten er et eksempel. Bruk http://homeassistant.local:8123 som angitt på skjermen under IP adressen. Fra 8:45 (det konkrete fra ca 10:30) vises installasjon av Zigbee dongle og oppsett av ZHA. Ekstenderkabelen bør brukes, det gir bedre rekkevidde for radiosignalene. Futurehome utstyr resett: Trykk og hold inne knappen på enheten i 5 sekunder, ref: https://support.futurehome.no/hc/no/articles/5347976198173-Futurehome-16A-relé Termostat: Sett termostaten i inklusjonsmodus ved å holde nede minus-knappen i 8 sekunder. (Zigbee-ikonet blinker på termostaten), ref: https://support.futurehome.no/hc/no/articles/5347913826077-Futurehome-Termostat HAN-sensor: hold inne knappen ved siden av LED-lyset i 15 sekunder. Den skal nå begynne å blinke igjen og gå i inkluderingsmodus, ref: https://support.futurehome.no/hc/no/articles/6549382163613-Futurehome-HAN-sensor Info om alle Futurehomeprodukter: https://support.futurehome.no/hc/no/sections/16473752972189-Futurehome-produkter3 poeng
-
Bare til info: Jeg har syv kameraer og flere hundre enheter koblet til min Rpi5 (som var tidligere en Rpi4). Både på Rpi4 og Rpi5 kjørte dette med ca 1% prosessorutnyttelse og på Rpi5 er det så lite belastning av vifta sjelden går. En PC er sikker fint, men en trenger ikke det hvis det kun er HA som skal kjøre på den. Med tanke på oppetid så anbefaler jeg dedikert hardware. Og gjerne kjøp to Rpi, SSD og zigbee/zwave pinner så har en noe på lager og kan ta dette i bruk umiddelbart hvis noe skulle svikte. Men dette blir jo veldig avhengig av hvor langt en strekker det. Sørger en for at lys og varme kan styres manuelt så er det også lettere å være uten automasjon en uke mens en venter på postgang og nye enheter.3 poeng
-
3 poeng
-
Utviklerne er satt til å undersøke saken /Pål Takk for at du svarer opp @raphaelc75! Det stemmer som du skriver 🙂3 poeng
-
Svarer meg selv i tilfelle noen andre skulle være i samme situasjon. Har kjørt både ZHA og Z2M samtidig med samme koordinator. Var ikke klar over at dette ikke var lurt. Jeg har kvittet meg helt med ZHA og kjører alle enhetene mine gjennom Z2M. Oppdateringen startet umiddelbart etter dette.3 poeng
-
Fil med oppdatert Guide ligger vedlagt (Beklager feilen der!) En fullverdig oppdateringslogg kommer så fort den er klar, jeg ville dele den med dere så fort vi fikk filene oversendt! I korte trekk: - Oppdatering av kildekode til nyeste versjon - Endring fra Zigbee End device til Router device - Rettet feil som resulterte i Zigbee drop - Endret så komfyrvakten kan slås av/på via Zigbee Verdiene du har unknown på i oversiken i HA rapporterer ikke komfyrvakten noe data på. Vakten rapporterer: - Effekt (W) - kWh - Temperatur (Når vakten er aktiv og trekker strøm). Rundt den nye muligheten til å kunne slå på relé via Zigbee så har vi fått det vurdert at dette er innenfor kravene for sikkerhet. I tilfellet hvor vakten har slått ut og den forsøkes å slås på igjen vil den igjen slå ut så lenge det er en fare tilstede. 140279X-Firmware.zip3 poeng
-
Her er kode for å hente inn pris for hver time i dag og i morgen. Den henter også inn pris for aktuell time, men det bruker jeg ikke til noe. Jeg er kun interessert i attributten "prices". Hvis du skal bruke aktuell pris i sensorens tilstand så ville jeg satt scan_interval til en mye høyere verdi, feks en gang i døgnet. Og heller trigget en oppdatering med en automasjon som kjører hver hele time med action: homeassistant.update_entity data: entity_id: - sensor.hvakosterstrommen_price_today command_line: - sensor: scan_interval: 1800 command: > echo "{\"prices\":" $( curl -s 'https://www.hvakosterstrommen.no/api/v1/prices/{{ now().strftime('%Y/%m-%d') }}_NO2.json' ) "}" name: "hvakosterstrommen_price_today" value_template: "{{ (value_json.prices | selectattr('time_start', 'match', now().strftime('%Y-%m-%dT%H:00')) | list | first)['NOK_per_kWh'] }}" unit_of_measurement: "NOK/kWh" json_attributes: - prices - sensor: scan_interval: 1800 command: > echo "{\"prices\":" $( curl -s 'https://www.hvakosterstrommen.no/api/v1/prices/{{ (now()+timedelta(days=1)).strftime('%Y/%m-%d') }}_NO2.json' ) "}" name: "hvakosterstrommen_price_tomorrow" value_template: "{{ (value_json.prices | selectattr('time_start', 'match', (now()+timedelta(days=1)).strftime('%Y-%m-%dT%H:00')) | list | first)['NOK_per_kWh'] }}" unit_of_measurement: "NOK/kWh" json_attributes: - prices3 poeng
-
3 poeng
-
@OlavT Den gjør slik at du kan styre din Mill gen 2 ovn trådløst via ESPhome. Jeg og mange flere med meg hadde problemer med Mill gen2 ovner som ikke lar seg oppgradere med siste firmware fra Mill sitt økosystem. Resultatet blir i praksis en "dum" ovn som du ikke kan styre. Så isteden for å kaste ovnen, kan du oppgradere den ved å bytte ut chip'en som står i disse ovnene originalt. I praksis vil man da fjerne hele Mill styringen og erstatte den med en esp8266 som man installere den eksterne komponenten på. Da kan du f.eks. styre den lokalt via Home assistant som en klima enhet.3 poeng
-
Vi jobber nå sammen med leverandøren om en oppdatert Zigbee driver på produktet. Så vi håper vi kan ha en løsning for de kundene som opplever Zigbee drop. Firmware vil da være mulig å laste opp via OTA. Pål3 poeng
-
Jeg tror det baserer seg på dårlige erfaringer med annet utstyr. Mine zigbee enheter varer i mange år på et batteri. Mange er på det sjette året. Enig at det er null stress. Fordelen er at det gir en total frihet i å plassere brytere og sensorer akkurat der de gjør mest nytte. Tradisjonelle brytere og dimmere er etter min mening bare en selvpålagt begrensing. Smarte pærer / belysning gir en full kontroll på hvordan lyssettingen skal være. Ser at det også brukes argumenter om at en må ha tradisjonelle brytere fordi det kan hende at en ny eier ikke liker smarthus. For min del kunne jeg ikke brydd meg mindre om hva en fremtidig ny eier synes om det 🙂3 poeng
-
Hei! 03/22 = V1 Firmware 04/22 = V1 Firmware 09/22= V2 Firmware 07/24= V2 Firmware Forskjell på V1 vs V2. Korrigert kompensasjonstabell = Det vil si at den ønskede temperaturen harmonerer med målt temperatur. Alle modeller skal ha repeater funksjon på Zigbee. (V1 hadde en "aggressiv" kompensasjonstabell innebygget på linje med alle "dumme" panelovner, men dumme ovner rapporterer ikke målt temperatur og derfor opplever man ikke denne forskjellen) V1 modeller kan oppdateres til V2 firmware om man har en kontroller som støtter dette. Firmware ligger på nettsiden til Elektroimportøren, eller kontakt kundesenter for å få oversendt disse. Mvh Pål, Namron3 poeng
-
Her er basis kode for PWM styring av en PC vifte: Mange PC vifter kan en styre hastigheten på, men ikke alle. Dersom vifta har 4 kabler (og ikke bare 3) kan den styres. Lederne er: 12V Jord PWM (plus bredde modulasjon) styresignal inn Puls informasjon om hvor fort vifta faktisk går (Tach) PC vifter har PWM signal på 25kHz (antakeligvis for at en ikke skal kunne høre den med ørene) og tidligere var det litt klønete å få til med en Arduino, men med en ESP32 går det som en lek. Vi bruker en av de 6-16 (avhengig av ESP32 type) innebyggede PWM kanalene i ESP32'en og styrer dette med noen få linjer kode. Her er koden satt inn for å styre vifta fra MQTT: Det er også mulig å LESE den REELLE hastigheten på vifta ved å telle pulser fra den siste ledningen fra PC vifta men det må bli en annen gang. OBS: Pulsene fra vifta er 12V og vil skade ESP32 om de kobles direkte. Det er ofte 2 eller 4 pulser / rotasjon3 poeng
-
Har i noen måneder brukt uike verktøy til å enkelt generere yaml kode kun ved å beskrive behovene mine. Blir bare mer og mer imponert over utviklingen og hva det er mulig å få til - dersom spørsmålene stilles riktig - med høyst begrensede programmeringskunnskaper. Et eksempel er denne som fargekoder timene basert på rangering av strømprisen: type: custom:apexcharts-card series: - entity: sensor.nordpool_kwh_oslo_nok_3_10_0 name: Pris type: column float_precision: 4 data_generator: > const today = entity.attributes.raw_today; const tomorrow = entity.attributes.raw_tomorrow; const allData = today.concat(tomorrow); const categorizeHours = (data) => { const sorted = [...data].sort((a, b) => a.value - b.value); const categories = { lowestFour: sorted.slice(0, 4).map(p => p.start), nextFour: sorted.slice(4, 8).map(p => p.start), middle: sorted.slice(8, 16).map(p => p.start), nextHighestFour: sorted.slice(16, 20).map(p => p.start), highestFour: sorted.slice(20).map(p => p.start) }; return categories; }; const todayCategories = categorizeHours(today); const tomorrowCategories = categorizeHours(tomorrow); const getColor = (start) => { for (const day of [todayCategories, tomorrowCategories]) { if (day.lowestFour.includes(start)) return '#006400'; // Dark Green if (day.nextFour.includes(start)) return '#90EE90'; // Light Green if (day.middle.includes(start)) return '#1E90FF'; // Blue if (day.nextHighestFour.includes(start)) return '#FFA500'; // Orange if (day.highestFour.includes(start)) return '#FF0000'; // Red } return '#808080'; // Default Gray (shouldn't occur) }; return allData.map(p => ({ x: new Date(p.start).getTime(), y: p.value, fillColor: getColor(p.start) })); now: show: true label: Nå graph_span: 2d span: start: day locale: nb apex_config: chart: height: 300px zoom: enabled: true toolbar: show: true tools: zoom: true zoomin: false zoomout: false pan: false reset: true legend: show: false dataLabels: enabled: false xaxis: type: datetime labels: datetimeFormatter: month: ddd day: ddd yaxis: forceNiceScale: false min: 0 plotOptions: bar: columnWidth: '95%' På den måten kan jeg se når f.eks. varmekabler på bad og VVB er aktvert (som begge er aktivert på døgnets 8 billigste timer, altså mørkegrønne og lysegrønne farger). Etter nærmere ettertanke kan VVB og varmekabler uansett være aktivert om prisen er under 0.2 kroner. Gir derfor AI-assistenten følgende beskjed: can you modify the code and make all bars dark green if the value is bellow 0.2? og jeg får dette resultatet: Answer Certainly! I'll modify the code to make all bars dark green if their value is below 0.2, while keeping the color categorization for the rest. Here's the updated version: type: custom:apexcharts-card series: - entity: sensor.nordpool_kwh_oslo_nok_3_10_0 name: Pris type: column float_precision: 4 data_generator: > const today = entity.attributes.raw_today; const tomorrow = entity.attributes.raw_tomorrow; const allData = today.concat(tomorrow); const categorizeHours = (data) => { const sorted = [...data].sort((a, b) => b.value - a.value); // Sort descending const categories = { highestFour: sorted.slice(0, 4).map(p => p.start), nextHighestFour: sorted.slice(4, 8).map(p => p.start), middle: sorted.slice(8, 16).map(p => p.start), nextLowestFour: sorted.slice(16, 20).map(p => p.start), lowestFour: sorted.slice(20).map(p => p.start) }; return categories; }; const todayCategories = categorizeHours(today); const tomorrowCategories = categorizeHours(tomorrow); const getColor = (start, value) => { if (value < 0.2) return '#006400'; // Dark Green for values below 0.2 for (const day of [todayCategories, tomorrowCategories]) { if (day.highestFour.includes(start)) return '#FF0000'; // Red if (day.nextHighestFour.includes(start)) return '#FFA500'; // Orange if (day.middle.includes(start)) return '#1E90FF'; // Blue if (day.nextLowestFour.includes(start)) return '#90EE90'; // Light Green if (day.lowestFour.includes(start)) return '#00FF00'; // Green } return '#808080'; // Default Gray (shouldn't occur) }; return allData.map(p => ({ x: new Date(p.start).getTime(), y: p.value, fillColor: getColor(p.start, p.value) })); now: show: true label: Nå graph_span: 2d span: start: day locale: nb apex_config: chart: height: 300px zoom: enabled: true toolbar: show: true tools: zoom: true zoomin: false zoomout: false pan: false reset: true legend: show: false dataLabels: enabled: false xaxis: type: datetime labels: datetimeFormatter: month: ddd day: ddd yaxis: forceNiceScale: false min: 0 plotOptions: bar: columnWidth: '95%' Som gir meg denne: ...så kan jeg lage automasjonene tilsvarende. Andre som har fått tilsvarende hjelp?3 poeng
-
Jeg har kjøpt et par "Arida 160RE" ventilatorer med varmeveksler. De kan kommunisere som master/slave via kabel. "Klimair 160RE" og "Südwind Ambientika" ser ut til å være samme ventilator. "Südwind Ambientika Wireless+" har trådløs kommunikasjon på 868MHz, og jeg ville lage noe tilsvarende til Arida 160RE. Da slipper jeg å banke opp CAT5 -kabel 🙂 Kontroller-kortet er av bra kvalitet. Bestykket med Texas MSP430TM microkontroller og Texas SN75176B differential bus tranceiver. Ut fra hva jeg målte, og så på skopet, måtte vifta ganske sikkert kjøre Modbus/RS485. Kjøpte et par Eletechsup RT18A01 RS485 868MHz tranceivers. Alternativt RT4AE01. 240 kroner 'ish for 2stk i den store butikken. Litt utfordring å finne dokumentasjon. De er klare til bruk, men konfig kan endres med AT-kommandoer via et USB/RS485 interface. Tranceiverne passet perfekt i innbyggingsbokser (#89041) fra Kjell&Co: Testet tranceiverne på viftene. Den ene vifta satt opp som slave + motsatt luftstrøm av master. Våget ikke å "stjele" 5V fra vifte-kontrollerne. Tranceiverne får strøm fra noen gamle mobilladere. Virket!! Før permanent montering, har jeg endret ID + satt ned effekten på tranceiverne et par hakk. Bare 9m avstand og nærmest fri sikt mellom dem. Det gikk greit å endre konfig med AT-kommandoer via GTKTerm eller CoolTerm i Linux. I stedet for fjernkontrollen, kan jeg styre master-vifta på IR fra Home Assistant via en Broadlink RM4 Mini. Har brukt "python-broadlink" for å hente kodene fra fjernkontrollen. Et annet alternativ er å ha en RS485 tranceiver #3 med USB interface som master, sette begge viftene som slaver og styre de fra PC. Men ikke i dag. Nå prater viftene sammen - trådløst. Og det var målet3 poeng
-
Etter stadige innbrudd med påfølgande redusert kjeksbeholdning vart det i dag konkludert med at dette ikkje kan fortsette. Fleire tiltak vart vurdert, før konklusjonen vart å montere Aqara dørsensor! Testa med god effekt, så får vi sjå framover om tjuven ved neste anledning får ein overraskelse 😁 Snapchat-532688679.mp43 poeng
-
Hei og takk for sist! Og til alle som har brukt diverse sTech homeseer plugins, beklager! Jeg gikk tom for tid og har ikke hatt homeseer på en god stund så derav ingen oppdateringer av plugins 😕 Bygger nytt hus om dagen, og da jeg skulle velge nytt system bestemte jeg meg for å gå for den store drømmen: Lage eget system helt i fra scratch. Planen er å lage billige sensorer med ESP32 og kina sensorer, og for alt med "høyspent" blir det hyllevare med åpent Api(trenger hjelp til å finne gode produkter her! Ser på sonoff for øyeblikket, kan det være noe?). Planen er å lage noe ala dette: Altså ett lass av C# console Klienter som snakker med en C# server via TCP, helt sikker på at det blir flere etterhvert. Så blir det en "app" laget i .NET MAUI slik at jeg kan bruke det på flere teknologier men i utganspunktet på android og iOs. Jeg er helt i startfasen og har laget en simpel sensor med temp og fuktighet(dht11) og lyssensor. Ikke veldig spennende men er iallefall i gang. Pr dags dato ser det slik ut, og følger ikke en typisk "nettverksprogrammering struktur", enda. Gjort det litt enkelt nå i starten for å komme i gang: Appen ser for tiden slik ut på windows maskin: Og slik på android: Planen videre er å begynne å teste lysstyring/høyvolt og tenker å kjøpe meg no sonoff greier for å teste. Men tar gjerne i mot tips til andre leverandører som har åpent og bra Api, er stabilt og bra og gjerne har en ok pris. Kommer til å fortsette å oppdatere etterhvert som systemet vokser og endrer seg 🙂2 poeng
-
Jeg holder på å teste å styre Futurehome Charge via OCPP i Home Assistant Green. Det ser ut til å fungere, og HomeAssistant rapporterer bl.a. følgende fra lader: Current export Time session Current offered Maximum Current Voltage Energy meter start Energy session Availability Charge Control Etc Bilen lader, og verdiene leses av. Et par ting: OCPP på HomeAssistant er ikke et offisielt støttet tillegg. Du må enable advanced mode, installere HACS, ssh, terminal etc. Etter du har satt opp OCPP, så må du forsøke å koble laderen til COPP-serveren. Du må gå inn i appen (om du fortsatt har tilgang), gå inn i innstillinger for lader og velger å endre tilkoblingstype til wifi. , angi/bekrefte rette innstillinger for kurs og ampere, angi navn og passord til wifi den skal koble seg til. Pass på at du kobler laderen til nettet ditt via 2.4Ghz. Jeg hadde et valg på min ruter for å sette opp eget IoT-nett som kun er 2.4Ghz og som gjør at den ikke krangler med 5Ghz. Når den er på wifi, må du velge avansert og ikke standard server.( Standard gjør at den bruker FutureHome sin egne OCPP-server.) Da får du opp valg om adresse til OCPP-server, brukernavn og passord. Adressen til OCPP-serveren er ws://homeassistant.local:9000. Jeg vet ikke om det er nødvendig, men jeg satte navnet på lader lik slutten på adressen den forsøkte å koble seg opp med og som jeg fant i websocket loggen. For min lader var det 16 tall som startet på : 22402…) Passordet lar du stå blankt. Futurehome-appen vil gi deg feilmelding etter du har lagt inn opplysningene til OCPP-serveren (Parring mislykket), men det er sannsynligvis likevel i orden. Sjekk i HomeAssistant om det nå har dukket opp en ny device under OCPP i HomeAssistant som du kan akseptere. Du får da opp et nytt skjema der du gir den navn etc. (Jeg ga den samme 16-sifrede navn her) Lagre innstillingene, og se nå om du har kontakt og at den kan lese av verdier fra lader. Det kan hende at du må velge "Forsøk igjen" fra appen for at den skal koble seg på. De skal nå ligge en default widget på forsiden som viser alt mulig og mye som ikke støttes. Jeg kommer i alle fall til å lage egne wigets og et dashboard 🙂 Jeg er ingen utvikler og brukte ChatGPT for alt det er verdt, men det var flere av punktene over den ikke klarte å tipse om. Nyttige kilder https://home-assistant-ocpp.readthedocs.io/en/latest/ https://support.futurehome.no/hc/en-no/articles/16882850166429-Futurehome-Charge-Connecting-to-OCPP-backend2 poeng
-
Jeg har nå satt opp en virtuell Home Assistant (HA) for testing, og opplevde at det var en relativt enkel prosess. Det skal imidlertid sies at jeg er oppvokst med PC-er, så jeg har kanskje en lavere terskel for tekniske oppsett enn de som opplever en viss "PC-frykt". Jeg vil likevel tro at de fleste som vurderer å migrere til Home Assistant er komfortable med PC-bruk. Har nå bestilt Raspberry pi 5 ++ zigbee dongle så nå er neste ledd snart på vei. I forbindelse med videre eksperimentering har jeg lekt meg litt med oppsettet, og det er helt riktig som du påpeker at det kreves en god del arbeid for å få dette systemet fullt operativt. Dette er nok en del av ett ledd i å gå over til å gjøre huset om til smarthus, som vil gi stor glede om man er villig til å legge ned en innsats... Men ting tar tid. Når det gjelder Futurehome, er jeg sterkt kritisk til deres forretningspraksis. Å lokke kunder med "0 abonnementsavgift", onboarde et stort antall brukere, for så å slå seg konkurs og deretter opprette et nytt firma for å innføre abonnementer, er ikke bare skuffende – det er på grensen til kriminelt. Det framstår for meg at de har solgt løsningen med lav onboarding + enovastøtte for å komme til dette punktet uten at det "vekker oppsikt". Personlig nekter jeg å støtte en slik fremgangsmåte og foretrekker heller en "dum lader" fremfor å bidra økonomisk til FHSD Connect /"Futurehome". Hadde de vært genuine hadde de tilbydd opprinnelige kunder å beholde løsningen, men legge framtidige forbedringer/oppdateringer bak en betalingsmur/frivillig abonnementsløsning. I stedet tvang de igjennom en oppdatering og godtok du ikke den ble du logget ut av appen. For øvrig setter jeg pris på at du har samlet all informasjonen om Home Assistant. Det er mye der jeg har bruk for. Tusen takk for hjelpen!2 poeng
-
Det er litt mer bakvendt i HA enn ellers men greit beskrevet her: Generelt (tatt litt på husken): Du starter med å registrere deg hos Tailscale. Logg inn og legg til maskiner i Tailscale: https://login.tailscale.com/admin/machines, Add device/Client device I eksempelet her er Linux valgt og kommandoen som kjøres viser nederst. Følg instruksjonene på skjermen. Det er ikke store installasjonen. For telefoner/nettbrett henter du app i Appstore/Google Play. Alle maskiner dukker opp i https://login.tailscale.com/admin/machines og her finner du global IP og et mer "huskbart" navn som <maskinnavn>.<din tailscaleID>.ts.net Kommunikasjon med enheten som tidligere bare var i lokalnettet som "homeassistant.local:8123" eller 192.168.x.y:8123 (som fremdeles virker) kan nå gjøres fra hvor som helst, inkl i hjemmenettet, mot "homeassistant.<din ts ID>.ts.net:8123 Noe av der fine med dette er at når du er rundtom egen eiendom men utenfor WiFi sonen din (jeg har i alle fall en mengde slike steder) så har du direkte kontakt via mobilnett og Tailscale til lokalnettet uten noe plunder og heft.2 poeng
-
2 poeng
-
Eg fekk det til! Det var ein nyare versjon av z-wave plugin tilgjengelig (3.0.11.0), oppdaterte til denne og tok ny rescan og då dukka resten av child-devicane opp. Eg har ordna meg med HS4-lisens, men har per no ikkje sett nokon store fordeler med å oppgradere. Til no var dette det aller første tilfellet av trøbbel med inkludering av z-wave, og det løyste seg denne gongen òg. Det stemmer med prinsippet at z-wave skal vere z-wave med krav til kompabilitet på tvers av ulike fabrikat - i motsetning til zigbee der det kan vere ganske bob-bob om det fungerer på tvers eller ei. Eg har ein heil del NodeMCU-kort til bl.a. garasjeportovervåking, temperaturmålingar m.m., og samtlige av desse må rekonfigurerast ved overgang til HS4, då HS3-plugin ikkje er støtta av HS4. Så dette er den største og viktigaste grunnen til at eg ikkje har oppgradert. Fordi resten fungerer faktisk knirkefritt.2 poeng
-
Kan nevnte løsningen jeg gikk for, mtp at jeg misliker batterisensorer. Kjøpte en 8pack av disse på zigbee: https://www.aliexpress.com/item/1005007755890938.html Og tilhørende strømadaptere: https://www.aliexpress.com/item/1005006843406438.html Smalt rett inn i Z2M, har ikke kontrollmålt, men virker å oppdatere relativt frekvent. Bare testet 2stk til nå i en ukes tid, så vet ikke noe mtp stabilitet på lang sikt.2 poeng
-
Hei! Da er endelig FW på plass med korrekt rapportert FW versjon. Hvit: 4512750 Sort: 4512751 Forskjell på FW er kun at du får rapportert korrekt produkt nr. 4512750-Firmware.zip 4512751-Firmware.zip2 poeng
-
For dem som har HAOS eller Supervisor, f.eks på en Raspberry Pi, kan dere benytte denne Add-On: https://github.com/haugeSander/Homely-HA-Addon. Denne benytter løsningen til yusijs: homely-mqtt, og gjør den til en funksjonell add-on. Har ikke sett på å legge den inn på HACS, vet ikke om det er en mulighet. Den er ikke testet over lengre tid, mistenker at tildelt minne vil fylles opp over tid, som kan føre til at den krasjer. Ved å skru på "Watchdog", vil den restarte om dette skjer. For å aktivere/installere den: 1. Gå inn på Add-on > Add-on store > Klikk på tre prikkene i høyre hjørne 2. Klikk på "Repositories", kopier inn github lenken over, og "Add" 3. Refresh Add-on siden, scroll ned til du finner add-on: "Homely MQTT Bridge" 4. Klikk på den, så klikk "Install" 5. Inne på Configuration, legg inn verdiene som trengs a) MQTT-Host kan være core-mosquitto for Mosquitto broker, og core-emqx for EMQX 6. Sørg for at MQTT user og password er de samme som er brukt i MQTT broker 7. Dersom alt er konfigurert riktig, vil du kunne se blant annet: Starting Homely MQTT Bridge..., og Authenticated, og loaded X home.2 poeng
-
Hvorfor skal en alltid utjevne forbruk? En bør helller ha en modell som bidrar til å flytte last fra tider der nettet er hardt belastet til tider der nettet er lite belastet. Da nytter det ikke med en modell som straffer høyt forbruk på tider der nettet er lite belastet.2 poeng
-
2 poeng
-
Løsningen jeg bruker i verkstedet var bare å ta en gammel ruter med wifi bridge funksjon, jeg brukte en gammel asus RT-N66u, der heter funksjonen "Media-Bridge" og da kobler den opp ruteren opp til TP-link Wifiet mitt, og du kan bruke lan portene i den for å få nettverkskobling og du får IP addresse som vanlig fra hovedruteren din (så det blir ikke et separat nettverk). Veldig mange av ihvertfall asus sine rutere har denne funksjonen. Her er hvordan man gjør det med asus routere https://www.asus.com/support/faq/1043884/ Fordelen med å bruke en gammel ruter er jo at man ofte har de hjemme hvis man er skrotnisse, evt kan kjøpe på finn for en hundrelapp.2 poeng
-
"hva skal vi med all informasjonen?" toget gikk nok på 90-tallet engang. Eller kanskje før? Mulig det kan tidfestes til at "folk flest" fikk et barometer på veggen?2 poeng
-
Home Assistant 2024.9 har nå integrasjon for Fujitsu varmepumper. https://www.home-assistant.io/integrations/fujitsu_fglair Jeg har brukt metoden Håvardgj har beskrevet i denne tråden i lengre tid og den har fungert uten problemer, men jeg kommer til å prøve denne integrasjonen når jeg får tid til å oppgradere til 2024.9.2 poeng
Vinnerlisten er satt til Oslo/GMT+02:00
