Smarthjemmet https://smarthjemmet.dk/ Bloggen om hverdagens smarte gadgets Sat, 23 Nov 2024 21:54:36 +0000 da-DK hourly 1 https://wordpress.org/?v=6.5.3 https://smarthjemmet.dk/wp-content/uploads/2021/01/favicon-100x100.png Smarthjemmet https://smarthjemmet.dk/ 32 32 221095949 Loftbelysning og akustikpaneler https://smarthjemmet.dk/2024/11/loftbelysning-og-akustikpaneler/ https://smarthjemmet.dk/2024/11/loftbelysning-og-akustikpaneler/#respond Sat, 23 Nov 2024 21:51:31 +0000 https://smarthjemmet.dk/?p=1584 Jeg elsker LED lys og specielt LED strips. Godt nok har vi ikke særlig meget af det herhjemme, da det er svært at eftermontere, hvor det ikke ligner 💩. Jeg har længe ville have en LED strip som loftbelysning i vores lange gang på 12.5 meter, hvor jeg via smarte automations kunne lave nogle effekter, […]

Indlægget Loftbelysning og akustikpaneler blev først udgivet på Smarthjemmet.

]]>

Jeg elsker LED lys og specielt LED strips. Godt nok har vi ikke særlig meget af det herhjemme, da det er svært at eftermontere, hvor det ikke ligner 💩. Jeg har længe ville have en LED strip som loftbelysning i vores lange gang på 12.5 meter, hvor jeg via smarte automations kunne lave nogle effekter, der ikke bare var sjov og spas. Én idé var at installere motion sensors i hver ende og i midten (det har vi faktisk allerede), og så tænde lyset baseret på hvilken motion sensor der blev triggered først. Så kunne man lave noget fedt “running light” effekt. Lige dén idé var nok sjov og spas, men en funktionel en kunne være, at når døren til vores datters soveværelse blev åbnet, så slukkede den sektion omkring værelset. Så var det i hvert fald ikke lyset der gjorde, at hun eventuelt blev vækket af os.

Jeg fik lov (ja, jeg var også selv lidt chokeret) til at købe akustikpaneler og LED strips til gangen, og faktisk lave dette projekt som jeg gerne ville. Annesofie var så heldig at finde nogle fine akustikpaneler fra Fibrotech der var frasorteret, da de ikke levede helt op til kravene – og så til kun 150 kroner stykket. Da de skulle hænges op i loftet, var vi ligeglade med, at de ikke stod knivskarpt.

Udfordringer med LED strips

Jeg begyndte straks at undersøge LED strip belysningen, og fandt hurtigt ud af, at det faktisk var sværere end forventet, når jeg har nogle specifikke krav. Jeg vil nemlig have at de LED strips er “digitale”. Altså, hvor man kan styre sektioner individuelt, som du kan læse mere om her, så jeg kunne lave effekter. Jeg havde heldigvis ikke noget krav til farver, udover jeg vidste det skulle være varm hvid. Ingen diskolys i gangen.

Problemet jeg løb ind i var, at bredden på rillen mellem lamellerne på akustikpanelerne kun måler cirka 14 millimeter og de LED strips jeg kunne finde havde en bredde på 10 millimeter. “Men Morten, så er der da 2 millimeter på hver side tilovers”, spørger du nok. Og det er også korrekt – men har du lyst til at se på en hvid og gul LED strip på sort baggrund? Nej, det har du nok ikke. Selv hvis man købte sorte LED strips, ville selve LEDerne være gule når de er slukket og desuden vil lyset ikke blive “diffused”. Man ville nemt kunne se de enkelte LEDer, og det er bare ikke pænt. “Men Morten, hvorfor bruger du ikke bare aluprofiler så?”, spørger du nok igen. Og igen har du ret, for det endte jeg også med. MEN… der findes måske en håndfuld aluprofiler i verden, med en maksimal bredde på 14mm, der kan tage en 10mm LED strip, der kommer i sort og har sort plastik på til at “diffuse” lyset. Jeg fandt én sælger i Kina, og de aluprofiler var ikke billige.

Næste problem var strøm. De LED strips jeg endte med, WS2811, har Quinled målt til 61.9 watt per 5 meter. Da jeg har 12.5 meter fra den ene ende til den anden, og jeg har to strips, skal jeg derfor finde en strømforsyning der kan levere 61.9 * 5 = 309.5 watt, bare for at være på den sikre side. Jeg endte derfor med en 350W Mean Well strømforsyning, der leverer 24 volt. Min WS2811 LED strip kører nemlig på 24 volt, og det er en kæmpe fordel, da man ikke behøver lave power injection.

Smart-ificering

Det sidste jeg mangler for at gøre det hele smart, er selvfølgelig at det er styret trådløst (selvom trådet er smartere). På loftet har jeg en ESP32 der kører WLED, som også er koblet på Home Assistant. Derudover har jeg via min gamle korrespondance installation i gangen, valgt at smidt en optocoupler på, så når jeg trykker på knappen på væggen, så lyser en lille LED, som en lille chip ser og sender et signal til en anden ESP32. Den ESP32 kører ESP-NOW, som snakker direkte med den ESP32 der kører WLED, ved at emulere en WizMote fjernbetjening. Det smarte ved det er, at jeg kan slukke for mit WiFi og så kan jeg stadigvæk tænde lyset, da ESP-NOW kommunikerer direkte med “master” og “slave” uden at logge på WiFi. Grunden til ESP-NOW er bundet i, at der hvor lederne fra korrespondance afbryderne kommer hen, er i den anden ende af gangen end hvor WLED kører. Ellers havde jeg koblet den optocoupler direkte på den ESP32 der kører WLED, så jeg altid havde en fast trådet forbindelse til at tænde lyset.

Kan man nøjes?

Ork jo. Du får nok et chok, når du scroller ned om lidt og ser hvad lyset har kostet. Lad mig afsløre at akustikpanelerne var den markant billigste del, til trods for vi brugte 10 paneler og fik dem til 150 kroner stykket.

Man kan sagtens nøjes med at finde nogle andre aluprofiler på max 14mm bredde, som kan tage mod 8mm LED strips. 8mm strips er relativ standard for normale “dumme” analog LED strips, hvor du ikke kan styre hver LED enkeltvis. De analog LED strips kan fås i alle former fra hvid til RGB med hvid i. Flere danske forhandlere sælger kits speciallavet til akustikpaneler, men er man lidt handy og vil købe i Kina, kan du finde aluprofiler og LED strips i Kina og gøre det selv langt, langt billigere.

Links

Og med det sagt…

Husk nu strømmen. Når de her LED strips kører på fuld drøn, bruger hver side lige omkring 6.5 ampere i starten af LED strippen. Sørg for at bruge tykke ledninger. Hvis jeg brugte 12 volt LED strips i stedet for, så hed tallet nærmere 13 ampere, og det er ikke forsvarligt at gøre uden power injections. Worst case bliver det så varmt, at der går ild i det, og så står du uden hus/lejlighed, bare for at få noget fedt lys.

Billeder og video

Indlægget Loftbelysning og akustikpaneler blev først udgivet på Smarthjemmet.

]]>
https://smarthjemmet.dk/2024/11/loftbelysning-og-akustikpaneler/feed/ 0 1584
Introducerer: QUAD-ZIG-SW https://smarthjemmet.dk/2023/11/introducerer-quad-zig-sw/ https://smarthjemmet.dk/2023/11/introducerer-quad-zig-sw/#comments Tue, 14 Nov 2023 16:39:59 +0000 https://smarthjemmet.dk/?p=1403 Så blev det min tid til at få lavet en FUGA kompatibel kontakt. Efter at have udviklet MULTI-ZIG-SW og fået utrolig god feedback fra jer alle, har det også bevist over for mig, at det godt kan betale sig at videreudvikle på nogle produkter! Hvad er QUAD-ZIG-SW så? Ganske enkelt er det en enhed der […]

Indlægget Introducerer: QUAD-ZIG-SW blev først udgivet på Smarthjemmet.

]]>
Så blev det min tid til at få lavet en FUGA kompatibel kontakt. Efter at have udviklet MULTI-ZIG-SW og fået utrolig god feedback fra jer alle, har det også bevist over for mig, at det godt kan betale sig at videreudvikle på nogle produkter!

Hvad er QUAD-ZIG-SW så? Ganske enkelt er det en enhed der er presset ned i en 3D printet indsats, som du kan sætte ind i en FUGA ramme sammen med tangenter og en dækbjælke. Præcis ligesom svagstrømstryk du kan købe, hvis du vil lave ting med lavspænding (IHC eksempelvis).

Fordelen ved QUAD-ZIG-SW er, at den genbruger samme firmware som til MULTI-ZIG-SW, hvilket giver dig op til 16 forskellige kombinationer spredt ud på 4 knapper: Single, double, triple og hold/release. I bunden kan man nemt udskifte batteriet, uden man skal pille enheden ud af indsatsen først.

Det er muligt at montere QUAD-ZIG-SW i en dåse, men da der mangler klør der griber fat i dåsen, sidder den ikke perfekt. Jeg har skruet et par ind i væggen hos os med helt normale skruer og det ligner en hel normal afbryder!

Køb

Jeg har tilføjet QUAD-ZIG-SW som et produkt og tangenter, dækbjælker og rammer som tilbehør. Husk du skal bruge to tangenter, én dækbjælke og én ramme for at få det på billedet og i videoen.

Indlægget Introducerer: QUAD-ZIG-SW blev først udgivet på Smarthjemmet.

]]>
https://smarthjemmet.dk/2023/11/introducerer-quad-zig-sw/feed/ 10 1403
Watts Live ind i MQTT og Home Assistant https://smarthjemmet.dk/2023/09/watts-live-ind-i-mqtt-og-home-assistant/ https://smarthjemmet.dk/2023/09/watts-live-ind-i-mqtt-og-home-assistant/#comments Mon, 11 Sep 2023 06:35:18 +0000 https://smarthjemmet.dk/?p=1203 Forudsætning og good-to-know MQTT opsætning med Watts Live enheden er desværre ret teknisk, men de bør være i gang med at optimere dette flow. De fleste der opsætter det, kommer til at udfordre sig selv på nogle teknologier, de nok aldrig har arbejdet med før. Heriblandt er der eksempelvis brugt Bluetooth Low Energy (BLE). MEN!.. […]

Indlægget Watts Live ind i MQTT og Home Assistant blev først udgivet på Smarthjemmet.

]]>

Forudsætning og good-to-know

MQTT opsætning med Watts Live enheden er desværre ret teknisk, men de bør være i gang med at optimere dette flow. De fleste der opsætter det, kommer til at udfordre sig selv på nogle teknologier, de nok aldrig har arbejdet med før. Heriblandt er der eksempelvis brugt Bluetooth Low Energy (BLE). MEN!.. hvis du følger denne guide, så burde det være ret nemt!

Link til deres guide: https://watts.zendesk.com/hc/da/articles/10271861655580-Brug-Watts-Live-sammen-med-Home-Assistant

1. nRF Connect

Hop ind i din telefons app store og hent nRF Connect appen. Denne skal vi bruge til at kommunikere med Watts Live enheden.

2. BLE

Uden at gå for meget i detaljer, så findes der BLE services og BLE characteristics. De kan generelt kendes ud fra at have et UUID ligesom dette: fdcc2493-61be-421b-972c-d0be66b3d4a6

En service (MQTT) kan have mange characteristics (hostname, port, username og password).

Du kan aflæse (READ) og skrive (WRITE) til characteristics, men hver characteristic har en type såsom tekst (TEXT) og tal (UINT16). Det er vigtigt under opsætningen, at du vælger de rigtige typer, for ellers vil opsætningen fejle.

READ ligner en pil ned og WRITE ligner en pil op. Tænk på download og upload.

3. Sluk/genstart af Watts Live

For at genstarte Watts Live enheden, skal du tage den ud af din elmåler og vente indtil LEDerne stopper med at lyse. De må hverken blinke eller være tændt. Dette kan godt tage op til 5 minutter (dog omkring 2-3 minutter ud fra mine tests).

Du skal i alt genstarte din Watts Live enhed to gange.

4. MQTT information

