E-Auto Hyundai Bluelink / Bluelinky (Hilfe zu Node.js)

Begonnen von mnl1234, 26 November 2020, 08:50:37

Vorheriges Thema - Nächstes Thema

xerion

Zitat von: michisa86888 am 02 Februar 2021, 08:45:44
Okay schaue ich mir mal an...
Wo finde ich den dass EVCC log?

Wenn du EVCC über die Shell gestartet hast bekommst du das Log direkt auf der Console angezeigt.
Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

michisa86888

Zitat von: xerion am 02 Februar 2021, 09:19:25
Wenn du EVCC über die Shell gestartet hast bekommst du das Log direkt auf der Console angezeigt.
siehe Beitrag davor, hab den Editiert... Steht aber nichts von einem Fehler bezuglich des Konas drin.
Log config aktuell so:

log: error
levels:
  core: debug
  lp-1: debug
  lp-2: debug

xerion

Zitat von: michisa86888 am 02 Februar 2021, 09:27:34
siehe Beitrag davor, hab den Editiert... Steht aber nichts von einem Fehler bezuglich des Konas drin.
Log config aktuell so:

log: error
levels:
  core: debug
  lp-1: debug
  lp-2: debug


Wird denn die Web UI ohne Fehler angezeigt?
Zeige mal deine evcc.yaml (Wichtig User Daten löschen!)
Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

michisa86888

Hier meine evcc.yaml

uri: 192.168.178.27:7070 # uri for ui
interval: 10s # control cycle interval

# log settings
log: error
levels:
  core: debug
  lp-1: debug
  lp-2: debug


# meter definitions
# name can be freely chosen and is used as reference when assigning meters to site and loadpoints
# for examples see https://github.com/andig/evcc-config#meters
meters:
meters:
- name: grid
  type: default
  power: # power reading
    type: mqtt # use mqtt plugin
    topic: fronius/verbrauch # mqtt topic
    timeout: 20s # don't use older values
- name: pv
  type: default
  power: # power reading
    type: mqtt # use mqtt plugin
    topic: fronius/leistung # mqtt topic
    timeout: 20s # don't use older values
   
 
# charger definitions
# name can be freely chosen and is used as reference when assigning charger to vehicle
# for examples see https://github.com/andig/evcc-config#chargers
chargers:

- name: keba
  type: keba
  uri: 192.168.178.210:7090

# vehicle definitions
# name can be freely chosen and is used as reference when assigning vehicle to loadpoint
# for examples see https://github.com/andig/evcc-config#vehicles
vehicles:
- name: kona
  type: hyundai
  title: Hyundai Kona # display name for UI
  capacity: 39 # kWh
  user: testemail235@gmx.de # user
  password: $userpassword # password
  cache: 1m # cache API response
 
# site describes the EVU connection, PV and home battery
site:
  title: Home Ladestation # display name for UI
  meters:
    grid: grid # grid meter
    pv: pv # pv meter
    battery:  # battery meter
  prioritySoC: 60 # give home battery priority up to this soc (0 to disable)

# loadpoint describes the charger, charge meter and connected vehicle
loadpoints:
- title: Garage # display name for UI
  charger: keba # charger
  meters: #charge: charge # charge meter
  vehicle: kona
  # vehicles: # use if multiple vehicles allowed to charge on this loadpoint
  # - ID.3
  # - e-Up
  mode: pv
  soc:
    # polling defines usage of the vehicle APIs
    # Modifying the default settings it NOT recommended. It MAY deplete your vehicle's battery
    # or lead to vehicle manufacturer banning you from API use. USE AT YOUR OWN RISK.
    poll:
      # poll mode defines under which condition the vehicle API is called:
      #   charging: update vehicle ONLY when charging (this is the recommended default)
      #   connected: update vehicle when connected (not only charging), interval defines how often
      #   always: always update vehicle regardless of connection state, interval defines how often
      mode: always
      # poll interval defines how often the vehicle API may be polled if NOT charging
      interval: 1m
    min: 0 # immediately charge to 0% regardless of mode unless "off" (disabled)
    target: 100 # always charge to 100%
    estimate: false # set true to interpolate between api updates
    levels: # target soc levels for UI
    - 30
    - 50
    - 80
    - 100
  onDisconnect: # set defaults when vehicle disconnects
    mode: pv # switch back to pv mode
    targetSoC: 100 # charge to 100%
  phases: 1 # ev phases (default 3)
  enable: # pv mode enable behavior
    delay: 1m # threshold must be exceeded for this long
    threshold: 0 # minimum export power (W). If zero, export must exceed minimum charge power to enable
  disable: # pv mode disable behavior
    delay: 5m # threshold must be exceeded for this long
    threshold: 200 # maximum import power (W)
  guardduration: 5m # switch charger contactor not more often than this (default 10m)
  mincurrent: 6 # minimum charge current (default 6A)
  maxcurrent: 16 # maximum charge current (default 16A)

