Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. AC laden mit einem Mean Well NPB 750-48

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    958

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

AC laden mit einem Mean Well NPB 750-48

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
8 Beiträge 1 Kommentatoren 828 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Ralla66R Offline
    Ralla66R Offline
    Ralla66
    Most Active
    schrieb am zuletzt editiert von Ralla66
    #1

    Projekt : Über AC, laden mit einem Mean Well NPB 750-48 über Can Bus Steuerung

    Der Versuch meine Pylontech USxxxx steuerbar per Mean Well zu laden,
    das ganze per Tasmota Can SML

    Bauteile:

    Mean Well NPB 750-48
    ESP32 NodeMcu / Developer Board
    Waveshare SN65HVD230 CAN Board
    JST Buchsengehäuse-Kabel PHD Polzahl Gesamt 14 Rastermaß: 2mm PHDR-14VS
    JST Konfektionierte Litze PHD Polzahl Gesamt 1 810793

    weiteres folgt --------------------------------------->

    Links:

    Datasheet
    Forum

    Mean Well Büld.jpg

    Ralla66R 1 Antwort Letzte Antwort
    1
    • Ralla66R Ralla66

      Projekt : Über AC, laden mit einem Mean Well NPB 750-48 über Can Bus Steuerung

      Der Versuch meine Pylontech USxxxx steuerbar per Mean Well zu laden,
      das ganze per Tasmota Can SML

      Bauteile:

      Mean Well NPB 750-48
      ESP32 NodeMcu / Developer Board
      Waveshare SN65HVD230 CAN Board
      JST Buchsengehäuse-Kabel PHD Polzahl Gesamt 14 Rastermaß: 2mm PHDR-14VS
      JST Konfektionierte Litze PHD Polzahl Gesamt 1 810793

      weiteres folgt --------------------------------------->

      Links:

      Datasheet
      Forum

      Mean Well Büld.jpg

      Ralla66R Offline
      Ralla66R Offline
      Ralla66
      Most Active
      schrieb am zuletzt editiert von Ralla66
      #2

      @ralla66

      Platzhalter 1

      Bauteile:
      Meanwell SN65
      Waveshare SN65.jpg

      Buchsen von Völkner
      Buchse

      JST Buchsengehäuse-Kabel PHD Polzahl Gesamt 14 Rastermaß: 2mm PHDR-14VS

      Buchse.jpg

      Litzen von Völkner
      Litze

      Kabel.jpg

      Ralla66R 1 Antwort Letzte Antwort
      1
      • Ralla66R Ralla66

        @ralla66

        Platzhalter 1

        Bauteile:
        Meanwell SN65
        Waveshare SN65.jpg

        Buchsen von Völkner
        Buchse

        JST Buchsengehäuse-Kabel PHD Polzahl Gesamt 14 Rastermaß: 2mm PHDR-14VS

        Buchse.jpg

        Litzen von Völkner
        Litze

        Kabel.jpg

        Ralla66R Offline
        Ralla66R Offline
        Ralla66
        Most Active
        schrieb am zuletzt editiert von Ralla66
        #3

        @ralla66

        Platzhalter 2

        Pinbelegung

        Pinbelegung.jpg

        Der Esp32 wird mit einer -bin geflasht mit folgenden define:

        #define USE_MCP2515
        #define USE_SML_CANBUS
        #define USE_SML_SCRIPT_CMD
        #define USE_SML_M
        #define USE_WEBSEND_RESPONSE
        #define USE_SCRIPT_STATUS
        #define USE_SCRIPT_FULL_JSON_PARSER
        #define USE_SCRIPT_JSON_EXPORT
        #define SUPPORT_MQTT_EVENT
        #define USE_SCRIPT_WEB_DISPLAY

        Tasmota bin 2.jpg

        Der Waveshare wird verbunden :
        ESP32 Rx nach RX Can
        ESP32 Tx nach TX Can
        Can L an NPB Can L
        Can H an NPB Can H
        Keine terminierung am Waveshare SN65

        Tasmota :

        Telemetrieperiode ist 10
        Mqtt verbunden mit Mqtt Adapter
        Tasmota keine Enstellung der GPIO nötig da im Script ausgeführt

        Bit 7 Command B4 00

        bit 7.jpg

        Ralla66R 1 Antwort Letzte Antwort
        1
        • Ralla66R Ralla66

          @ralla66

          Platzhalter 2

          Pinbelegung

          Pinbelegung.jpg

          Der Esp32 wird mit einer -bin geflasht mit folgenden define:

          #define USE_MCP2515
          #define USE_SML_CANBUS
          #define USE_SML_SCRIPT_CMD
          #define USE_SML_M
          #define USE_WEBSEND_RESPONSE
          #define USE_SCRIPT_STATUS
          #define USE_SCRIPT_FULL_JSON_PARSER
          #define USE_SCRIPT_JSON_EXPORT
          #define SUPPORT_MQTT_EVENT
          #define USE_SCRIPT_WEB_DISPLAY

          Tasmota bin 2.jpg

          Der Waveshare wird verbunden :
          ESP32 Rx nach RX Can
          ESP32 Tx nach TX Can
          Can L an NPB Can L
          Can H an NPB Can H
          Keine terminierung am Waveshare SN65

          Tasmota :

          Telemetrieperiode ist 10
          Mqtt verbunden mit Mqtt Adapter
          Tasmota keine Enstellung der GPIO nötig da im Script ausgeführt

          Bit 7 Command B4 00

          bit 7.jpg

          Ralla66R Offline
          Ralla66R Offline
          Ralla66
          Most Active
          schrieb am zuletzt editiert von Ralla66
          #4

          @ralla66

          Status,
          Daten abholen geht,
          senden auf dem Can Bus geht

          Tasmota.jpg

          Status 0707.jpg

          zu beachten ist das der Browser bei Wert Änderung nicht die Web Gui aktualisiert !

          Ralla66R 1 Antwort Letzte Antwort
          1
          • Ralla66R Ralla66

            @ralla66

            Status,
            Daten abholen geht,
            senden auf dem Can Bus geht

            Tasmota.jpg

            Status 0707.jpg

            zu beachten ist das der Browser bei Wert Änderung nicht die Web Gui aktualisiert !

            Ralla66R Offline
            Ralla66R Offline
            Ralla66
            Most Active
            schrieb am zuletzt editiert von Ralla66
            #5

            @ralla66

            Platzhalter 4

            das Script von heute 07.07.2024

            >D 40
            
            sw=0
            cstr=""
            cstrV=""
            cstroo=""
            cstrT=""
            Wert=0
            Wert2=0
            Byte1=0
            Byte1H=""
            Byte2=0
            Byte2H=""
            Volt=51.50
            
            >B
            =>sensor53 r
            
            >S
            
            ; Anfrage Typ
            
            if upsecs%10==0
            then
            cstrT="800C0103028200"
            sml(1 3 cstrT)
            endif
            
            ; Switch on / off
            
            if chg[sw]>0
            ;if upsecs%30==0
            and 
            sw>0
            then
            ;on
            cstroo="800C010403000001"
            sml(1 3 cstroo)
            print ----- 1 -----
            endif
            
            if chg[sw]<1
            ;if upsecs%30==0
            and
            sw<1
            ;off
            then
            cstroo="800C010403000000"
            sml(1 3 cstroo)
            print ----- 0 -----
            endif
            
            ; Volt senden 51,50 Volt
            
            if upsecs%15==0
            then
            cstrV="800C01040420001E14"
            sml(1 3 cstrV)
            endif
            
            ; Berechnung Sende Byte ( 2 Byte )
            ; gesendet wird Ampere
            
            
            if chg[Wert]>0
            then
            Wert2=Wert*2
            Byte1=Wert2/256
            endif
            
            ;Byte 1 ist kleiner 0
            
            if Byte1<1
            then 
            Byte1=0
            Byte1H=hn(Byte1)
            Byte2=Wert2
            Byte2H=hn(Byte2)
            endif
            
            ;Byte 1 ist 1
            
            if Byte1>1
            and
            Byte1<2
            then 
            Byte1=1
            Byte1H=hn(Byte1)
            Byte2=Wert2-256
            Byte2H=hn(Byte2)
            endif
            
            ;Byte 1 ist 2
            
            if Byte1>2
            and
            Byte1<3
            then 
            Byte1=2
            Byte1H=hn(Byte1)
            Byte2=Wert2-512
            Byte2H=hn(Byte2)
            endif
            
            ;Byte 1 ist 3
            
            if Byte1>3
            and
            Byte1<4
            then 
            Byte1=3
            Byte1H=hn(Byte1)
            Byte2=Wert2-768
            Byte2H=hn(Byte2)
            endif
            
            ;Byte 1 ist 4
            
            if Byte1>4
            and
            Byte1<5
            then 
            Byte1=4
            Byte1H=hn(Byte1)
            Byte2=Wert2-1024
            Byte2H=hn(Byte2)
            endif
            
            
            if upsecs%30==0
            then
            cstr="800C0104043000"+Byte2H+Byte1H
            sml(1 3 cstr)
            print cstr ist %cstr%
            print Wert ist %Wert%
            endif
            
            >M 1
            ; Mean Well 750-48
            ; params -> 04 = baudrate 250kb + number of receive buffers * 100
            +1,3,C,0,3204,CAN,1,5
            
            ;Eingangsfilter
            1,000C0003088200@,Model Typ,,Typ,0
            
            >W
            
            bu(sw "LR ist ein send Off" "LR ist Aus send On")
            nm(0 700 20 Wert "Zähler Wert (W): " 80 1) 
            cstT Typ{m} %cstT%
            cstr Ampere{m} %cstr%
            cst Volt{m} %cstrV%
            cstroo Ein_Aus{m} %cstroo% 
            Wert ist {m}  %Wert% W
            Wert2 ist {m}  %Wert2% W
            Byte1 ist {m}  %Byte1% 
            Byte1 Hex ist {m}  %Byte1H% 
            Byte2 ist {m}  %Byte2% 
            Byte2 Hex ist {m}  %Byte2H% 
            
            #
            
            Ralla66R 1 Antwort Letzte Antwort
            0
            • Ralla66R Ralla66

              @ralla66

              Platzhalter 4

              das Script von heute 07.07.2024

              >D 40
              
              sw=0
              cstr=""
              cstrV=""
              cstroo=""
              cstrT=""
              Wert=0
              Wert2=0
              Byte1=0
              Byte1H=""
              Byte2=0
              Byte2H=""
              Volt=51.50
              
              >B
              =>sensor53 r
              
              >S
              
              ; Anfrage Typ
              
              if upsecs%10==0
              then
              cstrT="800C0103028200"
              sml(1 3 cstrT)
              endif
              
              ; Switch on / off
              
              if chg[sw]>0
              ;if upsecs%30==0
              and 
              sw>0
              then
              ;on
              cstroo="800C010403000001"
              sml(1 3 cstroo)
              print ----- 1 -----
              endif
              
              if chg[sw]<1
              ;if upsecs%30==0
              and
              sw<1
              ;off
              then
              cstroo="800C010403000000"
              sml(1 3 cstroo)
              print ----- 0 -----
              endif
              
              ; Volt senden 51,50 Volt
              
              if upsecs%15==0
              then
              cstrV="800C01040420001E14"
              sml(1 3 cstrV)
              endif
              
              ; Berechnung Sende Byte ( 2 Byte )
              ; gesendet wird Ampere
              
              
              if chg[Wert]>0
              then
              Wert2=Wert*2
              Byte1=Wert2/256
              endif
              
              ;Byte 1 ist kleiner 0
              
              if Byte1<1
              then 
              Byte1=0
              Byte1H=hn(Byte1)
              Byte2=Wert2
              Byte2H=hn(Byte2)
              endif
              
              ;Byte 1 ist 1
              
              if Byte1>1
              and
              Byte1<2
              then 
              Byte1=1
              Byte1H=hn(Byte1)
              Byte2=Wert2-256
              Byte2H=hn(Byte2)
              endif
              
              ;Byte 1 ist 2
              
              if Byte1>2
              and
              Byte1<3
              then 
              Byte1=2
              Byte1H=hn(Byte1)
              Byte2=Wert2-512
              Byte2H=hn(Byte2)
              endif
              
              ;Byte 1 ist 3
              
              if Byte1>3
              and
              Byte1<4
              then 
              Byte1=3
              Byte1H=hn(Byte1)
              Byte2=Wert2-768
              Byte2H=hn(Byte2)
              endif
              
              ;Byte 1 ist 4
              
              if Byte1>4
              and
              Byte1<5
              then 
              Byte1=4
              Byte1H=hn(Byte1)
              Byte2=Wert2-1024
              Byte2H=hn(Byte2)
              endif
              
              
              if upsecs%30==0
              then
              cstr="800C0104043000"+Byte2H+Byte1H
              sml(1 3 cstr)
              print cstr ist %cstr%
              print Wert ist %Wert%
              endif
              
              >M 1
              ; Mean Well 750-48
              ; params -> 04 = baudrate 250kb + number of receive buffers * 100
              +1,3,C,0,3204,CAN,1,5
              
              ;Eingangsfilter
              1,000C0003088200@,Model Typ,,Typ,0
              
              >W
              
              bu(sw "LR ist ein send Off" "LR ist Aus send On")
              nm(0 700 20 Wert "Zähler Wert (W): " 80 1) 
              cstT Typ{m} %cstT%
              cstr Ampere{m} %cstr%
              cst Volt{m} %cstrV%
              cstroo Ein_Aus{m} %cstroo% 
              Wert ist {m}  %Wert% W
              Wert2 ist {m}  %Wert2% W
              Byte1 ist {m}  %Byte1% 
              Byte1 Hex ist {m}  %Byte1H% 
              Byte2 ist {m}  %Byte2% 
              Byte2 Hex ist {m}  %Byte2H% 
              
              #
              
              Ralla66R Offline
              Ralla66R Offline
              Ralla66
              Most Active
              schrieb am zuletzt editiert von Ralla66
              #6

              @ralla66

              nun Vorbereitung zum Livetest -------------------------------------------->

              Test Script vom 30.06.2024 Daten abholen :

              >D
              
              ovolt=0
              maxc=0
              cstr=""
              Timer=0
              Wert=0
              
              >B
              =>sensor53 r
              ; ->sensor53 d1 ; Dump mode for console debug
              
              
              >BS
              
              +>subscribe EA, cmnd/MeanWell/CSTR
              +>subscribe EA, cmnd/MeanWell/VOUT
              +>subscribe EA, cmnd/MeanWell/COUT
              
              >S
              
              Timer+=1
              
              if Timer>10
              then
              cstr="800C0103026100"
              sml(1 3 cstr)
              endif
              if Timer>11
              then
              cstr="800C0103026000"
              sml(1 3 cstr)
              endif
              if Timer>12
              then
              cstr="800C010302B100"
              sml(1 3 cstr)
              endif
              if Timer>13
              then
              cstr="800C010302B200"
              sml(1 3 cstr)
              endif
              if Timer>14
              then
              cstr="800C010302B300"
              sml(1 3 cstr)
              endif
              if Timer>15
              then
              cstr="800C010302B000"
              endif
              if Timer>17
              then
              =>websend [192.168.2.28] /cm?cmnd=status 10
              endif
              if Timer>18
              then
              +>publish MeanWell/CSTR %cstr% 
              endif
              if Timer>19
              then
              +>publish MeanWell/VOUT %Wert% 
              endif
              if Timer>20
              then
              +>publish MeanWell/COUT %Wert% 
              endif
              
              if Timer>21
              then
              print Bezugswert ist : %Wert%
              print Eingabe Volt ist : %ovolt%
              print Eingabe Current ist : %maxc%
              endif
              
              if Timer>22
              then
              Timer=0
              endif
              
              if chg[ovolt]>0 {
                  ; change voltage 41.5 - 58.5
                   cstr="97654321081111"+hx(ovolt*1024)
                   ;cstr="800C0103042000"+hn(test)
                   sml(1 3 cstr)
              }
              
              if chg[maxc]>0 {
                  ; change max current 0-60A
                  cstr="908180FE0801030000"+hx(maxc*20)
                  ;cstr="800C010302B200"
                  sml(1 3 cstr)
              }
              
              >M 1
              ; Mean Well 750-48
              ; params -> 04 = baudrate 250kb + number of receive buffers * 100
              +1,3,C,0,3204,CAN,1,5
              
              1,000C000304B000uuUU@100,B0 CC Constant Current,A,B0,0
              1,000C000304B100uuUU@100,B1 CV Constant Voltage,V,B1,0
              1,000C000304B200uuUU@100,B2 FV Floating Voltage,V,B2,0
              1,000C000304B300uuUU@100,B3 TC Taper Current,A,B3,0
              1,000C0003046100uuUU@10,61 Read Current Out,A,COut,0
              1,000C0003046000uuUU@10,60 Read Voltage Out,V,VOut,0
              
              ;1,000C0003088600@,Serial Number,,serial,0
              ;1,000C000308xxxx@,Alle ID,,Alle,0
              
              ;@ indicates termination of the decoding procedure.
              ;string result meter serial number, use # character for this parameter 
              
              >E
              
              ; Executed when a Tasmota MQTT RESULT
              Wert=WebQuery#StatusSNS#MT175#Bezug_Aktuell
              
              >W
              
              nm(49.8 51.5 0.1 ovolt "Output Voltage (V): " 80 1) 
              nm(0 20 0.1 maxc "Max Current (A): " 80 1) 
              ;cstr{m}%cstr% 
              Zähler Bezug Watt{m} %Wert% W
              
              #
              
              

              Tasmota 29062024.jpg

              Ralla66R 1 Antwort Letzte Antwort
              1
              • Ralla66R Ralla66

                @ralla66

                nun Vorbereitung zum Livetest -------------------------------------------->

                Test Script vom 30.06.2024 Daten abholen :

                >D
                
                ovolt=0
                maxc=0
                cstr=""
                Timer=0
                Wert=0
                
                >B
                =>sensor53 r
                ; ->sensor53 d1 ; Dump mode for console debug
                
                
                >BS
                
                +>subscribe EA, cmnd/MeanWell/CSTR
                +>subscribe EA, cmnd/MeanWell/VOUT
                +>subscribe EA, cmnd/MeanWell/COUT
                
                >S
                
                Timer+=1
                
                if Timer>10
                then
                cstr="800C0103026100"
                sml(1 3 cstr)
                endif
                if Timer>11
                then
                cstr="800C0103026000"
                sml(1 3 cstr)
                endif
                if Timer>12
                then
                cstr="800C010302B100"
                sml(1 3 cstr)
                endif
                if Timer>13
                then
                cstr="800C010302B200"
                sml(1 3 cstr)
                endif
                if Timer>14
                then
                cstr="800C010302B300"
                sml(1 3 cstr)
                endif
                if Timer>15
                then
                cstr="800C010302B000"
                endif
                if Timer>17
                then
                =>websend [192.168.2.28] /cm?cmnd=status 10
                endif
                if Timer>18
                then
                +>publish MeanWell/CSTR %cstr% 
                endif
                if Timer>19
                then
                +>publish MeanWell/VOUT %Wert% 
                endif
                if Timer>20
                then
                +>publish MeanWell/COUT %Wert% 
                endif
                
                if Timer>21
                then
                print Bezugswert ist : %Wert%
                print Eingabe Volt ist : %ovolt%
                print Eingabe Current ist : %maxc%
                endif
                
                if Timer>22
                then
                Timer=0
                endif
                
                if chg[ovolt]>0 {
                    ; change voltage 41.5 - 58.5
                     cstr="97654321081111"+hx(ovolt*1024)
                     ;cstr="800C0103042000"+hn(test)
                     sml(1 3 cstr)
                }
                
                if chg[maxc]>0 {
                    ; change max current 0-60A
                    cstr="908180FE0801030000"+hx(maxc*20)
                    ;cstr="800C010302B200"
                    sml(1 3 cstr)
                }
                
                >M 1
                ; Mean Well 750-48
                ; params -> 04 = baudrate 250kb + number of receive buffers * 100
                +1,3,C,0,3204,CAN,1,5
                
                1,000C000304B000uuUU@100,B0 CC Constant Current,A,B0,0
                1,000C000304B100uuUU@100,B1 CV Constant Voltage,V,B1,0
                1,000C000304B200uuUU@100,B2 FV Floating Voltage,V,B2,0
                1,000C000304B300uuUU@100,B3 TC Taper Current,A,B3,0
                1,000C0003046100uuUU@10,61 Read Current Out,A,COut,0
                1,000C0003046000uuUU@10,60 Read Voltage Out,V,VOut,0
                
                ;1,000C0003088600@,Serial Number,,serial,0
                ;1,000C000308xxxx@,Alle ID,,Alle,0
                
                ;@ indicates termination of the decoding procedure.
                ;string result meter serial number, use # character for this parameter 
                
                >E
                
                ; Executed when a Tasmota MQTT RESULT
                Wert=WebQuery#StatusSNS#MT175#Bezug_Aktuell
                
                >W
                
                nm(49.8 51.5 0.1 ovolt "Output Voltage (V): " 80 1) 
                nm(0 20 0.1 maxc "Max Current (A): " 80 1) 
                ;cstr{m}%cstr% 
                Zähler Bezug Watt{m} %Wert% W
                
                #
                
                

                Tasmota 29062024.jpg

                Ralla66R Offline
                Ralla66R Offline
                Ralla66
                Most Active
                schrieb am zuletzt editiert von Ralla66
                #7

                @ralla66

                Info Data

                Receive.jpg

                //Auflistung Canbus HEX für Ladestrom setzen
                
                
                //30006400 //1A   51,5 Watt
                //3000C800 //2A  103,0 Watt 0100 h ist 256
                //30002C01 //3A  154,5 Watt
                //30009001 //4A  206,0 Watt
                //3000F401 //5A  257,5 Watt
                //30005802 //6A  309,0 Watt 0200 h ist 512
                //3000bc02 //7A  360,5 Watt
                //30002003 //8A  412,0 Watt 0300 h ist 768
                //30008403 //9A  463,5 Watt
                //3000E803 //10A 515,0 Watt
                //30004C04 //11A 566,5 Watt 0400 h ist 1024
                //30006A04 //11,30 A 581,9 Watt
                
                
                Ralla66R 1 Antwort Letzte Antwort
                1
                • Ralla66R Ralla66

                  @ralla66

                  Info Data

                  Receive.jpg

                  //Auflistung Canbus HEX für Ladestrom setzen
                  
                  
                  //30006400 //1A   51,5 Watt
                  //3000C800 //2A  103,0 Watt 0100 h ist 256
                  //30002C01 //3A  154,5 Watt
                  //30009001 //4A  206,0 Watt
                  //3000F401 //5A  257,5 Watt
                  //30005802 //6A  309,0 Watt 0200 h ist 512
                  //3000bc02 //7A  360,5 Watt
                  //30002003 //8A  412,0 Watt 0300 h ist 768
                  //30008403 //9A  463,5 Watt
                  //3000E803 //10A 515,0 Watt
                  //30004C04 //11A 566,5 Watt 0400 h ist 1024
                  //30006A04 //11,30 A 581,9 Watt
                  
                  
                  Ralla66R Offline
                  Ralla66R Offline
                  Ralla66
                  Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @ralla66

                  Bastelpause

                  Pause.jpg

                  >D 40
                  
                  sw=0
                  cstr=""
                  cstrV=""
                  cstroo=""
                  cstrA=""
                  Wert=0
                  Wert2=0
                  Byte1=0
                  Byte1H=""
                  Byte2=0
                  Byte2H=""
                  Volt=51.50
                  Timer=0
                  
                  >B
                  =>sensor53 r
                  
                  >S
                  
                  ; Anfrage Typ
                  
                  Timer+=1
                  
                  if Timer>50
                  then
                  cstrA="800C0103028200"
                  sml(1 3 cstrA)
                  endif
                  
                  if Timer>51
                  cstrA="800C0103028600"
                  sml(1 3 cstrA)
                  endif
                  
                  if Timer>52
                  then
                  cstrA="800C010302B100"
                  sml(1 3 cstrA)
                  endif
                  
                  if Timer>53
                  then
                  cstrA="800C010302B200"
                  sml(1 3 cstrA)
                  endif
                  
                  if Timer>54
                  then
                  cstrA="800C010302B300"
                  sml(1 3 cstrA)
                  endif
                  
                  if Timer>55
                  then
                  cstrA="800C010302B000"
                  sml(1 3 cstrA)
                  endif
                  
                  if Timer>56
                  then
                  cstrA="800C0103026100"
                  sml(1 3 cstrA)
                  endif
                  
                  if Timer>57
                  then
                  cstrA="800C0103026000"
                  sml(1 3 cstrA)
                  endif
                  
                  if Timer>58
                  then
                  cstrA="800C0103026100"
                  sml(1 3 cstrA)
                  endif
                  
                  if Timer>59
                  then
                  cstrA=""
                  endif
                  
                  if Timer>60
                  then
                  Timer==0
                  endif
                  
                  if Timer>61
                  then
                  Timer=0
                  endif
                  
                  ; Switch on / off
                  
                  ;if chg[sw]>0
                  if upsecs%30==0
                  and 
                  sw>0
                  then
                  ;on
                  cstroo="800C010403000001"
                  sml(1 3 cstroo)
                  print ----- 1 -----
                  endif
                  
                  ;if chg[sw]<1
                  if upsecs%30==0
                  and
                  sw<1
                  ;off
                  then
                  cstroo="800C010403000000"
                  sml(1 3 cstroo)
                  print ----- 0 -----
                  endif
                  
                  ; Volt senden 51,50 Volt
                  
                  if upsecs%28==0
                  then
                  cstrV="800C01040420001E14"
                  sml(1 3 cstrV)
                  endif
                  
                  ; Berechnung Sende Byte ( 2 Byte )
                  ; gesendet wird Ampere
                  
                  
                  if chg[Wert]>0
                  then
                  Wert2=Wert*2
                  Byte1=Wert2/256
                  endif
                  
                  ;Byte 1 ist kleiner 0
                  
                  if Byte1<1
                  then 
                  Byte1=0
                  Byte1H=hn(Byte1)
                  Byte2=Wert2
                  Byte2H=hn(Byte2)
                  endif
                  
                  ;Byte 1 ist 1
                  
                  if Byte1>1
                  and
                  Byte1<2
                  then 
                  Byte1=1
                  Byte1H=hn(Byte1)
                  Byte2=Wert2-256
                  Byte2H=hn(Byte2)
                  endif
                  
                  ;Byte 1 ist 2
                  
                  if Byte1>2
                  and
                  Byte1<3
                  then 
                  Byte1=2
                  Byte1H=hn(Byte1)
                  Byte2=Wert2-512
                  Byte2H=hn(Byte2)
                  endif
                  
                  ;Byte 1 ist 3
                  
                  if Byte1>3
                  and
                  Byte1<4
                  then 
                  Byte1=3
                  Byte1H=hn(Byte1)
                  Byte2=Wert2-768
                  Byte2H=hn(Byte2)
                  endif
                  
                  ;Byte 1 ist 4
                  
                  if Byte1>4
                  and
                  Byte1<5
                  then 
                  Byte1=4
                  Byte1H=hn(Byte1)
                  Byte2=Wert2-1024
                  Byte2H=hn(Byte2)
                  endif
                  
                  
                  if upsecs%30==0
                  then
                  cstr="800C0104043000"+Byte2H+Byte1H
                  sml(1 3 cstr)
                  print cstr ist %cstr%
                  print Wert ist %Wert%
                  endif
                  
                  >M 1
                  ; Mean Well 750-48
                  ; params -> 04 = baudrate 250kb + number of receive buffers * 100
                  +1,3,C,0,3204,CAN,1,5
                  
                  ;Eingangsfilter
                  1,000C000304B000uuUU@100,B0 CC Constant Current,A,B0,0
                  1,000C000304B100uuUU@100,B1 CV Constant Voltage,V,B1,0
                  1,000C000304B200uuUU@100,B2 FV Floating Voltage,V,B2,0
                  1,000C000304B300uuUU@100,B3 TC Taper Current,A,B3,0
                  1,000C0003046100uuUU@10,61 Read Current Out,A,COut,0
                  1,000C0003046000uuUU@10,60 Read Voltage Out,V,VOut,0
                  ;1,000C0003088200xxxxxxUUuu@,Model Typ,,bez,0
                  ;1,000C0003088600UUuuUUuu@,Serial Number,,serial,0
                  ;1,000C000308xxxx@,Alle ID,,Alle,0
                  
                  >W
                  
                  bu(sw "LR ist ein send Off" "LR ist Aus send On")
                  nm(0 700 20 Wert "Zähler Wert (W): " 80 1) 
                  cstrA Anfrage{m} %cstrA%
                  cstr Ampere{m} %cstr%
                  cst Volt{m} %cstrV%
                  cstroo Ein_Aus{m} %cstroo% 
                  Wert ist {m}  %Wert% W
                  Wert2 ist {m}  %Wert2% W
                  Byte1 ist {m}  %Byte1% 
                  Byte1 Hex ist {m}  %Byte1H% 
                  Byte2 ist {m}  %Byte2% 
                  Byte2 Hex ist {m}  %Byte2H% 
                  Timer ist {m}  %Timer% 
                  
                  #
                  
                  

                  bin Weg für heut --------------------------------------------------------------------------->

                  1 Antwort Letzte Antwort
                  1
                  Antworten
                  • In einem neuen Thema antworten
                  Anmelden zum Antworten
                  • Älteste zuerst
                  • Neuste zuerst
                  • Meiste Stimmen


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  732

                  Online

                  32.6k

                  Benutzer

                  82.2k

                  Themen

                  1.3m

                  Beiträge
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                  ioBroker Community 2014-2025
                  logo
                  • Anmelden

                  • Du hast noch kein Konto? Registrieren

                  • Anmelden oder registrieren, um zu suchen
                  • Erster Beitrag
                    Letzter Beitrag
                  0
                  • Home
                  • Aktuell
                  • Tags
                  • Ungelesen 0
                  • Kategorien
                  • Unreplied
                  • Beliebt
                  • GitHub
                  • Docu
                  • Hilfe