Du kan bruge hvilken som helst MQTT broker såsom Mosquitto eller HiveMQ, men Watts Live understøtter desværre ikke SSL/TLS certifikater. Watts Live understøtter username og password, så du er i det mindste lidt sikret!

Dit Watts Live data findes under dette topic: watts/SERIENUMMER/measurement

SERIENUMMER kan du (desværre) kun finde på det fysiske produkt eller boksens omslag. I mit MQTT Explorer program til Windows, får jeg bare alt lortet serveret på et sølvfad, uden at skulle vælge hvilke topics jeg vil subscribe til. Alternativt kan man hos mange brokere og i mange programmer bare subscribe på #, hvilket burde give det samme.

SERIENUMMER er IKKE det samme som det serienummer du kan se i appen.

Opsætning af BLE characteristics

Start med at tage din Watts Live ud af elmåleren. Vent indtil alle LEDer stopper med at lyse. Sæt den derefter i elmåleren igen, hvorefter LEDerne begynder at blinke igen.

Åbn nRF Connect applikationen på din telefon og tryk på Scan oppe i højre hjørne. På listen burde du nu finde Watts Live, hvorefter du kan trykke på Connect:

Du er nu inde på en ny skærm, hvor du kan se de forskellige services. Find den der har dette UUID:

a2e1ea9b-01e8-4fe5-9b99-35e9cb44d4b6

Udvid den ved at trykke på hele rækken, hvorefter der burde komme en masse characteristics frem (4 i mit tilfælde). Disse characteristics er hostname, port, username og password:

8143af58-b9b8-47ca-911d-ad3564f10d0b – Hostname – TEXT (tekst)

c0175553-1ffd-4eb5-99ca-dc271f4ca050 – Port – UINT16 (tal)

41b6703a-0bac-46b4-a0fa-273f5bf641dc – Username – TEXT (tekst)

a59394ed-b929-41a9-81ab-8a16eec6a28c – Password – TEXT (tekst)

Kan du huske, jeg nævnte at typerne var vigtige? De skal nemlig vælges nu, når du skal til at WRITE dine oplysninger.

Hvis din MQTT broker ikke kræver et login, så skal du bare ignorere username og password. Du behøver ikke skrive en tom streng eller lignende.

I nRF Connect skal du blot klikke på pil op (WRITE) ud fra hver characteristic og så udfylde dem med dine oplysninger. Det kunne ligne noget i denne stil for hostname:

Og for port:

Bemærk at jeg har valgt TEXT for hostname og UINT 16 for port.

Så skal du bare klikke på Send, og så bliver værdierne skrevet direkte til din Watts Live enhed.

Du kan med fordel trykke på pil ned (READ), for at sende et “BLE request” der anmoder om, hvad enheden har gemt for den characteristic. nRF Connect har lidt svært ved at konvertere en UINT 16 om til et normalt tal, så du ser måske et hexadecimal tal i stedet for.

Nu skal du egentligt bare genstarte din Watts Live enhed. Tag strømmen fra, vent til LEDerne stopper med at lyse og sæt den til igen. Hop ind i din yndlings MQTT explorer og se dine nye fantastiske værdier:

Få data ind i Home Assistant

Watts teamet har været så rar at inkludere et par templates til sensors, så man kan hive dataen ud af MQTT og ind i sensors:

mqtt:
  - sensor: &watts_sensor
      name: Positive Active Energy
      device:
        name: Watts Live (SERIAL_NUMBER)
        identifiers: SERIAL_NUMBER
      device_class: energy
      state_class: total
      unit_of_measurement: Wh
      state_topic: watts/SERIAL_NUMBER/measurement
      value_template: "{{ value_json.positive_active_energy }}"
      unique_id: positive_active_energy
  - sensor:
      << : *watts_sensor
      name: Negative Active Energy
      device_class: energy
      state_class: total
      unit_of_measurement: Wh
      value_template: "{{ value_json.negative_active_energy }}"
      unique_id: negative_active_energy
  - sensor:
      << : *watts_sensor
      name: Positive Reactive Energy
      device_class: energy
      state_class: total
      unit_of_measurement: varh
      value_template: "{{ value_json.positive_reactive_energy }}"
      unique_id: positive_reactive_energy
  - sensor:
      << : *watts_sensor
      name: Negative Reactive Energy
      device_class: energy
      state_class: total
      unit_of_measurement: varh
      value_template: "{{ value_json.negative_reactive_energy }}"
      unique_id: negative_reactive_energy
  - sensor:
      << : *watts_sensor
      name: Positive Active Power
      device_class: power
      state_class: measurement
      unit_of_measurement: W
      value_template: "{{ value_json.positive_active_power }}"
      unique_id: positive_active_power
  - sensor:
      << : *watts_sensor
      name: Negative Active Power
      device_class: power
      state_class: measurement
      unit_of_measurement: W
      value_template: "{{ value_json.negative_active_power }}"
      unique_id: negative_active_power
  - sensor:
      << : *watts_sensor
      name: Positive Active Power L1
      device_class: power
      state_class: measurement
      unit_of_measurement: W
      value_template: "{{ value_json.positive_active_power_l1 }}"
      unique_id: positive_active_power_l1
  - sensor:
      << : *watts_sensor
      name: Positive Active Power L2
      device_class: power
      state_class: measurement
      unit_of_measurement: W
      value_template: "{{ value_json.positive_active_power_l2 }}"
      unique_id: positive_active_power_l2
  - sensor:
      << : *watts_sensor
      name: Positive Active Power L3
      device_class: power
      state_class: measurement
      unit_of_measurement: W
      value_template: "{{ value_json.positive_active_power_l3 }}"
      unique_id: positive_active_power_l3
  - sensor:
      << : *watts_sensor
      name: Negative Active Power L1
      device_class: power
      state_class: measurement
      unit_of_measurement: W
      value_template: "{{ value_json.negative_active_power_l1 }}"
      unique_id: negative_active_power_l1
  - sensor:
      << : *watts_sensor
      name: Negative Active Power L2
      device_class: power
      state_class: measurement
      unit_of_measurement: W
      value_template: "{{ value_json.negative_active_power_l2 }}"
      unique_id: negative_active_power_l2
  - sensor:
      << : *watts_sensor
      name: Negative Active Power L3
      device_class: power
      state_class: measurement
      unit_of_measurement: W
      value_template: "{{ value_json.negative_active_power_l3 }}"
      unique_id: negative_active_power_l3
  - sensor:
      << : *watts_sensor
      name: Positive Reactive Power
      device_class: reactive_power
      state_class: measurement
      unit_of_measurement: var
      value_template: "{{ value_json.positive_reactive_power }}"
      unique_id: positive_reactive_power
  - sensor:
      << : *watts_sensor
      name: Negative Reactive Power
      device_class: reactive_power
      state_class: measurement
      unit_of_measurement: var
      value_template: "{{ value_json.negative_reactive_power }}"
      unique_id: negative_reactive_power
  - sensor:
      << : *watts_sensor
      name: Voltage L1
      device_class: voltage
      state_class: measurement
      unit_of_measurement: V
      value_template: "{{ value_json.voltage_l1 }}"
      unique_id: voltage_l1
  - sensor:
      << : *watts_sensor
      name: Voltage L2
      device_class: voltage
      state_class: measurement
      unit_of_measurement: V
      value_template: "{{ value_json.voltage_l2 }}"
      unique_id: voltage_l2
  - sensor:
      << : *watts_sensor
      name: Voltage L3
      device_class: voltage
      state_class: measurement
      unit_of_measurement: V
      value_template: "{{ value_json.voltage_l3 }}"
      unique_id: voltage_l3
  - sensor:
      << : *watts_sensor
      name: Current L1
      device_class: current
      state_class: measurement
      unit_of_measurement: A
      value_template: "{{ value_json.current_l1 }}"
      unique_id: current_l1
  - sensor:
      << : *watts_sensor
      name: Current L2
      device_class: current
      state_class: measurement
      unit_of_measurement: A
      value_template: "{{ value_json.current_l2 }}"
      unique_id: current_l2
  - sensor:
      << : *watts_sensor
      name: Current L3
      device_class: current
      state_class: measurement
      unit_of_measurement: A
      value_template: "{{ value_json.current_l3 }}"
      unique_id: current_l3

Jeg bruger desværre en lidt anden måde at sætte MQTT sensors op, så jeg har eksempelvis dette i min configuration.yaml fil:

mqtt:
  sensor: !include mqtt_sensor.yaml

Og i min mqtt_sensor.yaml fil har jeg så været nødt til at tilføje state_topic: watts/SERIAL_NUMBER/measurement for hver eneste:

 - name: Positive Active Power
   device_class: power
   state_class: measurement
   unit_of_measurement: W
   state_topic: watts/MIT ID HER SOM TEKST/measurement
   value_template: "{{ value_json.positive_active_power }}"
   unique_id: positive_active_power

 - name: Negative Active Power
   device_class: power
   state_class: measurement
   unit_of_measurement: W
   state_topic: watts/MIT ID HER SOM TEKST/measurement
   value_template: "{{ value_json.negative_active_power }}"
   unique_id: negative_active_power

Hvis nogen ved hvordan man benytter sig af “variabler” ligesom i deres eksempel, så skriv gerne!

Genstart Home Assistant efter du har fået værdierne ind, så burde du nu få en masse sensors med værdierne i:

Derefter kan du lave en ny sensor, som tæller værdien op løbende, hvor du så kan tilføje den til Energy tabben i Home Assistant, hvor du kan få bonuspoint, hvis du har sat Energi Data Service op til at trække prisen i samme omgang:

template:
  - sensor:
      - name: "Watts Live lifetime consumption"
        unit_of_measurement: "Wh"
        state: "{{ states('sensor.positive_active_power') }}"
        state_class: "total_increasing"
        device_class: "energy"

Disclaimer: Jeg er ikke 100% sikker på, det er sådan det fungerer, hvis man har solceller, inverter og så videre. Hvis nogen ved mere om det, så prik gerne til mig.

Watts har også lavet deres egne Apex Charts grafer og sensors, som du kan bruge eller drage inspiration fra. Dem finder du i deres guide og kan eksempelvis se sådan her ud:

Too long, did not read (for nørderne)

  1. Genstart din Watts Live enhed og vent indtil LEDerne slukker, før du kobler den til igen
  2. Forbind til den med nRF Connect eller lignende og find servicen a2e1ea9b-01e8-4fe5-9b99-35e9cb44d4b6
  3. Skriv værdierne til disse characteristics (undlad username og password, hvis du ikke har det):
    • 8143af58-b9b8-47ca-911d-ad3564f10d0b – Hostname – TEXT (tekst)
    • c0175553-1ffd-4eb5-99ca-dc271f4ca050 – Port – UINT16 (tal)
    • 41b6703a-0bac-46b4-a0fa-273f5bf641dc – Username – TEXT (tekst)
    • a59394ed-b929-41a9-81ab-8a16eec6a28c – Password – TEXT (tekst)
  4. Genstart din Watts Live enhed

Indlægget Watts Live ind i MQTT og Home Assistant blev først udgivet på Smarthjemmet.

]]>
https://smarthjemmet.dk/2023/09/watts-live-ind-i-mqtt-og-home-assistant/feed/ 43 1203
Flash af nyt firmware på MULTI-ZIG-SW https://smarthjemmet.dk/2023/08/flash-af-nyt-firmware-paa-multi-zig-sw/ https://smarthjemmet.dk/2023/08/flash-af-nyt-firmware-paa-multi-zig-sw/#respond Wed, 09 Aug 2023 22:50:08 +0000 https://smarthjemmet.dk/?p=1165 Har du lyst til at opdatere din MULTI-ZIG-SW enhed til det nyeste firmware eller måske prøve at lave dit eget? Så læs med her! Historik for firmware til MULTI-ZIG-SW kan findes her: MULTI-ZIG-SW praktiske oplysninger OBS: Ved flash af eget firmware på MULTI-ZIG-SW, bortfalder retten til at reklamere jf. handelsbetingelserne. Du må gerne opdatere firmwaret […]

Indlægget Flash af nyt firmware på MULTI-ZIG-SW blev først udgivet på Smarthjemmet.

]]>
Har du lyst til at opdatere din MULTI-ZIG-SW enhed til det nyeste firmware eller måske prøve at lave dit eget? Så læs med her!