# mqtt message broker
mqtt:
   broker: localhost:1883
   topic: # root topic for publishing, set empty to disable
   user:
   password:

# influx database
influx:
  # url: http://localhost:8086
  # database: evcc
  # user:
  # password:

# push messages
messaging:
  events:
    start: # charge start event
      title: Charge started
      msg: Started charging in "${mode}" mode
    stop: # charge stop event
      title: Charge finished
      msg: Finished charging ${chargedEnergy:%.1fk}kWh in ${chargeDuration}.
    connect: # vehicle connect event
      title: Car connected
      msg: "Car connected at ${pvPower:%.1fk}kW PV"
    disconnect: # vehicle connected event
      title: Car disconnected
      msg: Car disconnected after ${connectedDuration}
  services:
  # - type: pushover
  #   app: # app id
  #   recipients:
  #   - # list of recipient ids
  # - type: telegram
  #   token: # bot id
  #   chats:
  #   - # list of chat ids
  # - type: email
  #   uri: smtp://<user>:<password>@<host>:<port>/?fromAddress=<from>&toAddresses=<to>


In der WebUI werden die gleichen beiden Meldungen angezeigt wie in der Konsole

In der App muss ich weiterhin die PIN eingeben sobald ich einen Befehl ans Auto senden will...hat es vielleicht damit was zu tun?

xerion

Zitat von: michisa86888 am 02 Februar 2021, 11:52:48
Hier meine evcc.yaml

uri: 192.168.178.27:7070 # uri for ui
interval: 10s # control cycle interval

# log settings
log: error
levels:
  core: debug
  lp-1: debug
  lp-2: debug


# meter definitions
# name can be freely chosen and is used as reference when assigning meters to site and loadpoints
# for examples see https://github.com/andig/evcc-config#meters
meters:
meters:
- name: grid
  type: default
  power: # power reading
    type: mqtt # use mqtt plugin
    topic: fronius/verbrauch # mqtt topic
    timeout: 20s # don't use older values
- name: pv
  type: default
  power: # power reading
    type: mqtt # use mqtt plugin
    topic: fronius/leistung # mqtt topic
    timeout: 20s # don't use older values
   
 
# charger definitions
# name can be freely chosen and is used as reference when assigning charger to vehicle
# for examples see https://github.com/andig/evcc-config#chargers
chargers:

- name: keba
  type: keba
  uri: 192.168.178.210:7090

# vehicle definitions
# name can be freely chosen and is used as reference when assigning vehicle to loadpoint
# for examples see https://github.com/andig/evcc-config#vehicles
vehicles:
- name: kona
  type: hyundai
  title: Hyundai Kona # display name for UI
  capacity: 39 # kWh
  user: testemail235@gmx.de # user
  password: $userpassword # password
  cache: 1m # cache API response
 
# site describes the EVU connection, PV and home battery
site:
  title: Home Ladestation # display name for UI
  meters:
    grid: grid # grid meter
    pv: pv # pv meter
    battery:  # battery meter
  prioritySoC: 60 # give home battery priority up to this soc (0 to disable)

# loadpoint describes the charger, charge meter and connected vehicle
loadpoints:
- title: Garage # display name for UI
  charger: keba # charger
  meters: #charge: charge # charge meter
  vehicle: kona
  # vehicles: # use if multiple vehicles allowed to charge on this loadpoint
  # - ID.3
  # - e-Up
  mode: pv
  soc:
    # polling defines usage of the vehicle APIs
    # Modifying the default settings it NOT recommended. It MAY deplete your vehicle's battery
    # or lead to vehicle manufacturer banning you from API use. USE AT YOUR OWN RISK.
    poll:
      # poll mode defines under which condition the vehicle API is called:
      #   charging: update vehicle ONLY when charging (this is the recommended default)
      #   connected: update vehicle when connected (not only charging), interval defines how often
      #   always: always update vehicle regardless of connection state, interval defines how often
      mode: always
      # poll interval defines how often the vehicle API may be polled if NOT charging
      interval: 1m
    min: 0 # immediately charge to 0% regardless of mode unless "off" (disabled)
    target: 100 # always charge to 100%
    estimate: false # set true to interpolate between api updates
    levels: # target soc levels for UI
    - 30
    - 50
    - 80
    - 100
  onDisconnect: # set defaults when vehicle disconnects
    mode: pv # switch back to pv mode
    targetSoC: 100 # charge to 100%
  phases: 1 # ev phases (default 3)
  enable: # pv mode enable behavior
    delay: 1m # threshold must be exceeded for this long
    threshold: 0 # minimum export power (W). If zero, export must exceed minimum charge power to enable
  disable: # pv mode disable behavior
    delay: 5m # threshold must be exceeded for this long
    threshold: 200 # maximum import power (W)
  guardduration: 5m # switch charger contactor not more often than this (default 10m)
  mincurrent: 6 # minimum charge current (default 6A)
  maxcurrent: 16 # maximum charge current (default 16A)

