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
    15
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
redarn och 1 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?
 
Produkter som diskuteras i tråden
Vi vill skicka notiser för ämnen du bevakar och händelser som berör dig.