Vilken är den bästa (läs: enklaste med flest egenskaper) P1-adaptern för Home Assistant?

  • Currently One (https://currently.one/)

    0 Röster 0,0%
  • Antal röster
    35
redarn redarn skrev:
Jag misstänker att detta fungerar

case states::IDENTIFYING_MESSAGE:
if (!available()) {
constexpr unsigned long max_wait_time_ms{ 60000 };
if (max_wait_time_ms < loop_start_time - m_identifying_message_time) {
ESP_LOGW(TAG, "No data received for %d seconds.", max_wait_time_ms / 1000);
ChangeState(states::ERROR_RECOVERY);
}
break;
}
while (available()) {
char const read_byte{ GetByte() };
if (read_byte == '/') {
ESP_LOGD(TAG, "ASCII data format");
m_data_format = data_formats::ASCII;
m_message_buffer[m_message_buffer_position++] = read_byte;
ChangeState(states::READING_MESSAGE);
break;
}
else if (read_byte == 0x7e) {
ESP_LOGD(TAG, "BINARY data format");
m_data_format = data_formats::BINARY;
m_message_buffer[m_message_buffer_position++] = read_byte;
ChangeState(states::READING_MESSAGE);
break;
}
else {
//ESP_LOGW(TAG, "Unknown data format (0x%02X). Resetting.", read_byte);
//ChangeState(states::ERROR_RECOVERY);
//return;
}
}
// Not breaking here! The delay caused by exiting the loop function here can cause
// the UART buffer to overflow, so instead, go directly into the READING_MESSAGE
// part.
case states::READING_MESSAGE:

Efter att ha läst meddelandet på slutet så ja, det är nog inte snabbt nog att göra exit ur denna klass för att sedan bli återropad lite senare.

(beskyll inte mig för den hemska kodformateringen, behåller bara vad som var där innan)
Tack för detta tips, men jag har nu hittat rot-orsaken! Jag köpte D1mini på ALIexpress (första bild) och så ser screentrycket ut på kortet jag fick. Men så såg jag att det fanns en annan variant (andra bild) med en annan pin-layout och där D2 och D4 var omkastade, men alla andra jag använder var lika. Desperat provade jag då att kasta om D2 och D4 och MIRAKEL det funkar.

Alltså är min slutsats att jag fått ett kort av en typ men med screentryck från en annan typ, kanske får man den kvaliteten man betalar för...
 
  • Bild av ett WeMos D1 Mini Pro V3.0 utvecklingskort med ESP8266, tillhörande stiftlister och dess komponenter, listat på en e-handelswebbplats för 31,09 kronor.
    Inloggade ser högupplösta bilder
    Skapa konto
    Gratis och tar endast 30 sekunder
  • Bild på en WeMos D1 Mini Pro V3.0 NodeMcu utvecklingskort baserat på ESP8266, säljs för 30,35kr på ALIexpress. Två kort med olika komponenter och en uppsättning stift.
    Inloggade ser högupplösta bilder
    Skapa konto
    Gratis och tar endast 30 sekunder
  • Gilla
VetLiteOmMycket och 4 till
  • Laddar…
J jerval skrev:
Tack för detta tips, men jag har nu hittat rot-orsaken! Jag köpte D1mini på ALIexpress (första bild) och så ser screentrycket ut på kortet jag fick. Men så såg jag att det fanns en annan variant (andra bild) med en annan pin-layout och där D2 och D4 var omkastade, men alla andra jag använder var lika. Desperat provade jag då att kasta om D2 och D4 och MIRAKEL det funkar.

Alltså är min slutsats att jag fått ett kort av en typ men med screentryck från en annan typ, kanske får man den kvaliteten man betalar för...
Och i och med detta funkar originalkoden. Men en lärdom är att vid 115200 baud funkar det inte utan RTS handskakning.
 
J jerval skrev:
Och i och med detta funkar originalkoden. Men en lärdom är att vid 115200 baud funkar det inte utan RTS handskakning.
Den har en hårdvarubuffert på knappt en hundradels sekund vid den hastigheten så det är inte på något sätt omöjligt att lösa men det blir så klart enklare om handskakningen är implementerad.

Bra att din enhet funkar.
 
  • Gilla
jerval
  • Laddar…
Nu har jag också byggt ihop en Beaky2000 på P1 mini och skulle behöva tips/support.
Har lött ihop allting. Programmerat D1 via USB och lyckats få den uppkopplad till nätverket och kan besöka dess hemsida. Lysdioder har ett fast blått sken.
Men när jag kopplar den till elmätaren dyker den inte upp i nätverket. Den lyser även här konstant blått. Jag trodde först det var wlan räckvidd men har nu en 3m rj12 förlängning så själva D1'an nu hänger i samma rum 4m från routern.
Men den kopplar ändå inte upp mot routern.
Jag provade också att manuellt spänningssätta 5v via de 2 yttre pinnarna på RJ12 kontakten liggandes på bordet. Då lyser den även konstant blått och kopplat även upp sig mot nätverket.

Så något märkligt är det just när det kopplas upp mot elmätaren.
Någon som haft liknande problem att det lyser blått men helt enkelt inte kopplar upp sig så fort man sätter den i elmätaren?
 
V VallValle skrev:
Nu har jag också byggt ihop en Beaky2000 på P1 mini och skulle behöva tips/support.
Har lött ihop allting. Programmerat D1 via USB och lyckats få den uppkopplad till nätverket och kan besöka dess hemsida. Lysdioder har ett fast blått sken.
Men när jag kopplar den till elmätaren dyker den inte upp i nätverket. Den lyser även här konstant blått. Jag trodde först det var wlan räckvidd men har nu en 3m rj12 förlängning så själva D1'an nu hänger i samma rum 4m från routern.
Men den kopplar ändå inte upp mot routern.
Jag provade också att manuellt spänningssätta 5v via de 2 yttre pinnarna på RJ12 kontakten liggandes på bordet. Då lyser den även konstant blått och kopplat även upp sig mot nätverket.

Så något märkligt är det just när det kopplas upp mot elmätaren.
Någon som haft liknande problem att det lyser blått men helt enkelt inte kopplar upp sig så fort man sätter den i elmätaren?
Glömde nämna det, men mätaren är en kamstrup Omnia. Någon som fått projektet att fungera på en sådan?
 
V VallValle skrev:
Glömde nämna det, men mätaren är en kamstrup Omnia. Någon som fått projektet att fungera på en sådan?
Jepp, jag har det att funka på en Omnia från Gbg energi. Min status led blinkar till varannan sek, när det kommer ett paket.
Låter som din inte bootar om du inte ser den i nätverket. Om du spänningsätter den via USB, kommer den upp då?
 
Och har du lagt över filerna i Beaky2000 projektet på din HA?
 
J jerval skrev:
Jepp, jag har det att funka på en Omnia från Gbg energi. Min status led blinkar till varannan sek, när det kommer ett paket.
Låter som din inte bootar om du inte ser den i nätverket. Om du spänningsätter den via USB, kommer den upp då?
Ja. På USB dyker den upp i nätverket och webbsidan fungerar, fast utan data såklart.
Men när det kopplas till mätaren verkar den inte bootar upp eller koppla till wifi. Den blå lysdioden lyser men den kopplar aldrig upp moto routern.
 
Och på samma plats?
Har du mätt att du har 5v över kortet? Och inte råkat ansluta till 3.3v pinnen?
Och ett allmänt tråkigt tips, trippelkolla att du kopplat rätt. 😄 Men det är antagligen bara jag som brukar gör fel😉
 
  • Gilla
Puffen Ingarö
  • Laddar…
Har en Kamstrup Omnipower som initialt hade en RJ45port men var ner på det kommunalägda elnätsbolaget och bytte åt mig en P1 med RJ12 port och kopplade mot en Wemos D1 Mini vilket jag flashat svanströms ESPhome på. vips så ploppade alla elmätarens värden upp som sensorer i HA. Nu till det tråkiga, Kamstrup Omnipower levererar 0V mellan pin 6 och pin 1, men före P1 modulen finns 5V skulle jag kunna smyga bakom med en kabel och plocka 5V där istället för att plocka 5V från en powerbank, vill ha så lite skit som möjligt runt elmätaren. Någon som har liknande problem med spänningsmatningen?
 
Nu har jag köpt mig en ny D1 mini hårdvara eftersom jag misstänkte att min aliexpress hw krävde för mycket ström vid boot och att kamstrup mätaren begränsade.
Men jag har samma fenomen, D1'an bootar upp bra både med usb och extern matning via RJ12, men inte när man kopplar till mätaren.

Jag har funderat att löda dit en konding mellan gnd och 5v. Men är det någon som vet om något i mätaren kan ta skada om man både har anslutit pin 1 och 6 via mätaren och samtidigt kopplar in en powerbank via USB?
 
  • Gilla
Kjelle Mickelsson
  • Laddar…
redarn redarn skrev:
Om jag förstår dataformatet rätt så kommer '/' enbart vid start på meddelande. Då borde det räcka med att kommentera ut raderna:

ESP_LOGW(TAG, "Unknown data format (0x%02X). Resetting.", read_byte);
ChangeState(states::ERROR_RECOVERY);

Men ha kvar "return;" på nästföljande rad för att söka tills den hittar '/'.
För- och nackdelen med Beslagsgruppens lås är att du (nästan) alltid har full acces att öppna inifrån oavsett låsmetod.
Så har man en jobbig hund finns det förmodligen bättre alternativ.
Bland det bästa ned BG produkterna är att de har nödöppning utifrån med USB strömkälla ( typ powerbank) och/eller NYCKEL! (Denna sitter undertill och bypasar allt, klockrent för oss!).
 
Kjelle Mickelsson Kjelle Mickelsson skrev:
På PSvanströms sidor på Github [länk], så kan man se att han satt in i lite strömbegränsande komponenter och nån transistor för 3.3V ingången. Detta behövs alltså inte?

Klurar på denna D1 Mini [länk]
Nej, det behövs inte i p1mini. Motstånden är de inbyggda ”pull-up” och transistorn i Svanströms lösning skall bara invertera signalen. Det görs i konfigurationen på p1mini.
Den D1 mini-klonen du har hittat fungerar bra, men om jag inte minns fel sitter inte GPIO-pinnarna på samma ställe. Läs noga på kortet innan du lödar och provkör.
 
  • Gilla
Kjelle Mickelsson
  • Laddar…
J jerval skrev:
Under components, se bild. Så först flashar du igång din ESPhome så den dyker upp i HAs filsystem, sen lägger du dit components filerna.Sen går du in på rätt device under ESPHome delen i HA intefacet (ute till vä asså) och väljer rätt device, Edit, stoppa dit yaml delarna och sedan Install.
Hej, ser i ditt inlägg att på bilden har du inte har med filerna som ligger under text_sensor, har du lagt dom någon annan stans?
 
Vi vill skicka notiser för ämnen du bevakar och händelser som berör dig.