# mqtt message broker
mqtt:
   broker: localhost:1883
   topic: # root topic for publishing, set empty to disable
   user:
   password:

# influx database
influx:
  # url: http://localhost:8086
  # database: evcc
  # user:
  # password:

# push messages
messaging:
  events:
    start: # charge start event
      title: Charge started
      msg: Started charging in "${mode}" mode
    stop: # charge stop event
      title: Charge finished
      msg: Finished charging ${chargedEnergy:%.1fk}kWh in ${chargeDuration}.
    connect: # vehicle connect event
      title: Car connected
      msg: "Car connected at ${pvPower:%.1fk}kW PV"
    disconnect: # vehicle connected event
      title: Car disconnected
      msg: Car disconnected after ${connectedDuration}
  services:
  # - type: pushover
  #   app: # app id
  #   recipients:
  #   - # list of recipient ids
  # - type: telegram
  #   token: # bot id
  #   chats:
  #   - # list of chat ids
  # - type: email
  #   uri: smtp://<user>:<password>@<host>:<port>/?fromAddress=<from>&toAddresses=<to>


In der WebUI werden die gleichen beiden Meldungen angezeigt wie in der Konsole

In der App muss ich weiterhin die PIN eingeben sobald ich einen Befehl ans Auto senden will...hat es vielleicht damit was zu tun?

Für die Abfrage von von Werten brauchst du keine PIN das geht ohne.

ZitatIn der WebUI werden die gleichen beiden Meldungen angezeigt wie in der Konsole
Welche sind das es wäre hilfreich wenn du das teilst was du siehst damit wir nicht raten müssen sonst stellst sich eine Hilfe sehr schwer da.

Die evvc.yaml kann so nicht funktionieren, da die Grundeinstellungen fehlen. Am besten nutze einen Editor der .yaml Daten unterstützt dann siehst du auch sofort welche Attribute bei dir z.b. doppelt sind und somit nicht funktionieren. Weitere Fragen zu EVCC entweder per PN oder versuchen auf github von EVCC zu erlesen.

Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

michisa86888

Zitat von: michisa86888 am 02 Februar 2021, 08:45:44
Hier mal das Log von Konsole:

[lp-1  ] WARN 2021/02/02 09:11:35 poll mode '{always 1m0s}' may deplete your bat                                                                                                                                                             tery or lead to API misuse. USE AT YOUR OWN RISK.
[lp-1  ] WARN 2021/02/02 09:11:35 poll interval '1m0s' is lower than 1h0m0s and                                                                                                                                                              may deplete your battery or lead to API misuse. USE AT YOUR OWN RISK.
[lp-1  ] ERROR 2021/02/02 09:11:36 charger error: recv timeout
[lp-1  ] INFO 2021/02/02 09:11:36 loadpoint 1:
[lp-1  ] INFO 2021/02/02 09:11:36   mode:      pv
[lp-1  ] INFO 2021/02/02 09:11:36   charger:   power ✓ energy ✓ currents ✓ timer                                                                                                                                                              —
[lp-1  ] INFO 2021/02/02 09:11:36   meters:    charge ✓
[lp-1  ] INFO 2021/02/02 09:11:36     charge:  power ✓ energy ✓ currents ✓
[lp-1  ] INFO 2021/02/02 09:11:36   vehicles:  ✓
[lp-1  ] INFO 2021/02/02 09:11:36     car 0:   finish — status — climate —
[lp-1  ] ERROR 2021/02/02 09:11:45 updating charge meter: recv timeout
[lp-1  ] ERROR 2021/02/02 09:11:46 charge rater error: recv timeout
[lp-1  ] ERROR 2021/02/02 09:11:47 charger error: recv timeout
[lp-1  ] ERROR 2021/02/02 09:11:51 updating charge meter: recv timeout



Log habe ich oben mal gepostet. Diese letzten 3 Error Meldungen werden auch in der WebUI angezeigt.

xerion

Zitat von: michisa86888 am 02 Februar 2021, 15:50:12
Log habe ich oben mal gepostet. Diese letzten 3 Error Meldungen werden auch in der WebUI angezeigt.

Ja das passt auch zu der fehlerhaften evcc.yaml das sollte wie gesagt außerhalb vom FHEM Forum diskutiert werden das die Basics von EVCC sind und nichts mit FHEM zu tun hat.
Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

michisa86888

Okay, da nun das Problem mit EVCC gelöst wurde, vielen Dank hier noch an @xerion bin ich nun dabei den NodeRed - Flow per MQTT an FHEM anzubinden..

