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

Andreas

Medlemmer
  • Innlegg

    230
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    6

Innlegg skrevet av Andreas

  1. /*
     *  Skrevet av Andreas Pedersen 2017
     *  
     *  Denne skissen er for å lese av en fotodetektor på pinne D3.
     *  Vi tar tiden mellom pulsene og sender de til Homeseer.
     *  
     *  OBS! Jeg har en måler med KUN 100 blink per kW-time, må endre regnestykke og "spam-tid" for å 
     *  bruke 1000 blink.
     *  
     *  For å bruke debug, så er det bare å endre den til 1.
     *  
     *  [email protected]
     */
    
    #include <ESP8266WiFi.h>
    
                                                                                                                                                                              const char* ssid     = "hovednett";
    bool debug = 0;  //endre denne til 1 for å debugge
    
    const char* password = "XXXXXXXX";    // Ditt passord
    const char* host = "XXXXXXXXXXX";     // Din homeseer IP
    
    const String url = "/JSON?request=controldevicebyvalue&ref=";
    const String verdi = "&value=";
    const String deviceID = "XXX";      //Din deviceId i Homeseer
    unsigned long spamTid = 1000;
    bool siste,nuh = 0;
    const byte interruptPin = D3;   //Bruker pin D3 på ESP8266-12E
    volatile unsigned long tid = 0;
    volatile bool flagg = 0;
    unsigned long forrigeTid, tidMellom = 0;
    unsigned long effekt = 0;
    void setup() {
     ESP.wdtDisable();
    
    Serial.begin(115200);
      WiFi.begin(ssid, password);
      Serial.println("Kobler til WiFi");
      while (WiFi.status() != WL_CONNECTED) {
        delay(500);
      }
        
    ESP.wdtEnable(WDTO_8S);
    pinMode(interruptPin,INPUT);
    attachInterrupt(digitalPinToInterrupt(interruptPin), handleInterrupt, FALLING);
    if (debug)Serial.println("Starter");
    
    }
    
    void handleInterrupt() {
      if((micros() - forrigeTid) > spamTid){ // sjekk om tid er mindre enn 2 sek = 2000mS = 2000000 uS
      tid = micros();                        // dette er kanskje ikke bra hvis dere har 1000 blink/kwh
      flagg = 1;
      }
      
    }
    
    void loop() {
    
    if (flagg){ 
      flagg = 0;
      detachInterrupt(digitalPinToInterrupt(interruptPin));
      tidMellom = (tid - forrigeTid);
      forrigeTid = tid;
      unsigned long mindreTall = tidMellom / 1000;   
      if (mindreTall >= 5000 <= 100000){
        
      effekt = 36000000 / mindreTall;
      
    if (debug) {  
      Serial.print("Tid siden siste blink var :"); 
      Serial.print(mindreTall);
      Serial.println(" mS!");
      Serial.print("Det vil si ");
      Serial.print(effekt);
      Serial.println(" Watt");
      }
      WiFiClient client;
     
      if (!client.connect(host, int(80))) {
        Serial.println("connection failed");
        return;
      }
        client.print(String("GET ") + url+deviceID+verdi+String(effekt) + " HTTP/1.1\r\n" +
                   "Host: " + host + "\r\n\r\n");// +
       
      }
      
    attachInterrupt(digitalPinToInterrupt(interruptPin), handleInterrupt, FALLING);
    
    }
    }

     

    På 8.11.2017 den 8.26, xibriz skrev:

     

    • Like 1
  2. Jeg bruker nodemcu til å lese av blink i strømmåleren jeg har i utleiedelen.

    Den kaller jeg for AMS-light..

     

    Bruker en lyssensor for å trigge en transistor, som igjen trigger en innterrupt på nodemcu.. 

    Måleren her er 100 pulser per kWh.

    360 000 / uS *1000 = watt

     

    Sender til Homeseer via JSON.

     

    100 pulser er litt lite, så ved 1500 watt så er det ca 30 sek mellom hvert blink.

    Skulle gjerne oppdatert oftere enn 20-60 sek..

     

    Bare spør hvis det er noe dere tror jeg kan hjelpe med..

    Andreas

  3. Resatte (dro ut og putta inn igjen) HAN-modulen, og da ble det bedre..

     

    Får nå ut dette som liste 2 : Og alt ser riktig ut for meg.

    7E
    A0FD
    2B21137BEBE6E7000 F00000000
    090C 07E1 0B 0F 03 16 00 05  FF 800000 -> 2017 - 15/11 - Ondsdag - 22:00:05
    021B0A0E4B616D73747275705F5630
    303031
    0906	0101000005FF	0A10	35373036353637323730313139333237
    0906	0101600101FF	0A12	36383631313131424E323432313031303430
    0906	0101010700FF	06	000018C6
    09060	101020700FF		06	00000000
    09060	101030700FF		06	00000000
    0906	0101040700FF	06	00000167
    0906	01011F0700FF	06	00000A86
    0906	0101200700FF	12	00EC
    0906	0001010000FF	090C 07E1 0B 0F 03 16 00 05 FF800000
    0906	0101010800FF	06	001FBD15
    0906	0101020800FF	06	00000000
    0906	0101030800FF	06	00000838
    0906	0101040800FF	06	0003A11F
    EB54
    7E

    Lengde 0FD = 253, dette stemmer vel for jeg teller 255 inkl start og stopp

     

    Sliter litt med at seriebufferen på ESP ikke fylles kjapt nok, og når den fylles, så går buffern full kjapt... håpløst!

     

    Andreas

     

     

     

  4. Hei.

    Ja har hatt måleren og HAN-modulen siden 2.februar 2017.

    ID er kamstrup ja, men målertype sier : 6861111BN242101040 - I manualen som vi fikk av netteier, så er den for xxxxxxxxxxx-xN-xx3xxxxx og jeg har BN242xxxxx

    Liste 1 fungerer fint, den driver og sender data til Homeseer direkte via JSON hvert 10 sek.

    Liste 1 ser slik ut:

    7E
    
    A0 B3 2B 21138E53E6E700.0F00000000
    
    09.0C.07E10B0F03001E0A.FF800000
    
    02110A0E4B616D73747275705F5630
    
    303031
    
    09.06.0101000005FF.	0A.10.35373036353637323730313139333237
    
    09.06.0101600101FF.	0A.12.36383631313131424E323432313031303430
    09060101010700FF	06	0000089C   ---->>>   2204Watt
    09060101020700FF  06	00000000
    09060101030700FF  06	00000000
    09060101040700FF  06	00000129
    090601011F0700FF  06	000003B6
    09060101200700FF 12	00EE
    
    5AAE
    
    7E

    Kan legge opp skjema av min krets når jeg er ferdig å rydde i hobbyhulen min og får pcen online igjen!

     

     

  5. 7E
    A 0FD 2B 21 137BEBE6E700 0F 00000000
    090C 07E1 0B0E02020005FF800000021B
    0A 0E 4B616D73747275705F5630303031
    09060101000005FF	0A10	35373036353637323730313139333237
    09060101600101FF	0A12	36383631313131424E323432313031303430
    09060101010700FF	06	00000C9E
    09060101020700FF	06	00000000
    09060101030700FF	06	00000000
    09060101040700FF	06	00000118
    090601011F0700FF	06	0000055C
    09060101200700FF	12	00ED
    
    00000C0E00000608000B0100000603060801080080
    
    
    Antall bytes : 199

    Dette er min 1-times-liste.. Den stemmer jo ikke i det hele tatt med dokumentasjonen..

     

    Jeg har en Kamstrupmåler,  Det som er rart er at min måler en en 1-fas, men den er ikke  i listen til Kamstrup.

    Der finnes ikke målertype n jeg leser ut ;  6861111BN242101040

     

    Noen ideer. Vil lese ut 1.1.1.8.0.255, men den kommer ikke i liste 2...

     

    Andreas

×
×
  • 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.