Innehållsförteckning:

Omnik Inverter Off It's Cloud and on My MQTT: 3 Steps (with Pictures)
Omnik Inverter Off It's Cloud and on My MQTT: 3 Steps (with Pictures)

Video: Omnik Inverter Off It's Cloud and on My MQTT: 3 Steps (with Pictures)

Video: Omnik Inverter Off It's Cloud and on My MQTT: 3 Steps (with Pictures)
Video: Solis Hybrid Inverter, How to set the charge time ! 2024, November
Anonim
Omnik Inverter Off It's Cloud och på My MQTT
Omnik Inverter Off It's Cloud och på My MQTT
Omnik Inverter Off It's Cloud och på My MQTT
Omnik Inverter Off It's Cloud och på My MQTT

Jag har en solenergianläggning med en Omnik strängomvandlare. Omnik är en Kina -baserad tillverkare av PV -växelriktare och de tillverkar extremt effektiva enheter. Alternativt kan du installera en WiFi -modul för att göra den "ansluten". Jag är mycket nöjd med enheten, med två anmärkningsvärda undantag.

  1. Den "ringer hem" till en Kina -baserad molntjänst och så länge enheten är ansluten till Internet kan den inte stängas av. Jag gillar inte det.
  2. Inverteraren har inget anständigt dokumenterat API (inte heller molntjänst). Eftersom hemautomatisering och IoT -enheter drar mot MQTT -meddelanden, ville jag att den skulle skicka MQTT -meddelanden.

För detta projekt, som löser båda frågorna, vänder vi oss mot vår kräsen men pålitliga vän ESP8266. Jag använde en Wemos D1, men vilken inkarnation du vill kan användas. Planen är att:

  1. Ge inte inverterarens WiFi -modul några inloggningsuppgifter till hemmets WiFi -nätverk. Detta löser problem 1.
  2. Låt Wemos regelbundet ansluta till växelriktarens åtkomstpunkt för att hämta de data vi vill ha. Vi kan använda det omvända protokollet för icke-webbprotokoll för det. Jag använde denna kod som utgångspunkt.
  3. Koppla sedan bort, anslut till hemnätverket och publicera nämnda data som ett MQTT -meddelande.

Vår materialräkning är extremt enkel:

  • En Wemos D1, som ska köpas via Wemos webbplats eller din favorit auktionssajt;
  • En USB-strömförsörjning med en USB-minikabel.

Det behövs ingen ledning alls. Kostnaden är under 10 euro.

Jag antar att du redan har

  • en Omnik -inverter med en WiFi -modul installerad;
  • en MQTT -infrastruktur (mäklare, instrumentpanel);
  • en ny version av Arduino IDE med stöd för ESP8266 -processorn installerad.
  • viss förtrogenhet med ovanstående.

Det finns en hel del instruktioner om MQTT och användning av Arduino IDE för en ESP8266 -processor, men fråga gärna i kommentarsfältet.

Steg 1: Koppla bort Omnik permanent från Internet

Koppla bort Omnik permanent från Internet
Koppla bort Omnik permanent från Internet

Om du, precis som jag, hade växelriktaren ansluten till ditt WiFi -nätverk är det förvånansvärt svårt att koppla bort den. Alla ändringar du gör i WiFi -inställningarna kontrolleras innan de tillämpas. Istället för att hoppa igenom ringar som att ändra krypteringslösenordet för routern och omformaren, sedan byta tillbaka routern, bestämde jag mig för att ta ett renare tillvägagångssätt och börja om från början.

Gå till växelriktaren och utför följande åtgärder:

  • tryck på nedåtknappen tills Set blinkar och tryck sedan på Retur
  • Tryck på nedåtknappen tills WiFi blinkar och tryck sedan på Retur
  • Tryck på Upp -knappen så att Ja blinkar och tryck sedan på Retur

Anslut till växelriktaren

Öppna din dator och hitta ett WiFi -nätverk som heter AP_xxxxxxxx, x: s presenterande siffror. Anslut till den. Beroende på operativsystem kan du först behöva få det att "glömma" det nätverket om du har anslutit till det tidigare, eftersom nu ett eventuellt lagrat WiFi -lösenord är borta.

Säkra växelriktarens åtkomstpunkt

När du är ansluten öppnar du din webbläsare, anger 10.10.100.254 och trycker på Retur. En popup -inloggning visas. Ange admin i båda fälten för att logga in. Följ INTE guiden och konfigurera åtkomstpunkten. Klicka på Avancerat i menyn till vänster och sedan på undermenyn Trådlös punkt.

Gör följande ändringar:

  • Krypteringsmetod till WPA2PSK
  • Krypteringstyp till TKIP
  • Ange ett WiFi -lösenord. Skriv ner lösenordet, du behöver det för att ansluta till omformaren snart.

Klicka på Spara och WiFi -modulen startar om. Du kommer att tappa anslutningen eftersom det nu kräver lösenordet. Anslut igen och ange WiFi -lösenordet. Återigen kan du behöva få din dator att "glömma" AP_xxxxxxxx -nätverket först. Du bör nu anslutas till växelriktaren igen via en säker WiFi -länk.