Zitat von: acw81 am 13 Januar 2021, 18:50:24
Okay, jetzt funktioniert alles. Hier nochmal der aktualisierte Flow.


[
  {
    "id": "f6f2187d.f17ca8",
    "type": "tab",
    "label": "Flow 1",
    "disabled": false,
    "info": ""
  },
  {
    "id": "3cc11d24.ff01a2",
    "type": "comment",
    "z": "f6f2187d.f17ca8",
    "name": "WARNING: please check you have started this container with a volume that is mounted to /data\\n otherwise any flow changes are lost when you redeploy or upgrade the container\\n (e.g. upgrade to a more recent node-red docker image).\\n  If you are using named volumes you can ignore this warning.\\n Double click or see info side panel to learn how to start Node-RED in Docker to save your work",
    "info": "\nTo start docker with a bind mount volume (-v option), for example:\n\n```\ndocker run -it -p 1880:1880 -v /home/user/node_red_data:/data --name mynodered nodered/node-red\n```\n\nwhere `/home/user/node_red_data` is a directory on your host machine where you want to store your flows.\n\nIf you do not do this then you can experiment and redploy flows, but if you restart or upgrade the container the flows will be disconnected and lost. \n\nThey will still exist in a hidden data volume, which can be recovered using standard docker techniques, but that is much more complex than just starting with a named volume as described above.",
    "x": 350,
    "y": 80,
    "wires": [ ]
  },
  {
    "id": "4ae7cfad.ef2f9",
    "type": "mqtt in",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "cmnd/bluelinky/get_status",
    "qos": "2",
    "datatype": "auto",
    "broker": "36dd9767.956ae8",
    "x": 130,
    "y": 280,
    "wires": [ [ "7151f9b3.64a868" ] ]
  },
  {
    "id": "80b490f1.a70b5",
    "type": "mqtt in",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "cmnd/bluelinky/stop_ac",
    "qos": "2",
    "datatype": "auto",
    "broker": "36dd9767.956ae8",
    "x": 120,
    "y": 1000,
    "wires": [ [ "35e227cd.4f7fc8" ] ]
  },
  {
    "id": "2722c4a8.0a071c",
    "type": "mqtt in",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "cmnd/bluelinky/start_ac",
    "qos": "2",
    "datatype": "auto",
    "broker": "36dd9767.956ae8",
    "x": 120,
    "y": 920,
    "wires": [ [ "183e42b8.b4fc8d" ] ]
  },
  {
    "id": "7151f9b3.64a868",
    "type": "car-status",
    "z": "f6f2187d.f17ca8",
    "name": "Get status",
    "dorefresh": true,
    "parsed": false,
    "bluelinky": "57d6beca.e51cc",
    "x": 410,
    "y": 200,
    "wires": [ [ "478f506c.59b44", "8c0e1278.48eeb", "1e89420e.7d352e", "3072f27c.87c05e", "f86a0cc1.73cb7", "3a80f56c.0836fa", "b0d6fbd7.64da38", "863a07ce.085bd8", "e7b544a.406a8b8", "49d564f1.3e30ac", "b2af16e1.8e9e48" ] ]
  },
  {
    "id": "a2f10779.7ad2c8",
    "type": "start-car",
    "z": "f6f2187d.f17ca8",
    "name": "Start car",
    "bluelinky": "57d6beca.e51cc",
    "x": 460,
    "y": 920,
    "wires": [ [ "478f506c.59b44" ] ],
    "inputLabels": [ "airTempvalue: 19.0" ],
    "info": "19"
  },
  {
    "id": "35e227cd.4f7fc8",
    "type": "stop-car",
    "z": "f6f2187d.f17ca8",
    "name": "Stop car",
    "bluelinky": "57d6beca.e51cc",
    "x": 460,
    "y": 1000,
    "wires": [ [ "478f506c.59b44" ] ]
  },
  {
    "id": "478f506c.59b44",
    "type": "debug",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "payload",
    "targetType": "msg",
    "statusVal": "",
    "statusType": "auto",
    "x": 770,
    "y": 920,
    "wires": [ ]
  },
  {
    "id": "4a75fc2f.1e51e4",
    "type": "unlock-car",
    "z": "f6f2187d.f17ca8",
    "name": "Unlock car",
    "bluelinky": "57d6beca.e51cc",
    "x": 470,
    "y": 1080,
    "wires": [ [ "478f506c.59b44", "a10b38ae.94e5d8" ] ]
  },
  {
    "id": "2eef0961.a65396",
    "type": "mqtt in",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "cmnd/bluelinky/unlock_car",
    "qos": "2",
    "datatype": "auto",
    "broker": "36dd9767.956ae8",
    "x": 130,
    "y": 1080,
    "wires": [ [ "4a75fc2f.1e51e4" ] ]
  },
  {
    "id": "250acff4.b367",
    "type": "mqtt in",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "cmnd/bluelinky/lock_car",
    "qos": "2",
    "datatype": "auto",
    "broker": "36dd9767.956ae8",
    "x": 120,
    "y": 1160,
    "wires": [ [ "19c514c7.ca8aab" ] ]
  },
  {
    "id": "19c514c7.ca8aab",
    "type": "lock-car",
    "z": "f6f2187d.f17ca8",
    "name": "Lock car",
    "bluelinky": "57d6beca.e51cc",
    "x": 460,
    "y": 1160,
    "wires": [ [ "478f506c.59b44", "a10b38ae.94e5d8" ] ]
  },
  {
    "id": "cbdfadee.54f1c",
    "type": "car-location",
    "z": "f6f2187d.f17ca8",
    "name": "Get car location",
    "bluelinky": "57d6beca.e51cc",
    "x": 480,
    "y": 1240,
    "wires": [ [ "2e394950.ce9296", "478f506c.59b44" ] ]
  },
  {
    "id": "421c6f20.cb61f",
    "type": "car-odometer",
    "z": "f6f2187d.f17ca8",
    "name": "Get car odometer",
    "bluelinky": "57d6beca.e51cc",
    "x": 450,
    "y": 780,
    "wires": [ [ "478f506c.59b44", "c85df5a1.7c67f8" ] ]
  },
  {
    "id": "ae4a76ba.d1b7e8",
    "type": "mqtt in",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "cmnd/bluelinky/get_odometer",
    "qos": "2",
    "datatype": "auto",
    "broker": "36dd9767.956ae8",
    "x": 140,
    "y": 780,
    "wires": [ [ "421c6f20.cb61f" ] ]
  },
  {
    "id": "a10b38ae.94e5d8",
    "type": "mqtt out",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "bluelinky/doors",
    "qos": "",
    "retain": "",
    "broker": "36dd9767.956ae8",
    "x": 740,
    "y": 1160,
    "wires": [ ]
  },
  {
    "id": "3493be44.5a6802",
    "type": "mqtt out",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "bluelinky/odometer",
    "qos": "",
    "retain": "",
    "broker": "36dd9767.956ae8",
    "x": 870,
    "y": 780,
    "wires": [ ]
  },
  {
    "id": "cc998b60.1f7408",
    "type": "mqtt in",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "cmnd/bluelinky/get_location",
    "qos": "2",
    "datatype": "auto",
    "broker": "36dd9767.956ae8",
    "x": 140,
    "y": 1240,
    "wires": [ [ "cbdfadee.54f1c" ] ]
  },
  {
    "id": "2e394950.ce9296",
    "type": "mqtt out",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "bluelinky/location",
    "qos": "",
    "retain": "",
    "broker": "36dd9767.956ae8",
    "x": 750,
    "y": 1240,
    "wires": [ ]
  },
  {
    "id": "47d9808d.1454b",
    "type": "inject",
    "z": "f6f2187d.f17ca8",
    "name": "Every 12h",
    "props": [
      { "p": "payload" },
      {
        "p": "topic",
        "vt": "str"
      }
    ],
    "repeat": "43200",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "topic": "",
    "payload": "",
    "payloadType": "date",
    "x": 110,
    "y": 200,
    "wires": [ [ "7151f9b3.64a868" ] ]
  },
  {
    "id": "8c0e1278.48eeb",
    "type": "change",
    "z": "f6f2187d.f17ca8",
    "name": "doorLock",
    "rules": [
      {
        "t": "set",
        "p": "payload",
        "pt": "msg",
        "to": "payload.status.doorLock",
        "tot": "msg"
      }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 800,
    "y": 160,
    "wires": [ [ "4a2701d1.43ed1" ] ]
  },
  {
    "id": "4a2701d1.43ed1",
    "type": "mqtt out",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "bluelinky/doorLock",
    "qos": "",
    "retain": "",
    "broker": "36dd9767.956ae8",
    "x": 1010,
    "y": 160,
    "wires": [ ]
  },
  {
    "id": "c85df5a1.7c67f8",
    "type": "change",
    "z": "f6f2187d.f17ca8",
    "name": "odometer",
    "rules": [
      {
        "t": "set",
        "p": "payload",
        "pt": "msg",
        "to": "payload.value",
        "tot": "msg"
      }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 680,
    "y": 780,
    "wires": [ [ "3493be44.5a6802" ] ]
  },
  {
    "id": "f0bdbf6f.5a26c",
    "type": "inject",
    "z": "f6f2187d.f17ca8",
    "name": "Every 24h",
    "props": [
      { "p": "payload" },
      {
        "p": "topic",
        "vt": "str"
      }
    ],
    "repeat": "86400",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "topic": "",
    "payload": "",
    "payloadType": "date",
    "x": 110,
    "y": 720,
    "wires": [ [ "421c6f20.cb61f" ] ]
  },
  {
    "id": "1e89420e.7d352e",
    "type": "change",
    "z": "f6f2187d.f17ca8",
    "name": "engine",
    "rules": [
      {
        "t": "set",
        "p": "payload",
        "pt": "msg",
        "to": "payload.status.engine",
        "tot": "msg"
      }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 790,
    "y": 220,
    "wires": [ [ "aa799088.efbc5" ] ]
  },
  {
    "id": "aa799088.efbc5",
    "type": "mqtt out",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "bluelinky/engine",
    "qos": "",
    "retain": "",
    "broker": "36dd9767.956ae8",
    "x": 1000,
    "y": 220,
    "wires": [ ]
  },
  {
    "id": "3072f27c.87c05e",
    "type": "change",
    "z": "f6f2187d.f17ca8",
    "name": "airCtrlOn",
    "rules": [
      {
        "t": "set",
        "p": "payload",
        "pt": "msg",
        "to": "payload.status.airCtrlOn",
        "tot": "msg"
      }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 800,
    "y": 280,
    "wires": [ [ "f5d01011.764f6" ] ]
  },
  {
    "id": "f5d01011.764f6",
    "type": "mqtt out",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "bluelinky/airCtrlOn",
    "qos": "",
    "retain": "",
    "broker": "36dd9767.956ae8",
    "x": 1010,
    "y": 280,
    "wires": [ ]
  },
  {
    "id": "f86a0cc1.73cb7",
    "type": "change",
    "z": "f6f2187d.f17ca8",
    "name": "trunkOpen",
    "rules": [
      {
        "t": "set",
        "p": "payload",
        "pt": "msg",
        "to": "payload.status.trunkOpen",
        "tot": "msg"
      }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 810,
    "y": 340,
    "wires": [ [ "e603126b.6a562" ] ]
  },
  {
    "id": "e603126b.6a562",
    "type": "mqtt out",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "bluelinky/trunkOpen",
    "qos": "",
    "retain": "",
    "broker": "36dd9767.956ae8",
    "x": 1020,
    "y": 340,
    "wires": [ ]
  },
  {
    "id": "3a80f56c.0836fa",
    "type": "change",
    "z": "f6f2187d.f17ca8",
    "name": "hoodOpen",
    "rules": [
      {
        "t": "set",
        "p": "payload",
        "pt": "msg",
        "to": "payload.status.hoodOpen",
        "tot": "msg"
      }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 810,
    "y": 400,
    "wires": [ [ "5a7d883c.e56228" ] ]
  },
  {
    "id": "5a7d883c.e56228",
    "type": "mqtt out",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "bluelinky/hoodOpen",
    "qos": "",
    "retain": "",
    "broker": "36dd9767.956ae8",
    "x": 1020,
    "y": 400,
    "wires": [ ]
  },
  {
    "id": "863a07ce.085bd8",
    "type": "change",
    "z": "f6f2187d.f17ca8",
    "name": "batteryStatus",
    "rules": [
      {
        "t": "set",
        "p": "payload",
        "pt": "msg",
        "to": "payload.status.evStatus.batteryStatus",
        "tot": "msg"
      }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 810,
    "y": 460,
    "wires": [ [ "b7ab78d8.2186c8" ] ]
  },
  {
    "id": "b7ab78d8.2186c8",
    "type": "mqtt out",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "bluelinky/batteryStatus",
    "qos": "",
    "retain": "",
    "broker": "36dd9767.956ae8",
    "x": 1020,
    "y": 460,
    "wires": [ ]
  },
  {
    "id": "49d564f1.3e30ac",
    "type": "change",
    "z": "f6f2187d.f17ca8",
    "name": "defrost",
    "rules": [
      {
        "t": "set",
        "p": "payload",
        "pt": "msg",
        "to": "payload.status.defrost",
        "tot": "msg"
      }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 790,
    "y": 640,
    "wires": [ [ "6309573b.8b5f08" ] ]
  },
  {
    "id": "6309573b.8b5f08",
    "type": "mqtt out",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "bluelinky/defrost",
    "qos": "",
    "retain": "",
    "broker": "36dd9767.956ae8",
    "x": 1000,
    "y": 640,
    "wires": [ ]
  },
  {
    "id": "e7b544a.406a8b8",
    "type": "change",
    "z": "f6f2187d.f17ca8",
    "name": "acc",
    "rules": [
      {
        "t": "set",
        "p": "payload",
        "pt": "msg",
        "to": "payload.status.scc",
        "tot": "msg"
      }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 790,
    "y": 580,
    "wires": [ [ "8b622bcc.94d9d8" ] ]
  },
  {
    "id": "8b622bcc.94d9d8",
    "type": "mqtt out",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "bluelinky/acc",
    "qos": "",
    "retain": "",
    "broker": "36dd9767.956ae8",
    "x": 990,
    "y": 580,
    "wires": [ ]
  },
  {
    "id": "b0d6fbd7.64da38",
    "type": "change",
    "z": "f6f2187d.f17ca8",
    "name": "batteryCharge",
    "rules": [
      {
        "t": "set",
        "p": "payload",
        "pt": "msg",
        "to": "payload.status.evStatus.batteryCharge",
        "tot": "msg"
      }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 820,
    "y": 520,
    "wires": [ [ "35d69904.5e8b16" ] ]
  },
  {
    "id": "35d69904.5e8b16",
    "type": "mqtt out",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "bluelinky/batteryCharge",
    "qos": "",
    "retain": "",
    "broker": "36dd9767.956ae8",
    "x": 1030,
    "y": 520,
    "wires": [ ]
  },
  {
    "id": "b2af16e1.8e9e48",
    "type": "change",
    "z": "f6f2187d.f17ca8",
    "name": "range",
    "rules": [
      {
        "t": "set",
        "p": "payload",
        "pt": "msg",
        "to": "payload.status.evStatus.drvDistance[0].rangeByFuel.evModeRange.value",
        "tot": "msg"
      }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 790,
    "y": 700,
    "wires": [ [ "1e875e4.f7566a2" ] ]
  },
  {
    "id": "1e875e4.f7566a2",
    "type": "mqtt out",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "topic": "bluelinky/range",
    "qos": "",
    "retain": "",
    "broker": "36dd9767.956ae8",
    "x": 1000,
    "y": 700,
    "wires": [ ]
  },
  {
    "id": "183e42b8.b4fc8d",
    "type": "json",
    "z": "f6f2187d.f17ca8",
    "name": "",
    "property": "payload",
    "action": "",
    "pretty": false,
    "x": 310,
    "y": 920,
    "wires": [ [ "a2f10779.7ad2c8" ] ]
  },
  {
    "id": "36dd9767.956ae8",
    "type": "mqtt-broker",
    "name": "mosquitto",
    "broker": "<IP>",
    "port": "1883",
    "clientid": "",
    "usetls": false,
    "compatmode": false,
    "keepalive": "60",
    "cleansession": true,
    "birthTopic": "",
    "birthQos": "0",
    "birthPayload": "",
    "closeTopic": "",
    "closeQos": "0",
    "closePayload": "",
    "willTopic": "",
    "willQos": "0",
    "willPayload": ""
  },
  {
    "id": "57d6beca.e51cc",
    "type": "bluelinky",
    "username": "<Username>",
    "password": "<password>",
    "region": "EU",
    "pin": "<pin>",
    "vin": "<vin>"
  }
]


Habe den Flow mit diesem Code konfiguriert. Die Verbindungen werden mir in NodeRed auch angezeigt. Mein FHEM MQTT2 Server müsste doch jetzt ein neues Device automatisch finden oder? Weil in FHEM taucht nichts auf

acw81

Zitat von: michisa86888 am 03 Februar 2021, 08:15:10
Okay, da nun das Problem mit EVCC gelöst wurde, vielen Dank hier noch an @xerion bin ich nun dabei den NodeRed - Flow per MQTT an FHEM anzubinden..

Habe den Flow mit diesem Code konfiguriert. Die Verbindungen werden mir in NodeRed auch angezeigt. Mein FHEM MQTT2 Server müsste doch jetzt ein neues Device automatisch finden oder? Weil in FHEM taucht nichts auf

Also ich hab mir das MQTT device selbst erstellt. Da es dafür kein Template gibt musst du sowieso das meiste selbst machen ;)

Hier mal meine Device Definition. Ist zwar nicht schön, funktioniert aber  ;D. Ist aber auch noch nicht ganz fertig wie du feststellen wirst. Verbesserungen gerne hier posten.


defmod mqttKona MQTT2_DEVICE
attr mqttKona IODev MQTT_Broker
attr mqttKona event-on-change-reading .*
attr mqttKona readingList bluelinky/odometer.* odometer\
bluelinky/doorLock.* doorLock\
bluelinky/range.* range\
bluelinky/batteryStatus.* batteryStatus\
bluelinky/odometer.* odometer\
bluelinky/batteryPlugin.* batteryPlugin\
bluelinky/batteryCharge.* batteryCharge\
bluelinky/engine.* engine\
bluelinky/hoodOpen.* hoodOpen\
bluelinky/trunkOpen.* trunkOpen\
bluelinky/airCtrlOn.* airCtrlOn\
bluelinky/batSoc.* batSoc
attr mqttKona room Garage
attr mqttKona setList getOdometer cmnd/bluelinky/get_odometer 1\
getStatus cmnd/bluelinky/get_status 1\
getLocation cmnd/bluelinky/get_location 1\
startAC:slider,17,0.5,27 cmnd/bluelinky/start_ac {"defrost":true,"windscreenHeating":true,"temperature":$EVTPART1,"unit":"C"}\
stopAC cmnd/bluelinky/stop_ac\
lockCar cmnd/bluelinky/lock_car\
unlockCar cmnd/bluelinky/unlock_car\
startCharging cmnd/bluelinky/start_charging\
stopCharging cmnd/bluelinky/stop_charging
attr mqttKona stateFormat Kilometerstand: odometer km <br>\
Akku: batteryStatus % <br>\
Türen veriegelt: doorLock <br>\
Reichweite: range km <br>\
Vollgeladen in: status_evStatus_remainTime2_atc_value min <br>\
<br>\
AC: Defrost=ac_defrost Windscreen=ac_windscreen <br>\

attr mqttKona webCmd ac_defrost:ac_windscreen



michisa86888

Zitat von: acw81 am 03 Februar 2021, 08:27:38
Also ich hab mir das MQTT device selbst erstellt. Da es dafür kein Template gibt musst du sowieso das meiste selbst machen ;)

Hier mal meine Device Definition. Ist zwar nicht schön, funktioniert aber  ;D. Ist aber auch noch nicht ganz fertig wie du feststellen wirst. Verbesserungen gerne hier posten.


Habe ich mal so versucht, allerdings bekomme ich keine Readings rein. Die Topics müssten passen und in NodeRed zeigt mir auch verbunden an.
Wie kann ich in NodeRed schauen ob überhaupt Readings generiert werden?

xerion

Ich nutze für anzeige der MQTT Topics "MQTT.fx" damit kannst du alle Nachrichten sehen und auch auf bestimmte filtern.
Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

acw81

Ich verwende den hier, damit kannst du auch Topics setzen

https://mqtt-explorer.com/

Gibt es für die gängigen Betriebsysteme und läuft unter Windoof auch in der portable Version

BTW, hast du FHEM MQTT device deinen Broker gesetzt?


michisa86888

#57
Zitat von: xerion am 03 Februar 2021, 10:37:09
Ich nutze für anzeige der MQTT Topics "MQTT.fx" damit kannst du alle Nachrichten sehen und auch auf bestimmte filtern.
Okay habe ich mal installiert und nach den Topics suchen lassen. Die topics vom NodeRed fehlen. In Node wird mir aber angezeigt verbunden. Und sobald ich meinen Broker ausschalte wird nicht verbunden angezeigt.

edit: scheint sich gelöst zu haben, von meiner openWB Installation waren noch 100erte Topics übrig... Die habe ich raus gelöscht und jetzt kommt das von NodeRed an

michisa86888

So, das ganze scheint noch nicht so richtig zu laufen. Ich habe den timestamp zum aktualisieren vom Fahrzeugstatus auf 2 Stunden gestellt. Jetzt bekomme ich alle 2 Stunden in FHEM ein neues MQTT Device und das "ältere" wird nicht aktualisiert. Das ganze auch nur wenn ich NodeRed im Browser geöffnet habe.

Die cmnd-Mqtt Kommandos funktionieren auch noch nicht. Ich bekomme wenn ich in FHEM die "Get"-Kommandos ausführe zwar im Debug-Fenster die aktuellen Werte - diese Werten aber nicht per Mqtt abgesetzt.
Die Kommandos zum öffnen der Türen, Klima starten funktionieren gar nicht.
Beim Slider-Start AC kommt im Debug_Fenster die Meldung:

Unexpected token \ in JSON at position 69

xerion

Zitat von: michisa86888 am 05 Februar 2021, 06:25:42
So, das ganze scheint noch nicht so richtig zu laufen. Ich habe den timestamp zum aktualisieren vom Fahrzeugstatus auf 2 Stunden gestellt. Jetzt bekomme ich alle 2 Stunden in FHEM ein neues MQTT Device und das "ältere" wird nicht aktualisiert. Das ganze auch nur wenn ich NodeRed im Browser geöffnet habe.

Die cmnd-Mqtt Kommandos funktionieren auch noch nicht. Ich bekomme wenn ich in FHEM die "Get"-Kommandos ausführe zwar im Debug-Fenster die aktuellen Werte - diese Werten aber nicht per Mqtt abgesetzt.
Die Kommandos zum öffnen der Türen, Klima starten funktionieren gar nicht.
Beim Slider-Start AC kommt im Debug_Fenster die Meldung:

Unexpected token \ in JSON at position 69


Ich denke du solltest für diese Frage ein extra Thread im Anfängerforum aufmachen. Das hat nicht wirklich mit dem Thema zu tun und sind MQTT Grundlagen. Am besten dort mal fragen.
Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880