Historik for firmware til MULTI-ZIG-SW kan findes her: MULTI-ZIG-SW praktiske oplysninger

OBS: Ved flash af eget firmware på MULTI-ZIG-SW, bortfalder retten til at reklamere jf. handelsbetingelserne. Du må gerne opdatere firmwaret til en ny version jeg giver dig og bibeholde retten til at reklamere.

Anskaf nyt firmware

Ønsker du at opdatere din MULTI-ZIG-SW, så skal du scroll ned i bunden til afsnittet.

Ønsker du derimod at lave dit eget firmware, har jeg tidligere skrevet lidt om, hvordan jeg har lavet mine egne enheder ved at bruge PTVO og FreePad.

De 4 GPIO der bruges til inputs på MULTI-ZIG-SW er koblet på P00, P10, P14 og P22. Alle inputs har en pull-up modstand på 1.000.000 ohm (1 MOhm).

Hvis du vil bruge PTVO, kan din opsætning eksempelvis set sådan her ud:

Før du kan flashe

For at flashe CC2530 chippen som MULTI-ZIG-SW bruger, har du et par valgmuligheder i forhold til hardware. Jeg bruger altid en CC Debugger (reklamelink), da den er lavet specifikt til disse enheder og fordi den er utrolig hurtig til at flashe. Dog kan du også bruge en Raspberry Pi eller Arduino/ESP8266/ESP32, men de metoder er lidt sværere at sætte op og tager længere tid at flashe. Jeg vil kun gå lidt i dybden med CC Debugger, da det klart er det smarteste valg i min optik.

Zigbee2MQTT teamet har en fantastisk side til alternative måder at flashe CC2530/CC2531 på, som også inluderer Raspberry Pi og Arduino/ESP8266/ESP32: https://www.zigbee2mqtt.io/guide/adapters/flashing/alternative_flashing_methods.html

Opsætning af CC Debugger

Jeg har et par anbefalinger og links til hardware. Det er udelukkende det jeg selv bruger, for det gør livet meget, meget nemmere.

CC Debugger (reklamelink)

Dupont ledninger (reklamelink) (køb eventuelt et bundle hvor du både får F-F, F-M og M-M)

2.54mm burning test clip (reklamelink) (vælg 5P, Single row og 2.54mm)

Det bedste værktøj jeg har købt til mine enheder, er helt klart den der “burning test clip”. Der sidder en fjeder i hvert “stik”, som gør det nemt lige at indstille positionen. Jeg har inkluderet linket til dupont ledningerne, fordi du sagtens kan tage 5 hanstik og stikke dem igennem hullerne. Vælger du dupont ledningerne og har en 3D printer, findes der et fantastisk design jeg selv har printet og brugt. Man kan se mig bruge det kort i denne video.

Afstanden mellem centrum af hvert hul er 2.54 millimeter.

Når du har fat i det hardware du skal bruge, skal du kigge på bagsiden af din MULTI-ZIG-SW enhed, hvor du kan se noget tekst:

Teksten skal matche disse pins på din CC Debugger:

Vær opmærksom på den lille tap ud for pin nummer 5. Det er indhakket i din CC Debugger. Er du i tvivl om hvordan det vender, kan du altid måle om der kommer 3.3 volt på pin 1 og 9 på CC Debuggeren med et multimeter.

Flash af firmware

For at flashe dit nye firmware med din CC Debugger, skal du bruge et software udviklet af Texas Instruments der hedder “Flash Programmer”. Der findes to versioner, og du skal bruge den version der IKKE hedder v2: https://www.ti.com/tool/FLASH-PROGRAMMER

Det kræver desværre en konto, men bare rolig, jeg har aldrig fået en mail fra dem, udover da jeg meldte mig til.

Når Flash Programmer er installeret og åbnet, burde du se noget i stil med dette:

Gør derefter følgende, som desværre kræver du har to hænder:

  1. Under Flash image skal du vælge dit .hex firmware fra mig, PTVO, FreePad eller noget andet
  2. Under Actions skal du vælge Erase, program and verify
  3. Plug din CC Debugger i computeren
  4. Forbind CC Debugger pins med MULTI-ZIG-SW enheden
    • OBS: Hvis LEDen på MULTI-ZIG-SW ikke blinker kort, så kobl dem fra hinanden med det samme og tjek at ledningerne er koblet til korrekt!
  5. Tryk på den lille knap på CC Debugger enheden, som nu burde få LEDen på CC Debuggeren til at skifte farve fra rød til grøn og få Flash Programmer programmet til at vise denne skærm:

Hvis der står CC2530 og CC Debugger i listen nu, så har du gjort alt korrekt og er (næsten) klar til at flashe dit firmware!

Fravælg Retain IEEE address when reprogramming the chip og tryk på Read IEEE knappen. Adressen på din enhed burde nu stå ude til højre. Husk dette punkt, hvis du har brug for nyeste version af mit eget firmware, for jeg har brug for den adresse for hver enhed du har!

Nu burde din skærm se cirka sådan her ud:

Og så burde du bare trykke på Perform actions nede i bunden, og så bliver din MULTI-ZIG-SW flashet med nyt firmware! Når den er færdig, burde der helst gerne stå Erase, program and verify OK.

Opdatering til ny version af MULTI-ZIG-SW

Hvis du har læst tidligere afsnit omkring at flashe med CC Debugger, læste du nok også afsnittet omkring at man lige skulle huske IEEE adressen til senere. Det tidspunkt er nemlig nu.

Hvis du ønsker at opdatere din enhed med nyeste version fra oversigten, kan du sende en mail til kontakt@smarthjemmet.dk, og inkludere dit ordre ID og dine IEEE adresser (1 per enhed). Så skal jeg nok sende .hex filerne til dig, som du kan flashe på dine enheder. Jeg arbejder på en automatiseret måde, men det er ikke muligt lige nu. Din mail til mig kan se sådan her ud:

Hej Morten

Jeg vil gerne have opdateret mine MULTI-ZIG-SW enheder til den nyeste version. Mit ordre ID er 1234 og her er mine IEEE adresser:

00:11:22:33:44:55:66:77
88:00:11:22:33:44:55:66

På forhånd tak og hav en fantastisk dag,
Jens Jensen

Indlægget Flash af nyt firmware på MULTI-ZIG-SW blev først udgivet på Smarthjemmet.

]]>
https://smarthjemmet.dk/2023/08/flash-af-nyt-firmware-paa-multi-zig-sw/feed/ 0 1165
Mit første produkt! MULTI-ZIG-SW https://smarthjemmet.dk/2023/06/multi-zig-sw/ Sun, 25 Jun 2023 21:02:48 +0000 https://smarthjemmet.dk/?page_id=541 MULTI-ZIG-SW er en af de mest advancerede Zigbee input og output enheder på markedet. Den har fire ind- eller udgange, som fra min side af er programmeret til at være indgange, men fordi jeg udstiller muligheden for selv at flashe enheden, kan du faktisk selv bestemme hvad den skal, så længe du har værktøjet til […]

Indlægget Mit første produkt! MULTI-ZIG-SW blev først udgivet på Smarthjemmet.

]]>

MULTI-ZIG-SW er en af de mest advancerede Zigbee input og output enheder på markedet. Den har fire ind- eller udgange, som fra min side af er programmeret til at være indgange, men fordi jeg udstiller muligheden for selv at flashe enheden, kan du faktisk selv bestemme hvad den skal, så længe du har værktøjet til det.

MULTI-ZIG-SW har følgende features:

  • Kan sende følgende til din Zigbee coordinator per indgang (fire i alt):
    • Single click
    • Double click
    • Triple click
    • Hold og release
  • Mulighed for at flashe enheden med eget firmware
  • Bruger CR2032 batteri
  • Standby forbrug ned til 1 µA!
  • Maksimal 30.5mm x 37.6mm stor, med en maksimal tykkelse på 6mm (uden kabel)

Men hvordan virker det så?

Enheden sender et signal til din Zigbee coordinator, når én af lederne bliver “kortsluttet” sammen med den leder der står GND på. Det betyder også, at så længe du har ét eller andet der kan lave en forbindelse, så kan du lave det om til en trådløs sensor. Har du en magnetsensor til døre og vinduer? En gammel vippekontakt fra en lampe? En FUGA afbryder til væggen? Alle dem, og flere, kan du lave trådløse og smarte!

Du kan nemt ændre hvordan hver af de fire inputs skal opføre sig. Det er nemlig muligt at vælge, om dine inputs skal fungere som gammeldags “tænd og sluk” eller om de skal kunne alle fire funktioner som nævnt før. Se videoen under, som viser lidt forskellige muligheder:

Strømforbrug

Jeg har købt et professionelt værktøj til at måle strømforbruget, da man ikke bare kan gøre det med et normalt multimeter, fordi den bruger så lidt strøm. Jeg kan konstatere at den bruger 1 µA i standby (det vil sige når intet er “kortsluttet”) og op til 16 µA, hvis alle fire er “kortsluttet” og i brug på samme tid (4 per kanal).

Et typisk CR2032 batteri har en kapacitet på cirka 220 mAh, og hvis vi laver en form for “realistisk worst case” som hedder 200 mAh kapacitet og at alle 4 kanaler er “kortsluttet” halvdelen af døgnet, så kan man forvente op til 980 dage batterilevetid (~2.68 år):

Zigbee2MQTT

Inde i Zigbee2MQTT har jeg lavet en custom converter, som ligner det på billedet:

De nederste switch_type_X bliver brugt således:

  • switch: Ganske normal “on/off” afbryder. Forestil dig en gammeldags kontakt til at tænde lyset
  • multi-click: Bruges til kip/fjeder, hvor du har muligheden for de mange muligheder nævnt før

Hvis du får parret din enhed og ingen af dem er valgt, kan du med fordel trykke på den blå refresh knap, eller blot vælge den switch type du har brug for. OBS: Hvis du får fejl, er det fordi enheden sover. Væk den op ved at “kortslutte” den.

De resterende outputs (battery, action osv.) giver forhåbentligt sig selv. Du skal bruge action til dine automations. De kan hedde følgende:

  • button_X_single
  • button_X_double
  • button_X_triple
  • button_X_hold
  • button_X_release

X er 1, 2, 3 eller 4.

Man kan ikke stole på farverne på kablerne (der er vist ikke nogen standard?), men X følger disse tal på den fysiske enhed:

Hvordan får jeg fat i en?

Du kan hoppe ind og bestille en på denne side eller ved at trykke på webshop i menuen.

Kan du finde ud af Python og understøttelse for custom devices til ZHA, Homey eller andre platforme? Smid mig en besked på morten@m8.dk så får du en enhed gratis og 300 kroner.

Indlægget Mit første produkt! MULTI-ZIG-SW blev først udgivet på Smarthjemmet.

]]>
541
Tilføj et kamera til din robotplæneklipper https://smarthjemmet.dk/2023/04/tilfoej-et-kamera-til-din-robotplaeneklipper/ https://smarthjemmet.dk/2023/04/tilfoej-et-kamera-til-din-robotplaeneklipper/#comments Sat, 08 Apr 2023 11:25:14 +0000 https://smarthjemmet.dk/?p=515 Jeg kan godt lide at følge med i tingene fra min dejlige kontorstol, så selvfølgeligt skulle jeg da installere et kamera på min robotplæneklipper. Vi har en WORX Landroid M500, og den har en USB port under skjoldet, som blandt andet bruges til firmwareopdateringer. Dog er USB porten altid tændt, så man kan jo snildt […]

Indlægget Tilføj et kamera til din robotplæneklipper blev først udgivet på Smarthjemmet.

]]>

Jeg kan godt lide at følge med i tingene fra min dejlige kontorstol, så selvfølgeligt skulle jeg da installere et kamera på min robotplæneklipper. Vi har en WORX Landroid M500, og den har en USB port under skjoldet, som blandt andet bruges til firmwareopdateringer. Dog er USB porten altid tændt, så man kan jo snildt lige koble et kamera på, uden de helt store problemer. Jeg kan dog ikke anbefale WORX Landroid, eller nogle WORX produkter, for deres ansatte opfører sig som små børn rundt på nettet. Husk det inden I investerer i en robotplæneklipper.

