Arduino Nano Impuls zählen und speichern (Leider nur Fehler)

Hallo zusammen,
ich möchte gerne von unserem Wechselstromzähler den Zählerstand ablesen.
Da ich dies nicht ohne Umwege kann habe ich ein Modul welches im Normalfall
ein Impuls an eine Digitale Anzeige gibt, welche dann um 1 hochzählt. Jetzt möchte
ich diese Zahl aber in meiner Mysql-Datenbank mit abspeichern. Die Digitale
Anzeige bekommt dauerhaft min. 1-1,3 Volt und somit kann ich keinen Digitalen
Input nutzen. Ich habe mir nun folgendes überlegt:

#include <UIPClient.h>
#include <UIPEthernet.h>
#include <UIPServer.h>

byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x31 }; //Locale Mac                                       
IPAddress hostIp(192,168,178,154); //Locale IP
byte gateway[] = { 192, 168, 178, 1 };
byte subnet[]  = { 255, 255, 255, 0 };
    
EthernetClient client;

int tmpImpuls = 0;
int Impuls = 0;

void setup()
{
  analogReference(EXTERNAL);
  pinMode(13, OUTPUT);
  Serial.begin(9600);			
  Ethernet.begin(mac, hostIp, gateway, subnet);
  Serial.print("Counter IP: ");
  Serial.println(Ethernet.localIP());  
  delay(2000);				
}

void loop()
{
  delay(500);
  if(checkData())
  {
    tmpImpuls++;
    Impuls++;
    digitalWrite(13, HIGH);
    Serial.print(tmpImpuls);
    Serial.print(" | ");
    Serial.println(Impuls);
    delay(4000);
    digitalWrite(13, LOW);
  }
  if(tmpImpuls >= 10)
  {
    if(sendDataMysql(tmpImpuls, Impuls))
    {
     tmpImpuls = 0; 
    }
  }  
}

int checkData()
{
  int value = analogRead(0);
  if(value >= 1000)
  {
   return true;
  }
  else
  {
   return false;
  }  
}

int sendDataMysql(int tmpImpuls, int Impuls)
{
  byte server[] = { 192,168,178,150 }; //mysql api
  if (client.connect(server, 80))  // Verbindung zum Server aufbauen
  {
    client.print("GET /api/zaehler.php?token=");
    client.print("847673768474687376597");
    client.print("&counter=");
    client.print(tmpImpuls);
    client.print("&counter2=");
    client.print(Impuls);
    client.println(" HTTP/1.1");
    client.println("Host: 192.168.178.150");
    client.println("User-Agent: Arduino/Nano/3.0");
    client.println();
    client.stop();
    Serial.println("Verbindung geschlossen...TRUE");
    return true;
  }
  else
  {
    client.stop();
    Serial.println("Verbindung geschlossen...FALSE");
    return false;
  }    
}

Leider funktioniert dies nicht so ganz wie ich möchte.
Im Steckbrett versuch ging alles, doch in der Live-Anwendung
passiert eigentlich nichts. Die Serielle Schnittstelle sagt er
zählt hoch und setzt den tmpImpuls auch nach 10 mal wieder
runter auf 0, doch auch nur wen ich die Serielle-Schnittstelle
offen habe. Desweiteren kommt der Request beim Server
nicht wirklich an.

Ich verstehe die Problemstellung nicht ganz mit dem Zählerablesen.
Was für ein Modul hast du ?
An welche digitale Anzeige gibt das Modul einen Impuls?
Wo kommen die 1-1,3 Volt her?
Warum benutzt du "analogReference(EXTERNAL);"

Desweiterensolltest du alle delays im loop()entfernen und falls nötig durch "blink without delay"-onstrukte ersetze. Erfahrungsgemäss bereiten delays mehr Probleme als sie nutzen, da der Prozessor stehen bleibt und in dieser Zeit nichts anderes machen kann.

Falls die delays jedoch beabsichtigt sind, wie sind die Impuls-Zeiten Dauer, max. Frequenz) ?

Wenn du den Link im Browser aufrufst, macht er dann was er soll?

analogReference(EXTERNAL) nutze ich damit mein Analoger Input nicht so stark umher schwankt.
Es handelt sich um einen Inferotsensor von ELV, welcher eine Dauerspannung von 1-1,3V hat um
die Digitale Anzeige mit Strom zu versorgen. delay() nutze ich dafür, um den Impuls vom Zähler
nicht mehrmals einzulesen. Da ich weiß, dass der Impuls nicht öfter als 1 mal in 10 Sekunden
kommt. Tut mir leid, ich habe kaum Ahnung von C und C++. Und ja die PhP Api funktioniert.

Es muss dir nicht leid tun, dass du von der programmierung keine Ahnung hast. Jedoch solltest du unbedingt die Basis erlernen und kapieren.

Mir ist immer einiges noch nicht ganz klar:

Mit Modul meinst du den Infrarotsensor? Warum Infrarot und nicht Helligkeitssensor?
Mit Impuls meinst du das Aufblinken der LED am Zähler?
Da musst du die Änderungen zählen, sprich, wie oft in einem bestimmten Zeitraum die LED von aus auf an wechselt. Besser wáre PulseIn, damit kannst du direkt auf den aktuellen verbrauch hochrechnen.

Wie erfasst du die Impulse? mit dem IR-Sensor über Analogeingang? Dann musst du Schwellwerte festlegen und die Zeit messung programmieren, da geht PulseIn nicht.

Hast du einen Link zu diesem Infrarotsensor?