Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Werte aus JS auslesen und in Datenpunkte einfügen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Werte aus JS auslesen und in Datenpunkte einfügen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
127 Beiträge 8 Kommentatoren 11.7k Aufrufe 4 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.
  • F fimoknete

    @codierknecht Das ist eine Rack mounted BAtterie aus China. Die kam so wie sie ist.

    a39690d2-c43a-433a-b777-114344a6266c-image.png

    Anleitung sagt zum BMS: Ich rate mal, dass es ein Daren BMS ist. Steht aber nirgends.

    a05220e0-2115-41be-9857-7ad954fb8be6-image.png

    Es gibt noch ein ModBus protokoll mit den ganze Registern. Ich weis aber nicht, wie ich das auslesen soll. Ich kapiere nicht mal den parity check in dem Manual.
    BMS_Protocol_ModBus_V1_0_2_beta1 (1).pdf

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

    @fimoknete sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

    Ich kapiere nicht mal den parity check

    relativ simple,
    Example:
    00 04 10 00 00 17 B5 15

    CRC Calc

    CRC16 Modbus über 00 04 10 00 00 17 ist 15 B5
    LSB / MSB getauscht ist B5 15

    HomoranH 1 Antwort Letzte Antwort
    0
    • Ralla66R Ralla66

      @fimoknete sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

      Ich kapiere nicht mal den parity check

      relativ simple,
      Example:
      00 04 10 00 00 17 B5 15

      CRC Calc

      CRC16 Modbus über 00 04 10 00 00 17 ist 15 B5
      LSB / MSB getauscht ist B5 15

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #55

      @ralla66 Das braucht @fimoknete doch alles gar nicht (zu interessieren).
      Das macht alles der Modbusadapter unter der Haube.

      Verdrahtung muss stimmen, Grundeinstellungen und Register

      feddisch!

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      Ralla66R 1 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @ralla66 Das braucht @fimoknete doch alles gar nicht (zu interessieren).
        Das macht alles der Modbusadapter unter der Haube.

        Verdrahtung muss stimmen, Grundeinstellungen und Register

        feddisch!

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

        @homoran sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

        Das macht alles der Modbusadapter

        wenn der dann mal die Daten bekommt,
        noch weit, weit weg davon.
        Wenn er das mit hterm prüft brauch er die CRC.
        Zumal die Register ja noch unbekannt sind, vermutlich an der V1.02 angelehnt.

        Dann macht mal 🙂

        HomoranH 1 Antwort Letzte Antwort
        0
        • Ralla66R Ralla66

          @homoran sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

          Das macht alles der Modbusadapter

          wenn der dann mal die Daten bekommt,
          noch weit, weit weg davon.
          Wenn er das mit hterm prüft brauch er die CRC.
          Zumal die Register ja noch unbekannt sind, vermutlich an der V1.02 angelehnt.

          Dann macht mal 🙂

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #57

          @ralla66 sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

          die Register ja noch unbekannt sind,

          nee, die sind in der pdf drin, allerdings in Hex.

          @ralla66 sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

          noch weit, weit weg davon.

          deswegen wollte ich Schritt für Schritt vorgehen, um nicht zu viel Punkte offen zu haben, bevor es dann kreuz und quer geht.

          Erst die Hardware...

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          Ralla66R 1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @ralla66 sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

            die Register ja noch unbekannt sind,

            nee, die sind in der pdf drin, allerdings in Hex.

            @ralla66 sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

            noch weit, weit weg davon.

            deswegen wollte ich Schritt für Schritt vorgehen, um nicht zu viel Punkte offen zu haben, bevor es dann kreuz und quer geht.

            Erst die Hardware...

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

            @homoran sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

            die sind in der pdf drin

            für das vermutliche BMS

            und so ne Prüfung des Windows USB Drivers in den Einstellungen wäre ja auch nicht schlecht.
            Da hat Windows so sein Eigenleben.

            F HomoranH 2 Antworten Letzte Antwort
            0
            • Ralla66R Ralla66

              @homoran sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

              die sind in der pdf drin

              für das vermutliche BMS

              und so ne Prüfung des Windows USB Drivers in den Einstellungen wäre ja auch nicht schlecht.
              Da hat Windows so sein Eigenleben.

              F Offline
              F Offline
              fimoknete
              schrieb am zuletzt editiert von fimoknete
              #59

              Laut Hersteller ist ein Daren BMS:

              So stehts im Manual.

              7a5c2d4c-dc7d-49ef-85bf-9019ebb297ee-image.png @ralla66

              Die Register sind dort auch hinterlegt.

              67adfa93-0816-4e7e-a714-8e85130514fa-image.png

              f301ae1c-8c2f-4ff8-9b91-0d9b8581cde7-image.png

              9dccbd6f-03fa-4047-baf2-fb3271393e3e-image.png

              HomoranH Ralla66R 2 Antworten Letzte Antwort
              0
              • Ralla66R Ralla66

                @homoran sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

                die sind in der pdf drin

                für das vermutliche BMS

                und so ne Prüfung des Windows USB Drivers in den Einstellungen wäre ja auch nicht schlecht.
                Da hat Windows so sein Eigenleben.

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #60

                @ralla66 sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

                für das vermutliche BMS

                nee, laut batterie manual....hoffe ich, weil ich alles darauf aufbaue was ich schreibe

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                1 Antwort Letzte Antwort
                0
                • F fimoknete

                  Laut Hersteller ist ein Daren BMS:

                  So stehts im Manual.

                  7a5c2d4c-dc7d-49ef-85bf-9019ebb297ee-image.png @ralla66

                  Die Register sind dort auch hinterlegt.

                  67adfa93-0816-4e7e-a714-8e85130514fa-image.png

                  f301ae1c-8c2f-4ff8-9b91-0d9b8581cde7-image.png

                  9dccbd6f-03fa-4047-baf2-fb3271393e3e-image.png

                  HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #61

                  @fimoknete dann sieh zu, dass du den Modbus hardwaremässig ans laufen bekommst, dann bekommen wir das schon hin

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  1 Antwort Letzte Antwort
                  0
                  • F fimoknete

                    Laut Hersteller ist ein Daren BMS:

                    So stehts im Manual.

                    7a5c2d4c-dc7d-49ef-85bf-9019ebb297ee-image.png @ralla66

                    Die Register sind dort auch hinterlegt.

                    67adfa93-0816-4e7e-a714-8e85130514fa-image.png

                    f301ae1c-8c2f-4ff8-9b91-0d9b8581cde7-image.png

                    9dccbd6f-03fa-4047-baf2-fb3271393e3e-image.png

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

                    @fimoknete

                    versuche es mal so,
                    Batt -> RS485 / Usb Adapter -> Windows Rechner mit ModMaster
                    lade die ModMaster-Win32-exe-0.5.2-3.zip von hier runter.
                    Entpacken und Anwendung ( .exe ) starten.
                    Einstellung RTU ( Options / Modbus RTU ) wie im Bild, Com-Port, Baud 9600 etc.
                    Batt Dipschalter ON,OFF,OFF,OFF
                    Verbindung Kabel Batt A mit Usb Adapter A, Batt B mit Usb Adapter B
                    Dann solltest du erst einmal eine Verbindung per Modmaster bekommen.
                    Wenn du keine Verbindung bekommst zeige mal im Gerätemanager / USB die
                    Driver Version.

                    Modbus RTU 05.jpg

                    Die Anschlüsse A und B der Batterie entnehme aus deiner Anleitung,
                    oder die des kleinen Bruders, Nr 10,
                    Pin 1 B
                    Pin 2 A

                    F 1 Antwort Letzte Antwort
                    0
                    • Ralla66R Ralla66

                      @fimoknete

                      versuche es mal so,
                      Batt -> RS485 / Usb Adapter -> Windows Rechner mit ModMaster
                      lade die ModMaster-Win32-exe-0.5.2-3.zip von hier runter.
                      Entpacken und Anwendung ( .exe ) starten.
                      Einstellung RTU ( Options / Modbus RTU ) wie im Bild, Com-Port, Baud 9600 etc.
                      Batt Dipschalter ON,OFF,OFF,OFF
                      Verbindung Kabel Batt A mit Usb Adapter A, Batt B mit Usb Adapter B
                      Dann solltest du erst einmal eine Verbindung per Modmaster bekommen.
                      Wenn du keine Verbindung bekommst zeige mal im Gerätemanager / USB die
                      Driver Version.

                      Modbus RTU 05.jpg

                      Die Anschlüsse A und B der Batterie entnehme aus deiner Anleitung,
                      oder die des kleinen Bruders, Nr 10,
                      Pin 1 B
                      Pin 2 A

                      F Offline
                      F Offline
                      fimoknete
                      schrieb am zuletzt editiert von fimoknete
                      #63

                      @ralla66 Die Bat hängt schon mit RS485 an Com12 des Rechners und überträgt die Daten. Das ist ja gerade die Ausgangkonfig für das Monitoring tool.

                      be295955-c44c-4631-9774-a8487d493d3d-image.png

                      Bat RS485 -> USB -> Ser Com10 -> Monitoring HTML
                      Die Frage war ja lediglich, wie bekommt ich die Daten aus dem Browser in IOBROKER.

                      Connect in Modmaster funktioniert auch

                      37a4c484-57d3-4eee-aad2-3fc7cddc0cd3-image.png

                      10d5c802-dbfd-492e-90bd-c98215416d2c-image.png

                      8dbfd553-9a31-454e-bd1d-604ad38bdd2c-image.png

                      CodierknechtC Ralla66R 2 Antworten Letzte Antwort
                      0
                      • F fimoknete

                        @ralla66 Die Bat hängt schon mit RS485 an Com12 des Rechners und überträgt die Daten. Das ist ja gerade die Ausgangkonfig für das Monitoring tool.

                        be295955-c44c-4631-9774-a8487d493d3d-image.png

                        Bat RS485 -> USB -> Ser Com10 -> Monitoring HTML
                        Die Frage war ja lediglich, wie bekommt ich die Daten aus dem Browser in IOBROKER.

                        Connect in Modmaster funktioniert auch

                        37a4c484-57d3-4eee-aad2-3fc7cddc0cd3-image.png

                        10d5c802-dbfd-492e-90bd-c98215416d2c-image.png

                        8dbfd553-9a31-454e-bd1d-604ad38bdd2c-image.png

                        CodierknechtC Online
                        CodierknechtC Online
                        Codierknecht
                        Developer Most Active
                        schrieb am zuletzt editiert von
                        #64

                        @fimoknete sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

                        Die Frage war ja lediglich, wie bekommt ich die Daten aus dem Browser in IOBROKER.

                        Nicht "aus dem Browser".
                        Mit dem Modbus-Adapter liest ioBroker die Daten direkt.
                        Der muss halt nur entsprechend konfiguriert werden.

                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                        Proxmox 9.0.15 LXC|8 GB|Core i7-6700
                        HmIP|ZigBee|Tasmota|Unifi
                        Zabbix Cerrtified Specialist
                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                        1 Antwort Letzte Antwort
                        0
                        • F fimoknete

                          @ralla66 Die Bat hängt schon mit RS485 an Com12 des Rechners und überträgt die Daten. Das ist ja gerade die Ausgangkonfig für das Monitoring tool.

                          be295955-c44c-4631-9774-a8487d493d3d-image.png

                          Bat RS485 -> USB -> Ser Com10 -> Monitoring HTML
                          Die Frage war ja lediglich, wie bekommt ich die Daten aus dem Browser in IOBROKER.

                          Connect in Modmaster funktioniert auch

                          37a4c484-57d3-4eee-aad2-3fc7cddc0cd3-image.png

                          10d5c802-dbfd-492e-90bd-c98215416d2c-image.png

                          8dbfd553-9a31-454e-bd1d-604ad38bdd2c-image.png

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

                          @fimoknete

                          dann wäre die USB Schnittstelle ja ok.
                          Dann kann nun ein anderes Forumsmitglied beim Einrichten des Modbusadapters behilflich sein,
                          da ich diesen nicht in Betrieb habe.
                          Mit hoher Wahrscheinlichkeit kannst du nur eines an der Schnittstelle betreiben.
                          Entweder das Monitoring tool oder den Modbusadapter.

                          Testen mit Modmaster, Functioncode 0X03 Hex, Startadresse 18, Number of Coils 2
                          Dataformat hex sollte deine SOC angezeigt werden.

                          F 1 Antwort Letzte Antwort
                          0
                          • Ralla66R Ralla66

                            @fimoknete

                            dann wäre die USB Schnittstelle ja ok.
                            Dann kann nun ein anderes Forumsmitglied beim Einrichten des Modbusadapters behilflich sein,
                            da ich diesen nicht in Betrieb habe.
                            Mit hoher Wahrscheinlichkeit kannst du nur eines an der Schnittstelle betreiben.
                            Entweder das Monitoring tool oder den Modbusadapter.

                            Testen mit Modmaster, Functioncode 0X03 Hex, Startadresse 18, Number of Coils 2
                            Dataformat hex sollte deine SOC angezeigt werden.

                            F Offline
                            F Offline
                            fimoknete
                            schrieb am zuletzt editiert von fimoknete
                            #66

                            @ralla66 ja, ich kann nur Modmaster oder das Monitoring tool nutzen. AUf jeden Fall kommt nix mit ModBus aus der Bat raus. Das war ja der Grund, warum ich das über das Monitoring Tool machen wollte.

                            WO trage ich denn coils ein? Startadresse hex oder dec?
                            Lauf Manual hat mein SOC die Adresse 4105 dec oder 0x1009 hex.

                            Ralla66R 1 Antwort Letzte Antwort
                            0
                            • F fimoknete

                              @ralla66 ja, ich kann nur Modmaster oder das Monitoring tool nutzen. AUf jeden Fall kommt nix mit ModBus aus der Bat raus. Das war ja der Grund, warum ich das über das Monitoring Tool machen wollte.

                              WO trage ich denn coils ein? Startadresse hex oder dec?
                              Lauf Manual hat mein SOC die Adresse 4105 dec oder 0x1009 hex.

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

                              @fimoknete

                              Testen mit Modmaster, Functioncode 0X03 Hex, Startadresse 0 oder 1, Number of Coils 2
                              Dataformat hex sollte ein Wert angezeigt werden.

                              Modmaster, Functioncode 0X03 Hex, Startadresse 18, Number of Coils 2
                              Dataformat hex sollte deine SOC angezeigt werden. Die Startadresse könnte um 1 verschoben sein, teste 17,18,19

                              F 1 Antwort Letzte Antwort
                              0
                              • Ralla66R Ralla66

                                @fimoknete

                                Testen mit Modmaster, Functioncode 0X03 Hex, Startadresse 0 oder 1, Number of Coils 2
                                Dataformat hex sollte ein Wert angezeigt werden.

                                Modmaster, Functioncode 0X03 Hex, Startadresse 18, Number of Coils 2
                                Dataformat hex sollte deine SOC angezeigt werden. Die Startadresse könnte um 1 verschoben sein, teste 17,18,19

                                F Offline
                                F Offline
                                fimoknete
                                schrieb am zuletzt editiert von
                                #68

                                @ralla66 59f170b2-2495-416e-80e4-122eb8b339b7-image.png

                                Ralla66R 1 Antwort Letzte Antwort
                                0
                                • F fimoknete

                                  @ralla66 59f170b2-2495-416e-80e4-122eb8b339b7-image.png

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

                                  @fimoknete

                                  Startadresse 0 dahinter Hex nicht dec.
                                  oder Startadresse 18 für SOC dahinter Hex nicht dec.

                                  F 1 Antwort Letzte Antwort
                                  0
                                  • Ralla66R Ralla66

                                    @fimoknete

                                    Startadresse 0 dahinter Hex nicht dec.
                                    oder Startadresse 18 für SOC dahinter Hex nicht dec.

                                    F Offline
                                    F Offline
                                    fimoknete
                                    schrieb am zuletzt editiert von
                                    #70

                                    @ralla66 Startadresse geht nicht kleiner wie 1.

                                    33a309ee-93db-44fc-ad5a-ad9e359c797d-image.png

                                    Ralla66R 1 Antwort Letzte Antwort
                                    0
                                    • F fimoknete

                                      @ralla66 Startadresse geht nicht kleiner wie 1.

                                      33a309ee-93db-44fc-ad5a-ad9e359c797d-image.png

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

                                      @fimoknete

                                      viel weiter kann ich jetzt nicht helfen.
                                      Entweder SOC liegt ab den 30000 Registern also 0x03 oder in den
                                      40000 er Register dann 0X04,
                                      Bist ja schon ganz nah dran, müssen nur noch die Startadressen gefunden werden.
                                      War das nicht in der kleiner Bruder Doku Startadresse 18 für SOC ?

                                      F 1 Antwort Letzte Antwort
                                      0
                                      • Ralla66R Ralla66

                                        @fimoknete

                                        viel weiter kann ich jetzt nicht helfen.
                                        Entweder SOC liegt ab den 30000 Registern also 0x03 oder in den
                                        40000 er Register dann 0X04,
                                        Bist ja schon ganz nah dran, müssen nur noch die Startadressen gefunden werden.
                                        War das nicht in der kleiner Bruder Doku Startadresse 18 für SOC ?

                                        F Offline
                                        F Offline
                                        fimoknete
                                        schrieb am zuletzt editiert von
                                        #72

                                        @ralla66
                                        decf2b22-3673-4f45-8534-119d778ad017-image.png

                                        ich rate mal das hex 1008 = dec 4104 ist. klappt aber auch nicht.

                                        Ralla66R 1 Antwort Letzte Antwort
                                        0
                                        • F fimoknete

                                          @ralla66
                                          decf2b22-3673-4f45-8534-119d778ad017-image.png

                                          ich rate mal das hex 1008 = dec 4104 ist. klappt aber auch nicht.

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

                                          @fimoknete

                                          muß ich Raten 🙂 , bin da ohne Fahrplan
                                          entweder 31008 dann Register 0X03 Start 1008
                                          oder 41008 dann Register 0x04 Start 1008
                                          alle Start + - 1 testen

                                          ich rate mal das hex 1008 = dec 4104 ist richtig

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          325

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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