Men.. sørg for at undersøge hvor meget dit udstyr bruger, for du har nok ikke lyst til at brænde USB porten af. Det dækker reklamationsretten eller garantien nok ikke. Mit ESP32-CAM måler cirka 300 mA, så det er jo slet ikke slemt. Så længe du holder dig under 500 mA, så burde du være “home safe”, men du kan sikkert også gå op til 1 A. Sørg dog for at tjekke, før du bare yolo’er den 😉

Er mit lille 3D printet hus vandtæt? Nej. Er det vandafvisende? En lille smule. Er det perfekt? Slet ikke. Men det er godt nok for mig.. indtil jeg laver en version 2. Jeg vil undersøge at finde et vandtæt/vejrresistent kamera i stedet for, for kvaliteten er garanteret også bedre.

Indkøbsliste

USB vinkel forlængeren skal du købe så den passer til dit stik. Tænk på hvordan du vil have resten af ledningerne til at køre i din plæneklipper, da det kan have betydning for, om du skal vende det hele 180 grader omvendt. Sørg for at købe sådan en jeg linker til, eller lignende, da dem med meget plastik og gummi ikke nødvendigvis passer. Der var lige plads til min med gummi og plastik, efter jeg skar lidt af den, så den ikke var så tyk.

ESP32-CAM kræver ikke andet end den. De nye har USB porte, men de gamle skal flashes med en adapter. Undersøg selv hvilken du vil bruge, da jeg ikke har prøvet dem med USB port endnu. Vær desuden opmærksom på, at mit 3D print tager udgangspunkt i den originale ESP32-CAM, hvor jeg ikke skal tænke på en USB port til strøm. Du skal måske købe et Micro-B USB kabel med vinkel, for at få plads til den, hvis du køber en ESP32-CAM med USB.

Flashing af ESP32-CAM

Jeg har valgt at installere ESPHome på min, som gør at du blandt andet kan flashe nyt firmare trådløst fremover. Holder robotplæneklipperen og er ved at lade? Giv den da et nyt firmware imens. Det er også utrolig nemt at integrere ESPHome enheder i Home Assistant. Du kan tage udgangspunkt i mit firmware, som består af følgende YAML:

esphome:
  name: mowercam
  platform: ESP32
  board: esp-wrover-kit

wifi:
  ssid: "Dit WiFi SSID"
  password: "Din WiFi kode"
  power_save_mode: none
  use_address: "192.168.1.190"
  fast_connect: on

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "MowerCam Fallback Hotspot"
    password: "MYsFZ332ATMP"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

output:
  - platform: gpio
    pin: GPIO4
    id: gpio_4

esp32_camera_web_server:
  - port: 8080
    mode: stream
  - port: 8081
    mode: snapshot

esp32_camera:
  name: ESP32-CAM
  resolution: 640x480
  jpeg_quality: 10
  external_clock:
    pin: GPIO0
    frequency: 20MHz
  i2c_pins:
    sda: GPIO26
    scl: GPIO27
  data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
  vsync_pin: GPIO25
  href_pin: GPIO23
  pixel_clock_pin: GPIO22
  power_down_pin: GPIO32
  vertical_flip: false
  horizontal_mirror: false

light:
  - platform: binary
    output: gpio_4
    name: mowercam_flash
    id: mowercam_flash

esp32_camera opsætningen i forhold til GPIO er måske forskellig på diverse ESP32-CAM modeller. Det her virker fra min og er stjålet fra nettet et sted.

use_address skal du erstatte med IPet fra din ESP32-CAM, som du eksempelvis finder i din router eller ved at flashe din enhed, og så se hvilken IP den får.

For at tilgå kameraet kan du blot gå ind på http://192.168.1.190:8080/ eller lege med RTSP. Alternativt findes den også i Home Assistant som et kamera, hvis du har fået din ESPHome enhed ind i Home Assistant.

3D print og montering

Wow jeg er ringe til at rendere sådan noget her

Mit 3D print passer til min Ender 3, og er printet af 2 gange for at få perfekte mål. Det er printet uden support i denne orientation:

Jeg har brugt M4 skruer og møtrikker til at montere “fødderne” på siden af den, men du kan selv finde på en bedre metode, hvis du har lyst.

Antennen monteres bare med de tilhørende spændeskiver og møtrikker.

STL filer og Fusion 360 fil kan hentes her: https://www.printables.com/model/446540-esp32-cam-for-lawnmower

Indlægget Tilføj et kamera til din robotplæneklipper blev først udgivet på Smarthjemmet.

]]>
https://smarthjemmet.dk/2023/04/tilfoej-et-kamera-til-din-robotplaeneklipper/feed/ 3 515
Backlight til dit TV for under 150 kroner https://smarthjemmet.dk/2023/04/backlight-til-dit-tv-for-under-150-kroner/ https://smarthjemmet.dk/2023/04/backlight-til-dit-tv-for-under-150-kroner/#comments Mon, 03 Apr 2023 20:21:04 +0000 https://smarthjemmet.dk/?p=426 Omkring 10 år siden så jeg et Philips Ambilight fjernsyn for første gang, og jeg var helt blown-away over, at man kunne lyse væggen bagved op, ud fra hvad der sker på skærmen. Philips Hue lavede så en “HDMI Sync Box”, som kunne gøre det samme, men sådan en løsning koster nemt over 2000 kroner, […]

Indlægget Backlight til dit TV for under 150 kroner blev først udgivet på Smarthjemmet.

]]>

Omkring 10 år siden så jeg et Philips Ambilight fjernsyn for første gang, og jeg var helt blown-away over, at man kunne lyse væggen bagved op, ud fra hvad der sker på skærmen. Philips Hue lavede så en “HDMI Sync Box”, som kunne gøre det samme, men sådan en løsning koster nemt over 2000 kroner, da man også skal bruge deres LED strips. Govee laver også en løsning, som ikke kræver HDMI, men derimod har et kamera der stikker ud fra din skærm, og så kan du justere den via deres app. Mega smart, for det kræver ikke nogen ekstern afspiller, og så kan du komme i gang for kun 600 kroner (alt afhængig af størrelse på TVet).

Men, jeg er jo en gør-det-selv’er, så jeg vil gerne gøre det selv. Jeg kendte allerede til projektet Hyperion, men det har aldrig været interessant for mig, for det krævede man havde fjernsynet koblet til computeren, og så skulle du afspille dine ting via computeren. Det har jeg dog på mit kontor, så det valgte jeg at prøve. Der er derfor én disclaimer: Du skal have en ekstern afspiller. Der er en liste over kompatible platforme, hvor du eksempelvis kan se, at Windows, forskellige Linux distrobutioner, Raspberry Pi osv. er understøttet. Ser du derfor fjernsyn via Smart TV i fjernsynet, er denne guide nok ikke for dig. På mit kontor er mit 4K Samsung fjernsyn koblet til min computer via HDMI, og den bruger jeg ofte til lige at se nogle få episoder af en serie eller en film, hvis min kone er gået i seng og jeg ikke lige orker at tænde hjemmebiografen (som er ved siden af soveværelset – bad choice!).

Hardware

Du skal ikke bruge særlig meget hardware for at komme i gang:

  • ESP32 (eller lignende, såsom D1 Mini)
  • WS2812b LED strip (eller lignende, såsom SK6812)
  • USB strøm

ESP32

Valg af ESP32 (eller lignende) er helt op til dig. Jeg gik med en ESP32, da jeg ved de er hurtigere end ESP8266 og lignende chips. Hastighed spiller nemlig en stor rolle her, for det vil være irriterende hvis LEDerne skiftede farve EFTER det var sket på skærmen.

Jeg valgte sådan en her: ESP32 NodeMCU (reklamelink) (vælg ESP-WROOM-32)

LED Strip

Jeg valgte at gå med en 5 volt WS2812b strip på 5 meter. Antallet af LEDer per meter på min strip er 30, men du kan sagtens vælge noget højere. Jeg valgte dog specifikt 30 per meter grundet USB strømforsyningen i mit fjernsyn. 30 kan sagtens gå selvom fjernsynet hænger tæt på væggen, men hvis du vil vælge 60 eller højere, så kan du sagtens det.

Jeg valgte denne WS2812b strip fra BTF-Lighting, som næsten udelukkende er de strips jeg har herhjemme: WS2812b (reklamelink) (vælg IKKE WS2812BECO, men vælg “5m 30 IP30”)

Strøm

USB strøm løste jeg ved at bruge den eksisterende USB port på mit fjernsyn. Der står max 500 mA på den, men det har været rigeligt for mig. Så meget, at jeg faktisk har overvejet at skrue ned for lysstyrken flere gange. Alternativt kan du vælge en ganske normal mobiloplader på 1-2-3 ampere, alt afhængig af dit behov.

Opsætning

Kommunikationen mellem din computer, Raspberry Pi eller lignende og din ESP32 kan gøres 100% trådløst. Og ja, det er hurtigt nok! Jeg har valgt at installere WLED på min ESP32, fordi de har implementeret en protokol der hedder E1.31, som er en DMX streaming protokol.

Hardware

Start med at koble din LED strip sammen med din ESP32 og strømforsyning. Det er klart nemmest hvis din LED strip har 5 ledninger, for der er 4 af dem til strøm. Rød er plus og hvid er minus. Da din WS2812b strip er 5 volt, skal du derfor blot koble plus og minus til din USB strømforsyning, så har LED strippen strøm. Derefter kobler du din ESP32 til plus og minus fra LED strippen, og til sidst tager du data ledningen og kobler på TX på din ESP32.

Dette burde forklare det lidt bedre:

Jeg har valgt at lodde de to ledninger på et USB-C breakout board (reklamelink), men du kan selv bestemme hvordan du gør. Et alternativ er at afisolere en USB ledning, twiste ledningerne sammen og sætte noget elektrikertape på. Eller bruge en samlemuffe. Jeg har valgt en lidt pænere måde at gøre det på, så jeg også kan koble det fra hinanden igen. Det endelige resultat ser sådan her ud monteret på fjernsynet:

WLED

For at installere WLED, skal du blot koble din ESP32 til din computer via USB og hoppe ind på https://install.wled.me/. Følg hvad der står på skærmen, og få din ESP32 koblet på WiFi, ved at indtaste SSID og adgangskode til netværket. Det er ultra simpelt at installere WLED. Er det første gang du har sat en ESP32 eller lignende til din computer, kan det godt tænkes, du skal have installeret en “CH340 driver”. CH340 er en USB til seriel chip, og de kan nemlig godt kræve en driver.

Når din ESP32 er på dit netværk, skal du finde IP adressen. Det kan du oftest gøre gennem din router. Hop derefter ind på http://ip-adresse-for-esp32/ for din ESP32, og så vil du blive vist WLED hovedskærmen:

Burde ligne noget i stil med det her

Hop derefter op i Config og vælg LED Preferences. Slå “Enable automatic brightness limiter” til og sæt “Maximum Current” til hvad end din strømforsyning understøtter. I mit tilfælde sætter jeg 500 ind, fordi mit fjernsyn helst ikke skal sende mere end det ud, da der står “Max 500 mA” på USB porten.

Under “Hardware Setup” skal du så vælge følgende indstillinger:

“Color Order” skal du måske lege med, som du kan gøre ved at hoppe ud på startskærmen og vælge rød, grøn og blå, og så se om det passer. Hvis det ikke passer, så skal du rette Color Order til.

Under “Length” skal du indtaste antallet af LEDer du har.

GPIO kommer an på, hvor du har koblet din LED strips “data” ledning til. Jeg har valgt GPIO 1 som på en ESP32 er TX. TX er nemlig lidt hurtigere og kan supportere flere LEDer, så vælg eventuelt den, eller læs hvad WLED skriver: https://kno.wled.ge/basics/getting-started/

Hyperion

Jeg har installeret det på Windows. Opsætningen er forskellig fra platform til platform, så følg deres guide og kom tilbage når det er sket: https://docs.hyperion-project.org/en/user/Installation.html

Jeg antager du har fået Hyperion sat op, og du kan tilgå det i din browser på http://hyperion-ip:8090/. Start med at gå ind på “LED Instances” og så “LED Output” siden. Herinde skal du vælge “udpe131” og indtaste noget lignende det her:

IP adressen du indtaster skal være din ESP32 WLED IP adresse, og i bunden skal du så indtaste antallet af LEDer du har.

I toppen skal du så vælge fanen der hedder “LED Layout”, hvor du nu skal konfigurere hvordan din LED strip sidder på fjernsynet. Mit ser sådan her ud:

Jeg har 30 i toppen, 30 i bunden og 15 i begge sider. Derefter har jeg så sat min “Input position” til 37, for det passer med at det er der første LED er bag på fjernsynet. Derudover har jeg valgt at slå “Reverse direction” til, for jeg startede min LED strip med at køre den opad. Tryk til sidst på “Save Layout”.

Hvis du nu hopper ud på startskærmen/dashboard, burde du se noget lignende det her:

Og gør du det, så burde du faktisk være klar til at prøve det af! Tryk på dette ikon oppe i toppen:

Vælg fanen “Hele skærmen” (Entire Screen på engelsk) og tryk derefter på dit TV. Så burde der ske noget med farverne i hvert fald!

Efterfølgende kan du så lege lidt med de advancerede og ekspert muligheder der er, hvis du eksempelvis ikke har monteret din LED strip helt korrekt.

Indlægget Backlight til dit TV for under 150 kroner blev først udgivet på Smarthjemmet.

]]>
https://smarthjemmet.dk/2023/04/backlight-til-dit-tv-for-under-150-kroner/feed/ 1 426
Den (næsten) perfekte skærm til dine smarte dashboards https://smarthjemmet.dk/2022/11/den-naesten-perfekte-skaerm-til-dine-smarte-dashboards/ https://smarthjemmet.dk/2022/11/den-naesten-perfekte-skaerm-til-dine-smarte-dashboards/#comments Sun, 20 Nov 2022 12:05:21 +0000 https://smarthjemmet.dk/?p=406 Hvad havde jeg før? Jeg har i mange år ledt efter en god skærm til mit Home Assistant dashboard. Jeg overvejede mange muligheder såsom en iPad, Android tablet eller en Windows tablet. Der findes nemlig et hav af dem på markedet, men de har alle én ting tilfælles: De er for små. Det sidste års […]

Indlægget Den (næsten) perfekte skærm til dine smarte dashboards blev først udgivet på Smarthjemmet.

]]>
Hvad havde jeg før?

Jeg har i mange år ledt efter en god skærm til mit Home Assistant dashboard. Jeg overvejede mange muligheder såsom en iPad, Android tablet eller en Windows tablet. Der findes nemlig et hav af dem på markedet, men de har alle én ting tilfælles: De er for små. Det sidste års tid, har jeg haft en 10″ Microsoft Surface Go tablet med Windows 11 hængende:

Den tablet har én fed feature: Stikket til strøm. Det er nemlig et stik som Microsoft har opfundet og bruger på deres Surface tablets. Det minder lidt om Apples MagSafe, da den også er magnetisk. Stikket er fladt og hænger langs siden, så det ser rigtig stilfuldt ud. Alternativet er USB-C, men selv med en 90° adapter på, så stikker den langt ud.

Jeg valgte at montere tabletten med velcrobånd, da jeg gerne ville kunne tage den med på ferie og bruge den som medieafspiller. Kabelføringen har jeg heldigvis gjort nem, da jeg bag væggen har et bryggers, som jeg nemt kunne trække kablerne i. Jeg valgte derfor at bore et Ø10 hul i væggen og føre stikket gennem.

Velkommen til min nye skærm

En 15.6 tommer touchskærm med USB-C til data og video, USB-C til strøm og HDMI (hvis du ikke har USB-C).

Da jeg ikke kunne finde en stor tablet på markedet (udover Samsungs Galaxy View linje), der også var til at betale sig fra, måtte jeg jo selv finde på noget. Jeg søgte derfor efter en ekstern skærm med touch, der havde ét krav: Kablerne SKAL kunne kobles til på bagsiden. Jeg er ikke fan af at have kabler hængende ud af siden, da jeg ikke synes det bliver pænt. Jeg overvejede også at montere akustikpaneler på væggen, da jeg så ikke behøvede at finde en skærm, hvor kablerne blev monteret på bagsiden.

Skærmen jeg endte med er fra UPERFECT og kan købes her (reklamelink).

Den koster desværre omkring 1800 kroner, MEN, den bliver sendt fra EU, så du slipper for gebyr og ekstraomkostninger ved import.

Her på billedet kan man se, hvorfor jeg valgte skærmen. Alle portene sidder på bagsiden, som gør at man kan installere skærmen på væggen uden nogle kabler er synlige overhovedet.

Montering på væggen

Jeg har valgt en lidt dum løsning, da det ikke var muligt at montere den på andre gode måder lige umiddelbart. Jeg har 3D printet nogle spacere, hvor jeg har monteret nogle magneter på. Løsningen er ikke perfekt, da de magneter jeg har valgt, ikke har været alt for kraftige. Jeg måtte derfor smide to søm i væggen, for at støtte vægten på skærmen. I fremtiden laver jeg nok et 3D printet “french cleat” system.

Dog er det blevet okay med dybden, for den hænger stadigvæk så tæt på væggen, at man forfra ikke kan se den er ~12 millimeter fra væggen:

Computer og hardware

Da jeg blot har hængt en skærm op, skal jeg selvfølgeligt også bruge en computer. Og wow hvor har det taget lang tid at finde noget. Da jeg helst ikke ville lave så stort et hul i væggen, at jeg kunne trække HDMI, var USB-C min eneste mulighed. En nyere Intel NUC havde været perfekt, men jeg ville ikke lige bruge flere tusinde kroner på det. Min gamle Surface Go virkede faktisk fint, men da jeg var nødt til at lave duplikering af skærmen, var skærmen på tabletten nødt til at være tændt hele tiden.

Jeg endte derfor med at bruge en Lenovo ThinkCentre M75q-1. Det er en lille PC med en Ryzen 3400GE processor, 8GB RAM og 256GB NVMe SSD. Overkill? Meget. Desværre har min lille ThinkCentre ikke mulighed for at overføre video over USB, så jeg var nødt til at finde en adapter.. og det er ikke nemt at finde en HDMI til USB-C adapter, da adapteren skal understøtte DP Alt Mode. Jeg fandt dog en adapter fra Delock, som jeg købte hos Proshop til cirka 350 kroner.

Jeg har derfor nu mulighed for at trække to kabler til skærmen: USB-C til video og touch data og USB-C til strøm. Alle USB kablerne kommer direkte fra computeren, så jeg bare skal trække ét strømkabel. I bryggers bag væggen ser det lige pt. sådan her ud:

Smukt, ikke? Om et par måneder, efter min kone har brokket sig, kan det godt være, jeg laver en pænere løsning. Jeg har bare taget nogle kabler jeg ved der virker, og de er generelt 2 meter lange.

Skal/skal ikke?

Er dette et projekt jeg vil anbefale? Absolut. Det er rigtig fedt at have en stor skærm til vores Home Assistant dashboard, der hænger i en god højde. Har man råd, kan jeg dog anbefale en Samsung Tab S8 Ultra, som er en 14.6″ Android tablet. Den koster dog omkring 7000 kroner.

Det er desværre ikke alle der har mulighed for at trække ledninger gennem væggen som vi har gjort, så man kan eventuelt kigge på at montere en Raspberry Pi bag på skærmen (som der faktisk er plads til, hvis man bruger en Zero 2 W). Det var min originale plan, dog med en Raspberry Pi 4:

Se bort fra docken

Bonus: Tænd og sluk af skærm

Der er ingen grund til at skærmen står tændt 24 timer i døgnet og brænder sig selv ihjel. Jeg har derfor en motion sensor i køkkenet, der fortæller IoT Link at skærmen skal tændes. Skærmen har jeg sat til at slukke efter 1 minut, og så har jeg et Node-RED flow der sender en “tænd skærm” kommando hvert 10. sekund, så længe der er motion detected:

Indlægget Den (næsten) perfekte skærm til dine smarte dashboards blev først udgivet på Smarthjemmet.

]]>
https://smarthjemmet.dk/2022/11/den-naesten-perfekte-skaerm-til-dine-smarte-dashboards/feed/ 1 406
Hjemmetlavet Zigbee printplade til FUGA afbrydere https://smarthjemmet.dk/2022/05/hjemmetlavet-zigbee-printplade-til-fuga-afbrydere/ https://smarthjemmet.dk/2022/05/hjemmetlavet-zigbee-printplade-til-fuga-afbrydere/#comments Wed, 04 May 2022 21:50:39 +0000 https://smarthjemmet.dk/?p=377 Jeg er nok nødt til at indrømme, at jeg er mere til software end hardware. Jeg har i mange år interesseret mig meget for hardware, men jeg har aldrig taget mig sammen til at lave mine egne printplader, for jeg kunne ikke se hvad jeg skulle lave. Enten er min idé allerede lavet, eller også […]

Indlægget Hjemmetlavet Zigbee printplade til FUGA afbrydere blev først udgivet på Smarthjemmet.

]]>

Jeg er nok nødt til at indrømme, at jeg er mere til software end hardware. Jeg har i mange år interesseret mig meget for hardware, men jeg har aldrig taget mig sammen til at lave mine egne printplader, for jeg kunne ikke se hvad jeg skulle lave. Enten er min idé allerede lavet, eller også kan jeg godt nøjes med at have en masse breadboard jumpers, ligesom mine andre projekter.

Det har dog ændret sig nu, hvor jeg har fået produceret mit eget PCB (som jeg dog har fået hjælp til). PCBet er egentligt ret simpelt på overfladen, men der er brugt mange timer på at vælge komponenter, for at få PCBet til at blive så småt som muligt.

Lad mig derfor introducere ZIG-SW rev. 1:

Skal nok arbejde lidt på “produktbillederne”
  • Bruger anerkendt CC2530 Zigbee chip
  • Virker med 1 eller 2 tryk
  • CR2450 batteri på bagsiden
  • LED indikator
  • Knap til at nulstille enheden, så den kan parres på ny Zigbee coordinator
  • Understøtter op til 1.5mm² ledninger
  • Mulighed for at flashe sit eget firmware via 2.54mm dupont ledninger
  • Passer i indmuringsdåser bag ved afbryderen (30x30x21mm)

Som mit ellers smukke navn indikerer (ZIG-SW rev. 1), er dette altså et produkt, jeg har tænkt mig at sælge. Jeg har pt. ikke låst mig fast på en pris, men har fået lidt ideer i den danske Home Assistant gruppe på Facebook. Overskuddet kommer til at gå til nye revisioner (eksempelvis en med 4 tryk), for det er faktisk ret dyrt at købe komponenter der skal testes. Min kone er i hvert fald ikke særlig glad for, at jeg smider penge i det her, for det er en ren underskudsforretning.

Men ved I hvad? Det er sgu sådan noget her jeg godt kan lide at lave. Jeg synes det er spændende, og det håber jeg også I synes.

Firmware

Som det er på skrivende stund, så findes der kun ét godt værktøj til at lave egne Zigbee firmwares: https://ptvo.info/

PTVO værktøjet er den eneste rigtige vej frem i det projekt her, da man kan konfigurere det til at gøre stort set alt. Lige pt. tester jeg muligheden for at kunne trykke flere gange, hvis man nu eksempelvis vil sætte en automation op til at ændre lysstyrken til nogle faste værdier.

Desværre er der ét problem: Hvis enheden kører på batteri, skal man betale for at få PSM (Power Saving Mode). Betalingen er for hver enhed og koster 52 kroner, 44 kroner eller 29 kroner (for 1, 3 eller 6 enheder) + moms. Sælger jeg mange enheder, giver det god mening at købe mange licenser, og derfor er 29 kroner egentligt okay billigt.

Desværre betyder det også for forbrugeren, at de er nødt til at købe en licens selv, hvis de har lyst til at flashe enheden. Den del tror jeg dog godt man kan komme udenom, ved at sende licensen og værktøjet med ved køb (samt den konfiguration som enheden bliver købt med).

Strømforbrug