Säkra omformarens konfigurationssidor

Öppna din webbläsare, ange 10.10.100.254 och tryck på Retur igen. En popup -inloggning visas. Ange igen admin i båda fälten för att logga in. Klicka på Konto i menyn till vänster. Ändra användarnamnet och lösenordet till två unika, icke triviala strängar. Du måste ange dem två gånger. Skriv ner dem. Klicka på Spara och WiFi -modulen startas om. Vänta några sekunder och ladda om sidan. Kontrollera att du nu behöver det nya användarnamnet och lösenordet för att öppna konfigurationssidorna. Din växelriktare har nu ett extra lager av säkerhet mot förändringar som görs av utomstående.

Detta avslutar allt arbete som måste utföras på växelriktaren. Den är nu bortkopplad från Internet, rimligen säker, men den fungerar fortfarande som en WiFi -åtkomstpunkt som vi kan använda för att fråga den.

Steg 2: Ladda ner och konfigurera programvaran för Wemos D1

Ladda ner och konfigurera programvaran för Wemos D1
Ladda ner och konfigurera programvaran för Wemos D1

Ladda ner programvaran för Wemos. Du hittar koden här. Du måste göra några ändringar för att konfigurera det för ditt hemnätverk och din växelriktare

  • homeSsid: namnet på ditt WiFi -hemnätverk
  • homePassword: lösenordet för ditt hem WiFi -nätverk
  • omnikSsid: namnet på ditt Omnik WiFi -nätverk. Det ska se ut som AP_xxxxxxxxx
  • omnikPassword: lösenordet för ditt Omnik WiFi -nätverk som du tilldelade i föregående steg
  • omnikIP: omriktarens IP -adress. Detta är alltid {10, 10, 100, 254}
  • omnikCommand: byte -strängen som krävs för att fråga din inverter, se nedan.
  • mqtt_server: värdnamnet för din MQTT -mäklare
  • mqtt_port: TCP -portnummer, vanligtvis 1883 för osäkra eller 8883 för säkra (SSL) anslutningar
  • mqtt_username och mqtt_password: referenser för din MQTT -mäklare
  • mqtt_clientID: ange några slumpmässiga siffror här
  • mqtt_outTopic: ämnet för MQTT -meddelanden.

OmnikCommand -byte -arrayen är specifik för din individuella inverter. Jag publicerade ett litet verktyg som ett Google -kalkylblad för att beräkna strängen. Du måste ange serienumret (cirka 10 decimaler) i cell B1 och använda strängen beräknad i cell B4 i din skiss.

För att lyckas kompilera koden behöver du också PubSubClient.h -biblioteket. Se till att rätt kort (Wemos D1) och port är valt och ladda sedan upp skissen till kortet. Du kan lägga det lilla Wemos -kortet i en liten plastbehållare för skydd och ansluta det till USB -strömförsörjningen. Lägg den någonstans inte för långt från både inverteraren och din WiFi -router så är du klar!

Huvudslingan i programvaran ansluter till växelriktaren WiFi, gör sedan en TCP -anslutning till den, läser data, kopplar bort, ansluter till hemmets WiFi -nätverk, sedan till MQTT -mäklaren och publicerar den omformaterade data där. Det tar knappt 15 sekunder att göra allt detta anslutning och frånkoppling. Efter det är det en fördröjning på 20 sekunder, så data bör publiceras ungefär var 35: e sekund.

Steg 3: Några ord om meddelandena, mäklaren och testning

Några ord om meddelandena, mäklaren och testning
Några ord om meddelandena, mäklaren och testning
Några ord om meddelandena, mäklaren och testning
Några ord om meddelandena, mäklaren och testning
Några ord om meddelandena, mäklaren och testning
Några ord om meddelandena, mäklaren och testning

Koden matar ut lite felsökningsdata, så om något inte fungerar, helt enkelt ansluta WeMos till din dator igen, starta Arduino IDE och tryck på CTRL+SHFT+M för att starta en seriekonsol. Se till att hastigheten är inställd på 115200.

Du kan antingen använda din egen mäklare eller använda en molnbaserad tjänst. Jag kör min egen, mygga installerad på min Synology NAS. Om du har det bra med en molntjänst kan du använda Adafruit eller Amazon AWS eller någon annan.

Meddelandena är JSON -strängar formaterade så här:

Vid start publiceras följande meddelande:

Detta kan användas för att upptäcka oväntade omstart.

Normala meddelanden ser ut så här:

Effekt i watt, spänningar i volt, strömmar i ampere, frekvens i Hertz, energi i kiloWatthours och temperatur i grader Celsius.

Jag använder mosquitto_sub för att kontrollera meddelandena.

mosquitto_sub -h värdnamn -t "Solar/Omnik" -u användare -P lösenord -p 1883 -v

Se skärmgreppet för resultaten. Alla meddelanden publiceras med behållningsflaggan inställd på true.

På min telefon använder jag en app som heter MQTT Dash och jag har inkluderat en skärmutskrift och vad jag ska ange för att visa den gröna strömbrytaren.

Rekommenderad: