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

Anbefalte innlegg

Skrevet (endret)

Hei

 

Tenkte jeg skulle lese ut status på vaskemaskin og tørketrommel ved hjelp av en ESP-01

 

Er ikke godt kjent med Arduino kode, så om det finnes noen som er flinke på dette vennligst gi meg noen tips.

 

Vaskemaskin og Tørketrommel har en indikator LED med følgende status:

AV - Vaskemaskin av (ønsker å sende en 0 via MQTT)

På - Vasker (ønsker å sende en 1 via MQTT)

Blinker - Vask ferdig (blinker og når man skal velge program)(ønsker å sende en 2 via MQTT)

 

Jeg tenker å benytte en kode jeg har funnet fra The Hookup på Youtube, der jeg sletter Temp avlesning og switch fra koden.

https://github.com/thehookup/MQTT_Computer_Power/blob/master/ComputerControl_CONFIGURE.ino

 

Den delen av koden som er av interesse er limt inn under, kunne trenge litt hjelp til å forstå hvordan kode er satt opp.

 

 

Dette er kode for å sjekke om led blinker, mitt ønske er at denne kun sender status endring dersom den skifter fra konstant lys til blinkende lys.(ikke fra LED av til LED Blinkende)

Ønsker og å sende en verdi "2" for denne funksjonen

{
  if (pulseIn(powerSensePin, HIGH, 3000000) > 100)
  {
      client.publish("state/PC","ON", true);
  }

 

Dette er kode for å sjekke om LED lyser Konstant

Ønsker å sende verdi "1" for denne status

  else if(digitalRead(powerSensePin) == HIGH)
  {
      client.publish("state/PC","ON", true);

 

Dette er kode for å sjekke om LED ikke lyser

Ønsker å sende verdi "0" for denne status

else 
  {
      client.publish("state/PC","OFF", true);
  }

 

 

 

Mer av koden om man trenger hele sammenhengen:

 

void powerSense()
{
  if (pulseIn(powerSensePin, HIGH, 3000000) > 100) 
  {
    currentStatus = "ON";
    if(currentStatus != oldStatus)
    {
      client.publish("state/PC","ON", true);
      oldStatus = currentStatus;
    }
  }
  else if(digitalRead(powerSensePin) == HIGH)
  {
    currentStatus = "ON";
    if(currentStatus != oldStatus)
    {
      client.publish("state/PC","ON", true);
      oldStatus = currentStatus;
    }
  }
  else 
  {
    currentStatus = "OFF";
    if(currentStatus != oldStatus)
    {
      client.publish("state/PC","OFF", true);
      oldStatus = currentStatus;
    }
  }
}

void powerSenseCheckIn()
{
  if (pulseIn(powerSensePin, HIGH, 3000000) > 100)
  {
      client.publish("state/PC","ON", true);
  }
  else if(digitalRead(powerSensePin) == HIGH)
  {
      client.publish("state/PC","ON", true);
  }
  else 
  {
      client.publish("state/PC","OFF", true);
  }
}

 

Endret av kimstoroy
Skrevet

Holder på med akkurat det samme og har kode som fungerer. Jeg bruker nodemcu, homeassistant med mqtt og nodered. Sender kun om den blinker eller ikke via mqtt hvis jeg husker rett..

Hvilket system bruker du? 

 

Skrevet

Hei, bruker Homeseer så Mqtt er nok beste løsning for meg. Status på blinking får jeg og ut av denne, men hadde vært best å få ut en beskjed dersom den endrer seg fra konstant lys til blinking. Siden den blinker når man skru den på før man velger program.


Sent from my iPhone using Tapatalk

Skrevet

Har en Miele maskin... den blinker med annen takt når den slåes på en når den et ferdig..

Sett ikke ut som vi har samme framgangsmåte siden jeg tenkte å ta all logikken på server siden. Men lykke til. Kult prosjekt

  • Like 1

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

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