Jeg har valgt et CR2450 batteri, da de har en okay høj kapacitet (og højere kapacitet betyder det holder strøm længere). Som det er lige pt., regner jeg med at det kan holde strøm i 2 år. Det vil jeg sige er ret fint, for det tager vel ikke mere end 1-2 minutter at skifte et batteri.

Jeg har foretaget lidt målinger, men det kommer der en opdatering med på et andet tidspunkt. Regn dog med cirka 2 års batterilevetid.

Er det overhovedet lovligt?

For at være helt ærlig – jeg aner det ikke. Kan forsikringen finde på at nægte at dække eventuelle skader, hvis de finder sådan en her i væggen? Det kan de nok godt.

Jeg har ingen CE mærkning, men skal dette sælges som et produkt, er det nok et krav. Jeg kunne ikke forestille mig, det er særlig dyrt, når mængden af komponenter er så lille og der kun arbejdes med lavspænding (3 volt).

Hvad så nu?

Der går nok noget tid, før jeg reelt kan give en stor opdatering. Jeg vil meget gerne sælge det her som et produkt, for jeg ved at efterspørgslen er stor og der er et marked for det. Mit ‘mindset’ er altid at sætte andre foran mig selv, og jeg vil derfor hellere bruge mange timer (og penge…) på at udvikle fede produkter og gadgets, end at hive en stor check ud af banken hver måned (findes checks egentligt stadigvæk?).

Jeg arbejder på at få en video produceret af en rigtig klog person, der laver nogle fede videoer på YouTube. Mange af jer kan nok gætte jer til, hvem han er, men jeg skal nok holde jer opdateret hvis det bliver en realitet. Han er noget klogere end jeg er, når vi snakker FUGA, indmuringsdåser og størrelser, for han har faktisk de produkter der sidder i væggen, hvorimod jeg blot har et par afbrydere.

Hvis vi skal snakke pris, så lander jeg umiddelbart et sted mellem 150 og 200 kroner, men jeg kan ikke retfærdiggøre en høj pris, før jeg ved at firmwaret kan snakke sammen med ZHA, Zigbee2MQTT, deCONZ, Philips Hue og så videre, samt har mulighed for at kunne lave mere end blot “der er trykket på en knap”. Når man begynder at kigge på priser, kan jeg egentligt godt forstå at elektronik er dyrt. Det har ikke været billigt at få produceret den håndfuld PCBer jeg har, og jeg måtte endda selv lodde komponenterne på.

Lad mig slutte af med at sige dette:

(please help @ mortenmøller.dk)

Indlægget Hjemmetlavet Zigbee printplade til FUGA afbrydere blev først udgivet på Smarthjemmet.

]]>
https://smarthjemmet.dk/2022/05/hjemmetlavet-zigbee-printplade-til-fuga-afbrydere/feed/ 6 377
Lav dine egne Zigbee enheder https://smarthjemmet.dk/2022/01/lav-dine-egne-zigbee-enheder/ https://smarthjemmet.dk/2022/01/lav-dine-egne-zigbee-enheder/#respond Wed, 19 Jan 2022 12:39:37 +0000 https://smarthjemmet.dk/?p=354 Jeg synes Zigbee er en fascinerende teknologi, som du nok har oplevet, hvis du har læst min “ultimative Zigbee guide“. Jeg synes der er ved at være så meget support for enhederne, at man nok godt kan begynde at indse, at det godt kunne være fremtiden inden for smarte gadgets. Jeg har derfor undersøgt hvordan […]

Indlægget Lav dine egne Zigbee enheder blev først udgivet på Smarthjemmet.

]]>

Jeg synes Zigbee er en fascinerende teknologi, som du nok har oplevet, hvis du har læst min “ultimative Zigbee guide“. Jeg synes der er ved at være så meget support for enhederne, at man nok godt kan begynde at indse, at det godt kunne være fremtiden inden for smarte gadgets.

Jeg har derfor undersøgt hvordan man laver sin egen Zigbee enhed, som kan gøre præcis hvad man har lyst til.

100% gør det selv

En udvikler med navnet ptvo har udviklet et værktøj, der gør det muligt at flashe et helt skræddersyet firmware til sine Zigbee enheder. Hans værktøj burde opfylde stort set alles behov, da du har mulighed for at koble virkelig mange forskellige komponenter til din chip, såsom LEDer (eksempelvis til at vise status), rotary encoders (eksempelvis til volume), små DC motorer, RFID tag readers osv. osv.

Der er desværre en begrænsning for os: Batteridrevne enheder. Hvis du skal køre din Zigbee enhed med et batteri, så skal du betale for deep sleep muligheden, som koster cirka 50 kroner pr. enhed.

Jeg har brugt hans program til at lege lidt med mine egne enheder, men da jeg gerne vil have at de kører på batteri, måtte jeg kigge et andet sted hen, for jeg er pt. ikke klar til at betale for at få deep sleep, selvom en pris på 50 kroner pr. projekt måske ikke er så meget.

FreePad

Jeg faldt over en YouTube video for noget tid siden, der viser hvordan man laver sin egen Zigbee knap, lidt ligesom dem du kan købe af IKEA, Philips Hue, Samsung, Xiaomi osv. Fordelen ved at lave det selv er, at du selv bestemmer størrelsen på den, og at du altid kan udskifte en ødelagt del, da du selv har samlet enheden. For at samle FreePad kræver det de komponenter han har skrevet i beskrivelsen, men det kan du også se i videoen.

FreePad er dog ikke et produkt, men nærmere et firmware. Et open source firmware endda. Du kan tage FreePad firmwaret og flashe det på en enhed, og så kan du egentligt lave den præcis som du har lyst til, som er det jeg har valgt at gøre.

Med FreePad har hver knap mulighed for: Normal tryk (1 tryk), hold nede og slip. MEN, hver knap kan du også trykke på to gange, tre gange, fire gange.. ja, jeg ved faktisk ikke hvor mange gange, men jeg stoppede ved 50 og så “button_1_many_50” i Zigbee2MQTT, så du har essentielt flere muligheder end du har brug for.

Mit projekt

Jeg har valgt at lave en form for tastatur, hvor jeg eksempelvis kan tænde/slukke for ting via Home Assistant og Node-RED. Lige pt. kan den eksempelvis tænde/slukke for lyset på mit kontor og tænde for min PC, hvis jeg ikke gider spørge Google efter det (min PC er nemlig ikke særlig nem at nå). Det er dog kun fantastien der sætter grænser, for når først den er parret til ZHA eller Zigbee2MQTT, så kan du jo stort set gøre hvad du vil.

Komponenter

Listen af komponenter er udelukkende brugt til dette ret overkill projekt. Jeg vil ikke anbefale at bruge alle de komponenter jeg har brugt, men derimod drage inspiration (mere om det senere).

Development board PCB til Zigbee chippen

EBYTE E18 CC2530 chippen bruger et 1.27mm pitch, hvilket betyder der er 1.27 millimeter mellem hver “terminal”. Det er halvt så meget som “normale” 2.54mm komponenter, hvilket er det de fleste komponenter ellers er lavet til. Det er ikke nødvendigt at bestille sådan nogle PCBer, men det gør klart udviklingen lettere, da du ellers er nødt til at lodde komponenter direkte fast på chippen.

Et PCB kan findes inde på denne side, hvor du finder en ZIP fil. Der er desværre en lille fejl i teksten, så der er to styks PIN 05, men det er altså PIN 05 og PIN 06. Download ZIP filen og gå ind på JLCPCB, hvor du kan uploade ZIP filen og egentligt bare vælge det antal du vil have. Jeg bestilte 30 PCBer til under 75 kroner inklusiv fragt. Fragten tog lige under en måned, så det er også rigtig acceptabelt.

Batteri og strøm

Kan du huske, jeg nævnte noget om, at jeg ikke anbefaler de komponenter, jeg har valgt i projektet? Det er udelukkende på grund af batteriet. Jeg har købt et Power Profiler Kit II, som kan læse et rigtig præcis forbrug af enheder. Da hele projektet var samlet færdig, og jeg bare manglede at koble et 18650 batteri til, tog jeg min PPK2 frem, brugte den som et falsk 4.2 volt batteri og målte forbruget:

Det du ser på billedet er et gennemsnitsforbrug på 4.69 mikroamperetimer. Det er 0.0047 milliamperetimer. Det er 0.0000047 amperetimer. Forbruget er så lavt, at hvis vi leger med tanken om, at batterier ikke taber spænding over tid bare ved at ligge stille, så kan et 3000 mAh batteri holde den i live i 57 år.

Hvad anbefaler jeg i stedet for? Den CC2530 chip jeg bruger kan tage mod en spænding på 2 og 3.6 volt. Det vil derfor være oplagt enten at vælge et CR2032 batteri (cirka 300 mAh) eller 2 styks AAA batterier i serie (cirka 750 mAh). Så kan du nemlig også undgå 18650 holderen, LDOen der laver spændingen om til 3.3 volt samt TP4056 batteribeskytter/opladeren, og så vil din CC2530 stadigvæk holde strøm i mange, mange år (7 år ud fra denne beregner).

Sammensæt komponenterne

Diagram

Jeg har fulgt et rigtig fint diagram fra FreePad, som viser hvordan knapperne/switches skal forbindes til chippen:

Button matrix

Diagrammet er egentligt meget simpelt at følge: SW1 (switch nummer 1) skal være forbundet til P0.2 og P1.2 på CC2530 chippen, og så skal du sætte en 10K modstand på mellem GND og ledningen der går til P0.2 (tror dog der er ligegyldigt hvilken side af knappen den sidder på). SW2 forbinder du så til P0.2 og P1.3, og der har du allerede en modstand på fra P0.2. Sådan fortsætter du, indtil du har en række med 4 knapper, og så kan du gå ned til P0.3 hvis du vil have en ekstra kolonne (max 20).

Den type af “layout til knapperne” hedder et button matrix. Det er stort set sådan alle tastaturer er lavet, da du skal trække mindst mængde ledninger/baner på et PCB. Deres diagram er ikke perfekt, og gør at du kun kan trykke på én knap ad gangen, men du kan læse mere på denne side om sådan nogle problemer: https://deskthority.net/wiki/Rollover,_blocking_and_ghosting

Mit (grimme) button matrix

Strøm

FreePad bruger et CR2032 batteri, som de bare forbinder direkte til GND og VCC. Jeg bruger i stedet for et 18650 batteri, en LDO og et par kondensatorer for at formindske mængden af ripple og for at få en stabil udgang. Jeg vil ikke gå i detaljer med hvordan det virker, for jeg anbefaler som sagt ikke min løsning, men en god guide kan findes her, hvis man ser bort fra solcellerne.

Programmering/flash af chippen

Jeg har i mit PCB valgt at tilføje et 5-pin dupont stik, så jeg bare kan koble min CC Debugger til, for at flashe den med et nyt firmware:

Det er dog ikke nødvendigt.

For at programmere CC2530 chippen, skal du bruge en CC Debugger (og nogle breadboard kabler hvis du har sat den på det PCB jeg nævnte før). Når du har fat i de komponenter, skal du koble dem til på følgende måde:

Derefter åbner du dit yndlingsprogram til at flashe sådan nogle chips (jeg bruger Texas Instruments “Flash Programmer” (IKKE NUMMER 2)) og hente .hex filen fra FreePads Github. Jeg bruger den der hedder DIYRuZ_FreePad_PM3.hex, da den har “power management 3”, som der er deres form for deep sleep. Hvis du bruger Flash Programmer som jeg gør, så husk at slå “Retain IEEE….” fra, for ellers vil den nok fejle med at flashe. Se eventuelt YouTube videoen jeg snakkede om før, da han også går igennem at flashe chippen.

Når det er fuldført, så burde det bare være et spørgsmål om at åbne ZHA eller Zigbee2MQTT op og parre med enheden, som automatisk burde være i parringstilstand, hvis den ikke er forbundet. Jeg ved faktisk ikke hvordan man får den til at parre til en anden coordinator, så hvis det bliver et problem, så lav et issue på hans Github, så burde han nok svare tilbage.

