Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

SveinHa

Medlemmer
  • Innlegg

    1 504
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    72

Alt skrevet av SveinHa

  1. På varmepumpeanlegget mitt står der en Itron-UltraMaXX-V energimåler som har M-Bus tilkobling. Så langt har denne bare stått som en frittstående enhet med manuell avlesing men den skal ha m-bus innebygget. AMS målerene går jo også på m-bus og kan det være mulig å bruke f.eks. Tibber Pulse til å lese data herfra? Tibber Pulse kan jo settes opp til å sende data til min MQTT broker og det har jeg gjort med den som står på AMS måleren men har ikke lyst til å ta den ut av drift for eksperimentering. Der finnes en brukt Tibber Pulse til salgs ikke så veldig langt hjemmefra men det kunne være greit med noe kvalifisert synsing om dette kan la seg gjøre. Tibber Pulse sender jo bare rådata, de må jo dekrypteres i etterkant... Håper måleren min har trådbundet m.bus, den har i alle fall optisk... Andre m-bus2mqtt eller m-bus til ZWave/Zigbee som finnes i markedet og anbefales? Edit: Ser at HAN porten er master og da blir Tibber Pulse slave. Tviler på at Itron måleren er master siden den er batteridrevet (står ikke noe om det i manualen) og 2 slaver snakker neppe sammen...
  2. Greit å standardisere men ser ikke noe stort poeng med at alle enheter på garasjeporten skal være samme teknologi. Portmotorer flest er litt triksne å automatisere siden der bare er en knapp for betjening og denne både kjører porten og eller ned og stopper den om den er i bevegelse. Jeg har Nexa AN179 rele som betjener portmotoren og endebrytere (en ZWave og en Zigbee, litt tilfeldig at det ble 2 forskjellige, den første gir en litt omtrentlig posisjon og den andre litt mer presis, liker egentlig den første best til dette bruket) som indikerer om porten er åpen eller lukket. Disse enhetene til sammen setter en statusvariabel til 5 forskjellige verdier: Åpen, Åpner, Lukker, Stengt og Ukjent. Logikken for setting av statusvariabel er enkel: Er porten stengt og releet aktiveres: "Åpner" Er porten åpen og releet aktiveres: "Lukker" Endebryter lukket betjenes: "Stengt" Endebryter åpen betjenes: "Åpen" Ingen signal fra endebrytere i løpet av port-kjøretid x 2: "Ukjent" Med denne statusvariabelen er det enkelt å lage automasjoner som: Hvis klokken er 22 og porten er åpen: Steng port (= aktiver rele i 1 sek)
  3. Nå kjører ikke jeg noen 24/7/365 systemer på Windows lengre siden der før eller siden blir en tvungen oppdatering som ikke gjør seg ferdig automatisk (du kan bare utsette en viss tid før den installeres automatisk og som regel MÅ du svare på noen spørsmål etter restart før Windows/HS4 er oppegående igjen) men bortsett fra det så jeg har en super løsning: Virtuelle maskiner, både Windows, Linux og whatever kjørende under gratis ESXI. Synology NAS som tar backup av alle virtuelle maskiner f.eks. hver natt. Skjer der et alvorlig havari er det fort gjort å dumpe tilbake en hel virtuell maskin fra backup og du er oppegående igjen. Kan (og bør) suppleres med annen backup.
  4. Zigbee2mqtt er en god start men du må også ha en MQTT Broker som Mosquitto. Både Zigbee2mqtt og Mosquitto kjører lett på samme Pi. og også MQTT Explorer når du først er i gang... Baller litt på seg men å innføre MQTT er en super løsning som et universalgrensesnitt. Når Mosquitto er installert og satt opp (nesten ikke noe oppsett i det hele tatt) er du ferdig ed den. MQTT Explorer er et supert verktøy for å se hva som skjer i Mosquitto (eller evt annen broker) og Zigbee2mqtt er bindeleddet mellom Zigbee enhetene og broker. Bruk litt tid på å sette deg inn i disse sakene så har du et godt grunnlag for hva du nå enn finner på senere. Har du allerede Raspbee så ville jeg brukt den men skal du kjøpe så gå for en USB variant og en liten eller evt litt lengre USB-forlengelseskabel...
  5. SveinHa

    Analyser MQTT trafikk.

    Ja, MQTT Explorer er super og jeg ser den har noe verktøy innebygget (som jeg ikke har satt meg inn i enda) men poenget mitt her og nå var å finne ut hvilke enheter på zigbee eller zwave som har mest aktivitet på nettet og jeg har fått meg et par overraskelser...
  6. Nå kjenner ikke jeg Homey men du kan helt sikkert starte med å manuelt sette timere dag for dag når berederen skal få lov å være på. Du finner strømprisdata på nett for i dag og i morgen og det er kjapt gjort å manuelt plukke seg ut noen få billige timer og programmere berederen til å bare være på da. Bare det er en god start og så kan du automatisere mer etterhvert...
  7. En kan ikke vite selv om en har statistikk. Det siste året har jo strømprisene hoppet som en ungfole på vårslepp og ligner ikke på tidligere år. Statistikken gir deg bare en kvalifisert gjetting... Se bare på november, fram til midt i måneden så strømstøtten ut til å bli rundt 0 men endte opp på en snau 50-øring...
  8. SveinHa

    Analyser MQTT trafikk.

    Første Python scriptet skiller på device mens denne varianten går på enhetsnivå: import os command = "sort MQTT_topics.txt -o MQTT_topics_s.txt" res = os.system(command) count = 0 fileIn = open('MQTT_topics_s.txt') fileOut = open('MQTT_topics_c.txt', 'w') oldLine="" for line in fileIn: #print("Line: " + line) newLine = line pos = newLine.find('/', 0) # Finn første / pos = newLine.find('/', pos + 1) # Finn andre / pos = newLine.find('/', pos + 1) # Finn tredje / if newLine[:pos+1] == oldLine[:pos+1]: # Begrens strenglengde til tredje / count += 1 else: if pos > 0: subline = newLine[:pos + 1] # Begrens strenglengde til tredje / else: subline = newLine msg = str(count) + ", " + subline + '\n' fileOut.write(msg) count = 0 oldLine = newLine fileIn.close() fileOut.close() command = "sort -nr MQTT_topics_c.txt -o MQTT_topics_c.txt" res = os.system(command) res = os.remove('MQTT_topics_s.txt') Resultatet kan bli slik (antall duplikater + enhetsnavn): 949, zigbee2mqtt/Lys/SpisebordDim/ 505, zwave/Pool/Fylling/ 504, zwave/Pool/Filter/ 417, zwave/Kjok/BevegAeotec/ 351, zigbee2mqtt/Lys/EldhusUte/ 344, zigbee2mqtt/IKEA/Kjok_TrafoN/ 342, zwaveGar/Garasje/BevegNexa/ 280, zwave/Kjok/BevegNexa/ 264, zwave/Eldhus/BevegAeon/ 233, zigbee2mqtt/HUE/OctoPower/ 218, zwave/Kjok/Eureka/ 218, zigbee2mqtt/IKEA/Kjok_TrafoS/ 202, zwave/Bad/FibaroEye/ 201, zwave/TekniskRom/SStovsuger/ 197, zwaveGar/_CLIENTS/ZWAVE_GATEWAY-Zwavejs2MqttGar/ 180, zigbee2mqtt/Solar/PwrInDiesel/
  9. SveinHa

    Analyser MQTT trafikk.

    Der finnes sikkert en del verktøy for å analysere MQTT trafikk men jeg fant ut jeg skulle lage et selv spesifikt med tanke på kun zwavejs2mqtt og zigbee2mqtt. Jeg har laget loggedelen i Node-Red men regner med tilsvarende funksjon finnes i andre verktøy. Først logges all aktuell trafikk. 2 varianter her: Abonner på ALL MQTT trafikk og filtrer ut det du er interessert i Abonner på kun aktuelle topics Alle MQTT nodene er disablet her, enable enten øverste eller en eller flere av de nederste og la dette kjøre en tid, gjerne en time eller 2. Da havner alle aktive topics i filen MQTT_topics.txt. En liten bit av den kan se slik ut: zwaveGar/Garasje/BevegAeotec/configuration/endpoint_0/Upper_Humidity_Limit zwaveGar/Garasje/BevegAeotec/configuration/endpoint_0/Lower_Humidity_Limit zwaveGar/Garasje/BevegAeotec/configuration/endpoint_0/Upper_Lighting_Limit zwaveGar/Garasje/BevegAeotec/configuration/endpoint_0/Lower_Lighting_Limit zwaveGar/Garasje/BevegAeotec/configuration/endpoint_0/Upper_Ultraviolet_Limit zwaveGar/Uteomraade/UtelysGarasje/switch_multilevel/endpoint_1/targetValue/set zigbee2mqtt/Lys/EldhusUte/set zigbee2mqtt/Lys/SpisebordDim/set zigbee2mqtt/Lys/Sov1Tak/set zigbee2mqtt/HUE/Garasje1/set zwaveGar/Garasje/BevegAeotec/configuration/endpoint_0/Lower_Ultraviolet_Limit zwaveGar/Garasje/BevegAeotec/configuration/endpoint_0/Temperature_Recover_Limit/65280 zwaveGar/Garasje/BevegAeotec/configuration/endpoint_0/Recover_Limit_Temperature_Unit/255 zwaveGar/Garasje/BevegAeotec/configuration/endpoint_0/Humidity_Recover_Limit zwaveGar/Garasje/BevegAeotec/configuration/endpoint_0/Lighting_Recover_Limit zwaveGar/Garasje/BevegAeotec/configuration/endpoint_0/Ultraviolet_Recover_Limit zwaveGar/Garasje/BevegAeotec/configuration/endpoint_0/Temperature_Below_Lower_Limit/1 zwaveGar/Garasje/BevegAeotec/configuration/endpoint_0/Temperature_Above_Lower_Limit/16 Kjør så dette Python scriptet: import os command = "sort MQTT_topics.txt -o MQTT_topics_s.txt" res = os.system(command) count = 0 fileIn = open('MQTT_topics_s.txt') fileOut = open('MQTT_topics_c.txt', 'w') line=fileIn.readline() while len(line)!=0: newLine=fileIn.readline() if newLine[:newLine.rfind('/')] == line[:line.rfind('/')]: # Begrens strenglengde til siste "/" count += 1 else: subline = line[:line.rfind('/')] # Begrens strenglengde til siste "/" msg = str(count) + ", " + subline + '\n' fileOut.write(msg) count = 0 line = newLine fileIn.close() fileOut.close() command = "sort -nr MQTT_topics_c.txt -o MQTT_topics_c.txt" res = os.system(command) res = os.remove('MQTT_topics_s.txt') ...og der dukker opp en fil med navnet MQTT_topics_c.txt som inneholder alle topics fram til siste "/" med antall duplikater funnet sorterrt synkende: En liten bit av den kan se slik ut: 109, zigbee2mqtt/IKEA/Kjok_TrafoS 109, zigbee2mqtt/IKEA/Kjok_TrafoN 108, zigbee2mqtt/IKEA 96, zwave/TekniskRom/QB2/sensor_multilevel/endpoint_3 96, zigbee2mqtt/Nedis 88, zwave/TekniskRom/QB2/sensor_multilevel/endpoint_0 87, zwaveGar/Garasje/BevegAeotec/battery/endpoint_0 82, zigbee2mqtt/Solar 80, zwaveGar/Garasje/BevegAeotec/sensor_multilevel/endpoint_0 78, zwave/Teknisk/Gulvtemperaturer/sensor_multilevel/endpoint_4 77, zwaveGar/Uteomraade/UtelysGarasje/switch_multilevel/endpoint_1/targetValue 77, zigbee2mqtt/Solar/PwrInDiesel 77, zigbee2mqtt/Solar/PwrIn NodeRed nodene er rimelig grunnleggende og kan importeres herfra: [{"id":"2b42c795f7798f70","type":"mqtt in","z":"1dce5ca2ce2c0a55","d":true,"name":"","topic":"#","qos":"2","datatype":"auto","broker":"6db118ed1b0c56de","nl":false,"rap":true,"rh":0,"inputs":0,"x":150,"y":2140,"wires":[["4417bad8572db2ed"]]},{"id":"4417bad8572db2ed","type":"change","z":"1dce5ca2ce2c0a55","name":"topic2payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"topic","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":2140,"wires":[["5ade4ca28718f0ef"]]},{"id":"b2d5a3fda7df79f1","type":"file","z":"1dce5ca2ce2c0a55","name":"","filename":"/home/pi/log/MQTT_topics.txt","appendNewline":true,"createDir":true,"overwriteFile":"false","encoding":"none","x":790,"y":2230,"wires":[[]]},{"id":"5ade4ca28718f0ef","type":"switch","z":"1dce5ca2ce2c0a55","name":"","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"zwave","vt":"str"},{"t":"cont","v":"zigbee","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":540,"y":2140,"wires":[["b2d5a3fda7df79f1"],["b2d5a3fda7df79f1"]]},{"id":"e70b6f1574b9e395","type":"mqtt in","z":"1dce5ca2ce2c0a55","d":true,"name":"","topic":"zwave/#","qos":"2","datatype":"auto","broker":"6db118ed1b0c56de","nl":false,"rap":true,"rh":0,"inputs":0,"x":160,"y":2190,"wires":[["715f21d7a7c96200"]]},{"id":"897acaa4eb04c040","type":"mqtt in","z":"1dce5ca2ce2c0a55","d":true,"name":"","topic":"zwaveGar/#","qos":"2","datatype":"auto","broker":"6db118ed1b0c56de","nl":false,"rap":true,"rh":0,"inputs":0,"x":170,"y":2240,"wires":[["715f21d7a7c96200"]]},{"id":"74edcc6a00fabba3","type":"mqtt in","z":"1dce5ca2ce2c0a55","d":true,"name":"","topic":"zigbee2mqtt/#","qos":"2","datatype":"auto","broker":"6db118ed1b0c56de","nl":false,"rap":true,"rh":0,"inputs":0,"x":170,"y":2290,"wires":[["715f21d7a7c96200"]]},{"id":"715f21d7a7c96200","type":"change","z":"1dce5ca2ce2c0a55","name":"topic2payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"topic","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":2230,"wires":[["b2d5a3fda7df79f1"]]},{"id":"c8766bd440588a3b","type":"comment","z":"1dce5ca2ce2c0a55","name":"Logg MQTT data for analyse","info":"","x":220,"y":2090,"wires":[]},{"id":"6db118ed1b0c56de","type":"mqtt-broker","name":"DaleMQTT","broker":"172.16.0.94","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"5","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}] Dette her er versjon 1, finner nok på noe bedre etterhvert...
  10. Så lenge du har hele infrastrukturen på plass ville jeg heller satset på styring av den berederen du allerede har. Mange zwave/zigbee kontaktorer som egner seg til det bruket.
  11. Ja, det kommer jo an på både størrelse på bereder og bruksmønsteret. Jeg kan lett ha min av i et par døgn men så er den 300 liter og vi er bare 2.5 pers og vi dusjer ikke så veldig mye.
  12. Vet ikke om jeg kan gjøre det. Har lett litt etter variabeltyper uten å finne noe... Ny variant: node.warn(kWh_part); kWh_part = kWh_part - 45000000; node.warn(kWh_part); Samme resultat:
  13. La inn: node.warn(kWh_part) node.warn(kWh_part - 45000000) helt i slutten av scriptet og resultatet er: Blir ikke stort klokere... Men den automatiske feilrettingen gjør jobben, har ikke fått noen katastrofer siden jeg la inn den og eneste ulempen, bortsett at det er å rette feil feil, er at jeg mister 2 sekund energidata en gang og 2 i døgnet og det er uvesentlig.
  14. Sjekker, takker og bukker for tips. Edit: Et slikt script: var a = 23000000; var b = 36000000; node.warn(a); node.warn(b); node.warn(a-b); resulterer i:
  15. Jeg hadde ikke sløyfe der i utgangspunktet men mistenkte at kWh_part noen ganger var større enn 36000000, normalt skal den ikke kunne bli det. Det er nok bare de gangene scriptet feiler... Vet egentlig ikke hvilken type variabel det er men har sjekket at den i alle fall kan inneholde 100 ganger 36000000.
  16. Feilrettingsrutinen gjør jobben men jeg merker meg at der er et tidspunkt som går igjen, 1m10s over heltimen: Skjønner likevel ikke hva som skjer...
  17. Jeg bruker også reell strømpris i de daglige beregningene selv om forskjellen på den og råpris varierer fra time til time og sånt sett ikke er reell (hvit: Råpris, gul inkl nettleie og oransje også inkl foreløpig strømstøtte): Strømstøtten has jo øket med rundt 40 øre på bare noen få dager nå... Flere ganger i høst har reell strømpris vært negativ og også flere ganger vært positiv i starten av måneden men etterhvert som strømstøtten har blitt mer reell har totalprisen blitt negativ.
  18. Jeg vil nå si at vv.bereder er en enkel måte å spare penger på. Du sparer ikke energi, som du allerede har funnet ut, men å varme berederen til kr 3.42/kWh koster mindre enn kr 7.09/kWh (som er aktuelle priser uten strømstøtte/nettleie i dag)
  19. Ja, bare at regnestykket inkludert strømstøtte vet du ingenting om i det øyeblikket strømmen forbrukes, du vet kun i forhold til timene før og etter. Resultatet blir det samme: Kjøper du billig blir totalen langt rimeligere enn om du kjøper dyrt selv om tallene ikke er klare før måneden er slutt..
  20. Tja, det er jo det som til slutt går ut av kontoen men de tiltakene du gjør fra dag til dag relateres jo til faktisk strømpris her og nå. Strømstøtten vet en jo lite om i begynnelsen av måneden men blir sakte men sikkert mer pålitelig time for time...
  21. Jeg har heldigvis for det meste gamle frysebokser, 2 stk fra 1990 eller tidligere, 1 kjøl/fryseskap fra samme tidsperiode, alle stående i eldhus som for tiden holder +1 grd.C. Alle fryseboksene holder ca -20 grd.C og energiforbruket pr enhet ligger normalt på 1.6 kWh/døgn men er nå nede i 0.9 kWh/døgn. Samsung French door kjøl/fryseskapet i huset bruker også rundt 1,7 kWh/døgn.
  22. Installerte et snøsmelteanlegg i fortau en gang i et annet årtusen, skulle være svært så flotte greier med sensorer i overflaten men i praksis tok det 3 dager fra snøen falt til den begynte å smelte... så varmekableme ble slått manuelt på hele snøsesongen i stedet for automatisk styring med sensorer... Selv om værmeldinger kan være veldig så som så har jeg nok mer tro på en styring ut fra værprognoser...
  23. For the record: Node-Red har en "AMS Decoder" som dekoder data fra Kamstrup, Aidon og Kaifa målere uten ElWiz.
  24. Ser sånn ut ja... https://www.nrk.no/vestland/omdommekrise-for-straumselskap_-_-difor-forlet-vi-tibber-1.16213906
  25. Hvis du skal tjene stort på annen type automasjon på det anlegget må du nok ha en slags spotpris/timepris på fellesvarmen slik at det vil svare seg å kjøre på med varme når den er lavt priset. Tror jeg ville bare latt den delen av anlegger gå som det går...
×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.