Indlægget Lav dine egne Zigbee enheder blev først udgivet på Smarthjemmet.

]]>
https://smarthjemmet.dk/2022/01/lav-dine-egne-zigbee-enheder/feed/ 0 354
Raspberry Pi og SSD opsætning https://smarthjemmet.dk/2022/01/raspberry-pi-og-ssd-opsaetning/ https://smarthjemmet.dk/2022/01/raspberry-pi-og-ssd-opsaetning/#comments Wed, 05 Jan 2022 23:39:42 +0000 https://smarthjemmet.dk/?p=322 Intro Før du starter SSD størrelse Kabinet Raspberry Pi Opsætning af SSD SSD til FAT32 Valg af operativsystem Opsætning af Raspberry Pi Installering af Raspberry Pi OS Mulighed 1: Ethernet Mulighed 2: WiFi Start Raspberry Pi op Log ind på Raspberry Pi Opdatering af Raspberry Pi firmware (vigtigt) Slå USB boot til Tillykke Too long, […]

Indlægget Raspberry Pi og SSD opsætning blev først udgivet på Smarthjemmet.

]]>

Intro

Jeg ser flere og flere snakke om, hvorvidt det er værd at købe en SSD sammen med sin Raspberry Pi, hvis man eksempelvis vil køre Home Assistant fra en Raspberry Pi. Til det har jeg ét definitivt svar: JA. Et SD kort er ikke lavet til at blive skrevet til og læst fra så mange gange, og det er eksempelvis noget Recorder står og gør ret ofte. Med mindre du køber et af de dyre SD kort, som eksempelvis Samsungs Endurance Pro, så skal du ikke forvente at dit SD kort overlever mere end 1-2 år.

En SSD er derimod lavet meget mere robust, så du bare kan læse og skrive på livet løs, uden at det påvirker SSDen. Dog skal du være opmærksom på, at ikke alle SSDer er ens opbygget. Uden at gå for meget i detaljer, kan jeg derfor kun anbefale SSDer fra anerkendte mærker såsom Samsung, Kingston, ADATA, SanDisk, Western Digital og PNY. De ved hvad de laver, og jeg har haft mindst én SSD fra hver af de mærker.

Før du starter

Før du overhovedet kan starte på dette projekt, skal du starte med at købe en SSD, et kabinet til SSDen og selvfølgeligt en Raspberry Pi. Derudover skal du også have et SD kort, for vi skal desværre starte Raspberry Pien op først, før vi kan starte den op fra SSDen. Din computer skal kunne læse SD kortet, så sørg også for, at du kan indsætte SD kortet i din computer.

SSD størrelse

Du kan sagtens nøjes med en SSD på 60 gigabyte, men det er nemmest, bedst og billigst (krone pr. gigabyte) at vælge mindst 120. Kig derfor efter en 2.5 tommer SSD fra ét af de mærker jeg nævnte før (Samsung, Kingston, ADATA, SanDisk, Western Digital og PNY).

Alternativt kan du købe en M.2 SSD (og tilsvarende kabinet), da de er lidt mindre og koster næsten det samme, men der er lidt diskussion om, hvor godt en NVMe SSD kører sammen med Raspberry Pis, så jeg kører personligt selv kun med 2.5 tommer SSDer. Du får desuden ikke noget hastighedsmæssigt ud af en NVMe SSD i 99/100 tilfælde.

Kabinet

I forhold til valg af kabinet, har du også utrolig mange valgmuligheder. Jeg har selv et USB 3.0 Gen. 2 kabinet fra Baseus, som jeg har givet cirka 150 kroner for fra AliExpress. Kabinettet har USB Type-C, som efterhånden er det eneste jeg kører herhjemme.

Et andet fint alternativ kan findes på Av-Cables.dk, men sørg for at finde en der minimum har USB 3.0. Så er det i hvert fald ikke USB delen der bliver dit bottleneck.

Raspberry Pi

Af Raspberry Pis kan jeg kun tale om Raspberry Pi 3 og 4 modellerne, for jeg har selv gjort det på en 3B+ og 4B. Vær dog opmærksom på, at Raspberry Pi 4 kommer i 3 varianter ifht. RAM: 2GB, 4GB og 8GB. Hvis du har planer om at køre Home Assistant, vil jeg IKKE anbefale kun at købe 2GB RAM varianten, for på ét eller andet tidspunkt, kommer du til at skulle bruge mere end 2GB RAM.

Opsætning af SSD

Jeg antager at du nu har en Raspberry Pi, et SD kort, en SSD, et kabinet og et USB kabel der kan sættes mellem kabinettet og din Raspberry Pi.

SSD til FAT32

Før en Raspberry Pi kan læse din SSD, skal den være formateret som FAT32. Desværre har Windows problemer med at formatere lagringsenheder på mere end 32 gigabyte som FAT32 (fffffffuck you, Microsoft), men det er stadigvæk muligt. Jeg har brugt et program der hedder Rufus, hvorefter jeg har valgt følgende indstillinger:

Og derefter trykket på START.

Valg af operativsystem

De fleste der læser dette afsnit, er nok folk der vil installere Home Assistant på deres SSD. Du har to muligheder:

  1. Start helt forfra
  2. Start forfra og flyt dataen fra eksisterende Home Assistant

For at starte helt forfra, er det faktisk bare et spørgsmål om at gøre præcis hvad der står på Home Assistants hjemmeside: https://www.home-assistant.io/installation/raspberrypi

Da der er tre valgmuligheder for en Raspberry Pi, vil jeg lade det være op til dig selv, hvilken vej du går.

Hvis du allerede har Home Assistant kørende, så kan du igen bare installere Home Assistant forfra (vælg samme system som du allerede har), og så tage backup af din nuværende instans og så restore den på din nye SSD. Du burde få al dataen med over, men måske ikke hele historikken.

Opsætning af Raspberry Pi

Installering af Raspberry Pi OS

Start med at hente Raspberry Pi Imager og åbn programmet på din computer. Har du ikke en Windows, macOS eller Ubuntu maskine, må du selv undersøge et bedre alternativ. Du skal nu vælge mellem ethernet eller WiFi, for der er stor forskel på de to. Hvis du har mulighed for at sætte et ethernet kabel i din Raspberry Pi, så læs afsnittet om Ethernet. Har du kun mulighed for WiFi, så læs afsnittet om WiFi.

Mulighed 1: Ethernet

Tryk på “CHOOSE OS” og vælg den øverste mulighed: Raspberry Pi OS (32-bit). Tryk på “CHOOSE STORAGE” og vælg dit SD kort. Til sidst trykker du blot på “WRITE” og så skriver programmet hele operativsystemet til dit SD kort.

Mulighed 2: WiFi

Tryk på “CHOOSE OS” og vælg den øverste mulighed: Raspberry Pi OS (32-bit). Tryk på “CHOOSE STORAGE” og vælg dit SD kort. Tryk nu på følgende kombination af knapper: CTRL+SHIFT+X. Er du på macOS, så hedder det CMD+SHIFT+X.

Sæt hak i “Enable SSH” og skriv en adgangskode (husk adgangskoden).

Sæt hak i “Configure wifi” og indtast dit WiFis navn og adgangskode. Under WiFi country skal du vælge DK.

Til sidst trykker du blot på “WRITE” og så skriver programmet hele operativsystemet til dit SD kort.

Start Raspberry Pi op

Når Raspberry Pi Imager er færdig med at skrive til SD kortet, skal du tage den ud af din computer (husk at “skubbe sikkert ud” ved at højreklikke på SD kortet) og sætte den i din Raspberry Pi. Sæt nu din Raspberry Pi til strøm.

Første opstart tager gerne et par minutter, og i mellemtiden kan du logge ind på din router (eller hvor du finder klienter på dit netværk) og finde din Raspberry Pi, som burde have fået sin egen IP adresse. Dette kan godt være ret tricky, så hvis du ikke ved hvordan, så søg på Google eller spørg nogen på Facebook.

Log ind på Raspberry Pi

Eftersom din Raspberry Pi ikke har nogen skærm, tastatur, mus og så videre, er vi nødt til at logge ind på den via en protokol der hedder SSH. Dette er ret teknisk, men bliv ikke bange, for jeg skal nok guide hele vejen igennem.

Først skal vi have et program, vi kan bruge til at logge på via SSH. På Windows bruger jeg et program der hedder PuTTY og på macOS og Linux kan jeg godt lide bare at åbne terminalen og skrive “ssh”. Jeg bruger Windows, så jeg viser de næste ting i programmet PuTTY, men for jer med macOS og Linux, skal I blot søge på Google. Der findes mange guides til, hvordan man logger på via SSH.

Start PuTTY op og indtast din Raspberry Pis IP adresse under tekstfeltet “Host Name (or IP address)”. Porten burde allerede stå til 22, men sæt den til 22 ellers. Tryk derefter på Open i bunden. Tryk ja/yes/accept hvis du bliver spurgt, om du stoler på den.

Når du bliver spurgt hvem du vil logge ind som (“login as”), så skriver du pi. Når den spørger om adgangskoden, så indtaster du den, du satte i Raspberry Pi Imager. Du burde nu se en skærm, der minder om dette:

Uden at gå for meget i detaljer hvad de enkelte ting på skærmen er, så er det blot værd at nævne, at det nederste du ser, er der hvor du indtaster kommandoer.

Opdatering af Raspberry Pi firmware (vigtigt)

Start nu med at kalde disse kommandoer (og ja, det kan godt tage 5-10-30 minutter.. det er ret langsomt, for der skal ske ret meget):

sudo apt update
sudo apt full-upgrade

Spørger den dig om en adgangskode, så indtaster du den bare igen. Spørger den om du vil acceptere noget, så skriver du bare y og trykker Enter.

Nu skal firmwaret på din Raspberry Pi opdateres, og det kan gøres med denne kommando (ja til alt den spørger om):

sudo rpi-update

Når dit firmware er opdateret, så skriver du blot:

sudo reboot now

Din SSH session dør imens din Raspberry Pi genstarter (som denne gang også tager et par minutter), men vær ikke bekymret, for du skal blot åbne PuTTY og indtaste IP adressen igen, så burde du være inde igen. Når du har SSHet ind i din Raspberry Pi, skal du kalde denne kommando:

sudo rpi-eeprom-update -d -a

Din skærm burde nu vise noget der minder om det her:

CURRENT burde være ældre end LATEST. Er den ikke det, skal du bare bekræfte at CURRENT og LATEST er ens, og at CURRENT er fra år 2021 eller nyere. Kald derefter:

sudo reboot now

én gang til (og vent et par minutter) og log ind på din Raspberry Pi med PuTTY igen. Hvis du kalder den der sudo rpi-eeprom-update -d -a kommando igen, burde CURRENT og LATEST være ens nu.

Slå USB boot til

Tillykke, du har nu opdateret din Raspberry Pis firmware til den nyeste version. Nu skal vi slå USB boot til, som også kræver SSH adgang. Start med at skrive denne kommando:

sudo raspi-config

Du burde nu få en skærm op, hvor du kan bruge piltasterne til at navigere rundt. Det vi skal gøre er:

Advanced Options -> A7 Bootloader version -> Vælg den første mulighed der hedder “E1 Latest Use the latest version boot ROM software”

Vælg NO når den spørger, om den skal “Reset boot ROM to defaults”. Tryk derefter på OK.

Gå så ind i:

Advanced Options -> A6 Boot Order -> Vælg den der hedder “B2 USB Boot Boot from USB if available, otherwise boot from SD card”.

Tryk derefter på OK. Gå ned i bunden og tryk på Finish (pil til høje).

Vælg NO når den spørger om du vil reboot.

Derefter kan vi slukke din Raspberry Pi:

sudo shutdown now

Tillykke

Du har nu slået USB boot til på din Raspberry Pi! Når din Raspberry Pi er slukket, kan du tage SD kortet ud og sætte USB stikket fra din SSD i. Når du så sætter strøm til din Raspberry Pi, burde den nu starte op på SSDen (da det er den eneste lagringsenhed der er).

Too long, did not read (for nørderne)

1) Få din Raspberry Pi bootet op på dit yndlings operativsystem (Linux flavored såsom Debian)
2) Kald følgende kommandoer, sig ja til alt og genstart når den beder dig om det:

sudo apt update
sudo apt full-upgrade
sudo rpi-update
sudo rpi-eeprom-update -d -a

3) Sørg for at den sidste sudo rpi-eeprom-update -d -a siger, at CURRENT og LATEST er ens, og at begge melder 2021 eller nyere firmware.
4) Gør hvad der står under Slå USB boot til afsnittet (det kan ikke skrives kortere)
5) Kobl SD kortet fra, kobl din FAT32 SSD til (med et operativsystem) og start din Raspberry Pi
6) Tillykke!

Hjælp, det virker ikke!

Okay, vær helt sikker på, at du har fulgt guiden til punkt og prikke. Hvis du fik nogle fejl undervejs, så undersøg de fejl selv, for dette burde være en fejlfri proces.

Der er en chance for, at den SATA til USB adapter du har købt, måske ikke virker med Raspberry Pi. Der findes et par sider, der har nogle oversigter over adaptere de har bekræftet virker, så det er måske værd at købe sådan en.

JMicron USB adapters

Jeg har lige hjulpet en med at undersøge, hvorfor hans Pi ikke ville boote med en SSD, selvom han havde gjort alt det rigtige. Ved at køre kommandoen lsusb, kunne vi se, at hans USB adapter brugte et JMicron chipset. De er desværre kendt for at være upålidelige med Raspberry Pis og USB boot. Dog findes der et par løsninger. Start med at sætte SD kortet i igen og start din Raspberry Pi op. SSH ind i den ligesom du har gjort et par gange nu. Kald nu denne kommando:

sudo -E rpi-eeprom-config --edit 

Det åbner et tekstprogram op, hvor indholdet burde ligne noget i stil med:

[all]
BOOT_UART=0
WAKE_ON_GPIO=1
POWER_OFF_ON_HALT=0

Brug piltasterne og indsætte dette (højreklik = indsæt i PuTTY) på nederste linje:

USB_MSD_PWR_OFF_TIME=0

Tryk derefter CTRL+X (eller CMD+X på macOS), tryk y for yes og derefter Enter for at gemme. Nu burde den skrive EEPROM updates pending. Please reboot to apply the update., så nu kalder du bare sudo reboot now. Når den er genstartet, så SSHer du ind igen, sætter SSDen til via USB og kalder denne kommando: lsusb. Den burde returnere noget der minder om dette:

Bus 002 Device 002: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS578 SATA 6Gb/s
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Kan du se det der 152d:0578? Det er dét vi skal bruge. Kopier de 9 symboler og gem dem et sted, for vi skal bruge dem lige om lidt.

Så langt så godt. Nu skal du tage SSDen, koble den til din computer med USB og åbne drevet op. Find filen der hedder “cmdline.txt” og åbn den i et program, der ikke ændrer på formateringen (Notepad eller Notepad++ på Windows eksempelvis – IKKE WordPad eller Word). Filen burde indeholde noget der ligner dette:

console=serial0,115200 console=tty1 root=PARTUUID=f0f0f0f0f0 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles systemd.run=/boot/firstrun.sh systemd.run_success_action=reboot systemd.unit=kernel-command-line.target

Før alt det tekst der, skal du nu tilføje denne streng:

usb-storage.quirks=152d:0578:u

efterfulgt af et mellemrum. Erstat 152d:0578 med det du kopierede før. Nu burde cmdline.txt ligner dette:

usb-storage.quirks=152d:0578:u console=serial0,115200 console=tty1 root=PARTUUID=f0c3e667-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles systemd.run=/boot/firstrun.sh systemd.run_success_action=reboot systemd.unit=kernel-command-line.target

Gem filen, tag SSDen ud af din computer, sæt den i din Raspberry Pi, fjern SD kortet fra din Raspberry Pi og prøv at starte den igen. Nu burde det forhåbentligt virke!

Indlægget Raspberry Pi og SSD opsætning blev først udgivet på Smarthjemmet.

]]>
https://smarthjemmet.dk/2022/01/raspberry-pi-og-ssd-opsaetning/feed/ 7 322
Hvilken Zigbee dongle skal man vælge? https://smarthjemmet.dk/2022/01/hvilken-zigbee-dongle-skal-man-vaelge/ https://smarthjemmet.dk/2022/01/hvilken-zigbee-dongle-skal-man-vaelge/#comments Mon, 03 Jan 2022 17:30:24 +0000 https://smarthjemmet.dk/?p=314 Jeg er med i et par Facebook grupper, hvor jeg flere gange om ugen ser folk spørge ind til, hvilken dongle man skal købe, hvis man gerne vil starte på Zigbee. Jeg vil i dette indlæg komme lidt ind på, hvilke dongles jeg personligt anbefaler. I skrivende stund ejer jeg pt. disse Zigbee USB dongles: […]

Indlægget Hvilken Zigbee dongle skal man vælge? blev først udgivet på Smarthjemmet.

]]>
Jeg er med i et par Facebook grupper, hvor jeg flere gange om ugen ser folk spørge ind til, hvilken dongle man skal købe, hvis man gerne vil starte på Zigbee. Jeg vil i dette indlæg komme lidt ind på, hvilke dongles jeg personligt anbefaler.

I skrivende stund ejer jeg pt. disse Zigbee USB dongles:

  • 2x Sonoff Zigbee 3.0 Dongle Plus (CC2652P chip)
  • 1x Z-Bee Duo (CC2652P chip)
  • 4x CC2531 USB dongles
  • 3x CC2530 chips (til gør-det-selv projekter)

Oversigt

Som jeg ser det lige pt. i starten af år 2022, så er der 3 dongles der er værd at snakke om: Sonoffs CC2652P dongle, ConBee II og CC2531 USB dongles:

DongleSonoff Zigbee 3.0 Dongle Plus (ZBDongle-P)ConBee IICC2531 dongle
ChipTexas Instruments CC2652PATSAMR21B18 ARM Cortex Texas Instruments CC2531
Antal enheder~200*~200*~40*
Ekstern antenneJaNejJa**
RækkeviddeGodMellemMellem og god***
FirmwareZ-Stack 3.x.0ConBees egetZ-Stack 3.0.x
Fungerer som routerJaNejJa
SupportZHA, Zigbee2MQTTZHA, Zigbee2MQTT, deCONZ ZHA, Zigbee2MQTT
Pris u. fragt100 kroner300 kroner45 kroner
* Kig på denne side for lidt mere info, da det er lidt svært at forklare
** og *** CC2531 kommer i flere varianter, heriblandt nogle med ekstern antenne

Som man kan se i oversigten, er de enkelte dongles lidt forskellige, men de understøttes alle i blandt andet Home Assistant, men Zigbee2MQTT virker også med dem alle. Den eneste store forskel mellem dem er prisen, hvor ConBee II er den dyreste af dem.

Disclaimer: Så vidt jeg kunne søge mig frem til, er det ikke muligt at bruge en ConBee II som router. Teknisk set burde man godt, men det kræver nogen laver et firmware til det. Eftersom ConBee II bruger et closed source firmware lavet af dem der har udviklet ConBee II, så kommer det nok ikke foreløbigt.

Opdatering fra 2023: Sonoff har lanceret en ny version af deres dongle: ZBDongle-E. Den er umiddelbart ved at erstatte ZBDongle-P, og den bruger desværre ikke en Texas Instruments chip, så de kan ikke flashes med Z-Stack firmwaret.

Ethernet dongle

Det er måske lidt værd at nævne, der også findes Zigbee dongles der har ethernet. Et godt eksempel er Tube’s CC2652P2. Ideen med dem er, at du ikke behøver at bruge USB, så hvis din server, Raspberry Pi eller lignende står et sted der ikke er så idealt, så kan du plugge den i et andet sted i huset. Meget smart.

Smart ting med ConBee II

Jeg efterspurgte lidt fede ting omkring ConBee II, da jeg ikke selv havde meget at sige om den, og der blev det pointeret, at man kan konfiguere deCONZ via deres webinterface Phoscon, så man faktisk kan snakke med Zigbee enheder direkte, i stedet for at skulle lave en automation i Node-RED eller Home Assistant eksempelvis. Det er en stor fordel, hvis ens forbindelse til Home Assistant eller Node-RED er ustabil, eller hvis nettet går.

Texas Instrument chips og dongles

Texas Instrument har udviklet mange Zigbee chips, heriblandt CC2531 og CC2652P som jeg nævnte tidligere. Der findes mange dongles på markedet der bruger disse chips, og du har sikkert hørt om mange af dem: zzh!, Slaesh og ZigStar.

Nu bliver det lidt nørdet, men læs endeligt videre: Hver eneste af disse dongles er stort set ens. De har mange få komponenter der er ens eller kan det samme, og de få komponenter er: Spændingsregulator (5 volt til 3.3 volt), USB til serial chip og Texas Instrument chippen. Der er vitterligt ikke flere notesværdige komponenter på en Zigbee dongle, da du med de tre komponenter har mulighed for at give den strøm via USB samt flashe et nyt firmware via USB.

Hvad betyder det? Hvis du finder to dongles der har samme Texas Instrument chip og samme sæt features, er det i bund og grund ligegyldigt hvilken en du køber, da chippen er den samme og fordi de bruger samme firmware (Z-Stack). Det er grunden til at jeg ikke har inkluderet zzh!, Slaesh osv. i oversigten: De koster mere og kan det samme.

En ting værd at nævne: CC2652 findes i et par varianter. Hvis den slutter på et P, ligesom Sonoff gør, så betyder det blot, at den har en indbygget “power amplifier”, som gør at du kan sætte “signalstyrken” til 20 dBm. Standard er den på 5 dBm. Det kræver dog en ændring i firmwaret at ændre styrken, og jeg mener også det er ulovligt at skrue den for højt op (noget med interferens).

Z-Stack firmware

Z-Stack firmwaret er udviklet af Texas Instruments, som er de samme der har lavet de Zigbee chips der sidder i blandt andet Sonoffs dongle. En udvikler ved navnet Koenkk har dog lavet et fork af Z-Stack firmwaret og han har så lavet et par få modificeringer (hvad ved jeg ikke), og lavet en pre-compiled firmware fil for os. Jeg har selv sat mit eget miljø op, så jeg kan compile Z-Stack fra bunden, og det kan jeg ikke anbefale, for det er en lang proces. Så stor tak til Koenkk for at give os firmwaret.

Z-Stack er generelt det firmware man anbefaler til Texas Instrument chips, så det vil sige stort set alle dongles undtagen ConBee II. Det er derfor også det firmware jeg har på alle mine dongles.

Koenkks Z-Stack er compiled både som coordinator og router og kan findes her: https://github.com/Koenkk/Z-Stack-firmware/

Koenkk er desuden udvikleren der har udviklet Zigbee2MQTT, så man kan vist trygt stole på ham!

USB forlængerkabel

Mange oplever problemer med interferens, hvorfor det kan være nødvendigt at sætte et forlængerkabel mellem din dongle og din server eller Raspberry Pi. Jeg har selv gjort det, men det var mest for at få bedre rækkevidde. Hvis du har et liggende, kan jeg godt anbefale bare at gøre det – så er du lidt mere sikker. Køb et kabel med en længde mellem 1 og 2 meter er min anbefaling.

Konklusion

Jeg har ejet og solgt en ConBee II, da den ikke levede op til mine forventninger (hovesageligt rækkevidde). Jeg har og ejer mange Texas Instruments baseret Zigbee dongles, der alle er flashed med Z-Stack. Jeg har haft absolut 0 problemer med de dongles, ej heller nogle problemer med rækkevidden.

Eftersom Z-Stack er open source og bliver opdateret jævnligt, samt at Koenkk er en meget aktiv person i Zigbee-området, kan jeg kun anbefale Z-Stack firmwaret og de enheder der bruger Texas Instruments chips.

Kigger man derefter på features og pris, er der én klar vinder: Sonoffs Zigbee 3.0 Dongle Plus

Sonoff Zigbee 3.0 Dongle Plus: AliExpress (reklamelink) eller ITEAD

ConBee II: Amazon (Tysk)

CC2531: AliExpress (reklamelink)

Indlægget Hvilken Zigbee dongle skal man vælge? blev først udgivet på Smarthjemmet.

]]>
https://smarthjemmet.dk/2022/01/hvilken-zigbee-dongle-skal-man-vaelge/feed/ 26 314