Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Füllstandsmessung per Pegelsonde.

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Füllstandsmessung per Pegelsonde.

    This topic has been deleted. Only users with topic management privileges can see it.
    • opossum
      opossum last edited by opossum

      Hallo, @ltathome ,

      habe meine View mal exportiert:

      {
        "settings": {
          "style": {
            "background_class": "hq-background-h-gradient-black-3"
          },
          "theme": "dark-hive",
          "sizex": "1920",
          "sizey": "1080",
          "gridSize": "",
          "useBackground": false,
          "snapType": null
        },
        "widgets": {
          "e00001": {
            "tpl": "tplHtml",
            "data": {
              "g_fixed": true,
              "g_visibility": false,
              "g_css_font_text": false,
              "g_css_background": false,
              "g_css_shadow_padding": false,
              "g_css_border": false,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "refreshInterval": "0",
              "signals-cond-0": "==",
              "signals-val-0": true,
              "signals-icon-0": "/vis/signals/lowbattery.png",
              "signals-icon-size-0": 0,
              "signals-blink-0": false,
              "signals-horz-0": 0,
              "signals-vert-0": 0,
              "signals-hide-edit-0": false,
              "signals-cond-1": "==",
              "signals-val-1": true,
              "signals-icon-1": "/vis/signals/lowbattery.png",
              "signals-icon-size-1": 0,
              "signals-blink-1": false,
              "signals-horz-1": 0,
              "signals-vert-1": 0,
              "signals-hide-edit-1": false,
              "signals-cond-2": "==",
              "signals-val-2": true,
              "signals-icon-2": "/vis/signals/lowbattery.png",
              "signals-icon-size-2": 0,
              "signals-blink-2": false,
              "signals-horz-2": 0,
              "signals-vert-2": 0,
              "signals-hide-edit-2": false,
              "lc-type": "last-change",
              "lc-is-interval": true,
              "lc-is-moment": false,
              "lc-format": "",
              "lc-position-vert": "top",
              "lc-position-horz": "right",
              "lc-offset-vert": 0,
              "lc-offset-horz": 0,
              "lc-font-size": "12px",
              "lc-font-family": "",
              "lc-font-style": "",
              "lc-bkg-color": "",
              "lc-color": "",
              "lc-border-width": "0",
              "lc-border-style": "",
              "lc-border-color": "",
              "lc-border-radius": 10,
              "lc-zindex": 0,
              "html": "",
              "views": [
                "101_kalender",
                "103_aussenlicht_bedienung",
                "104_klima",
                "105_batterien",
                "106_rollos_bedienung",
                "107_netzwerk_ccu_status",
                "108_wetter_tag_1",
                "109_tv_vu_plus",
                "110_diagramm_kraftstoff",
                "111_diagramm_heizung_arbeitszimmer",
                "112_diagramm_heizung_wohnzimmer",
                "113_diagramm_heizung_esszimmer",
                "114_diagramm_heizung_kueche",
                "115_diagramm_heizung_gaestebad",
                "116_diagramm_heizung_flur_unten",
                "117_diagramm_heizung_gaestezimmer",
                "118_diagramm_heizung_schlafzimmer",
                "119_diagramm_heizung_bad_oben",
                "316_wetter_tag_2",
                "317_wetter_tag_3",
                "318_wetter_tag_4",
                "319_wetter_tag_5"
              ]
            },
            "style": {
              "left": "1600px",
              "top": "14px",
              "width": "164px",
              "height": "47px"
            },
            "widgetSet": "basic"
          },
          "e00002": {
            "tpl": "tplContainerView",
            "data": {
              "g_fixed": false,
              "g_visibility": false,
              "g_css_font_text": false,
              "g_css_background": true,
              "g_css_shadow_padding": false,
              "g_css_border": false,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "signals-cond-0": "==",
              "signals-val-0": true,
              "signals-icon-0": "/vis/signals/lowbattery.png",
              "signals-icon-size-0": 0,
              "signals-blink-0": false,
              "signals-horz-0": 0,
              "signals-vert-0": 0,
              "signals-hide-edit-0": false,
              "signals-cond-1": "==",
              "signals-val-1": true,
              "signals-icon-1": "/vis/signals/lowbattery.png",
              "signals-icon-size-1": 0,
              "signals-blink-1": false,
              "signals-horz-1": 0,
              "signals-vert-1": 0,
              "signals-hide-edit-1": false,
              "signals-cond-2": "==",
              "signals-val-2": true,
              "signals-icon-2": "/vis/signals/lowbattery.png",
              "signals-icon-size-2": 0,
              "signals-blink-2": false,
              "signals-horz-2": 0,
              "signals-vert-2": 0,
              "signals-hide-edit-2": false,
              "lc-type": "last-change",
              "lc-is-interval": true,
              "lc-is-moment": false,
              "lc-format": "",
              "lc-position-vert": "top",
              "lc-position-horz": "right",
              "lc-offset-vert": 0,
              "lc-offset-horz": 0,
              "lc-font-size": "12px",
              "lc-font-family": "",
              "lc-font-style": "",
              "lc-bkg-color": "",
              "lc-color": "",
              "lc-border-width": "0",
              "lc-border-style": "",
              "lc-border-color": "",
              "lc-border-radius": 10,
              "lc-zindex": 0,
              "contains_view": "201_navigation"
            },
            "style": {
              "left": "41px",
              "top": "5px",
              "width": "172px",
              "height": "1000px",
              "z-index": "50"
            },
            "widgetSet": "basic"
          },
          "e00003": {
            "tpl": "tplHqOdometer",
            "data": {
              "oid": "mqtt.0.ESPEasy3_3.dummy.Inhalt",
              "g_fixed": true,
              "g_visibility": false,
              "g_css_font_text": true,
              "g_css_background": false,
              "g_css_shadow_padding": false,
              "g_css_border": false,
              "g_gestures": false,
              "g_signals": false,
              "style": "car",
              "format": "(ddddd),dd",
              "factor": "1",
              "leadingZeros": "true",
              "signals-cond-0": "==",
              "signals-val-0": true,
              "signals-icon-0": "/vis/signals/lowbattery.png",
              "signals-icon-size-0": 0,
              "signals-blink-0": false,
              "signals-horz-0": 0,
              "signals-vert-0": 0,
              "signals-hide-edit-0": false,
              "signals-cond-1": "==",
              "signals-val-1": true,
              "signals-icon-1": "/vis/signals/lowbattery.png",
              "signals-icon-size-1": 0,
              "signals-blink-1": false,
              "signals-horz-1": 0,
              "signals-vert-1": 0,
              "signals-hide-edit-1": false,
              "signals-cond-2": "==",
              "signals-val-2": true,
              "signals-icon-2": "/vis/signals/lowbattery.png",
              "signals-icon-size-2": 0,
              "signals-blink-2": false,
              "signals-horz-2": 0,
              "signals-vert-2": 0,
              "signals-hide-edit-2": false,
              "name": "Liter",
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "lc-type": "last-change",
              "lc-is-interval": true,
              "lc-is-moment": false,
              "lc-format": "",
              "lc-position-vert": "top",
              "lc-position-horz": "right",
              "lc-offset-vert": 0,
              "lc-offset-horz": 0,
              "lc-font-size": "12px",
              "lc-font-family": "",
              "lc-font-style": "",
              "lc-bkg-color": "",
              "lc-color": "",
              "lc-border-width": "0",
              "lc-border-style": "",
              "lc-border-color": "",
              "lc-border-radius": 10,
              "lc-zindex": 0
            },
            "style": {
              "left": "397px",
              "top": "660px",
              "width": "230px",
              "height": "37px",
              "z-index": "2"
            },
            "widgetSet": "hqwidgets"
          },
          "e00004": {
            "tpl": "tplIFrame",
            "data": {
              "g_fixed": false,
              "g_visibility": false,
              "g_css_font_text": false,
              "g_css_background": false,
              "g_css_shadow_padding": false,
              "g_css_border": false,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "refreshInterval": "0",
              "seamless": "true",
              "signals-cond-0": "==",
              "signals-val-0": true,
              "signals-icon-0": "/vis/signals/lowbattery.png",
              "signals-icon-size-0": 0,
              "signals-blink-0": false,
              "signals-horz-0": 0,
              "signals-vert-0": 0,
              "signals-hide-edit-0": false,
              "signals-cond-1": "==",
              "signals-val-1": true,
              "signals-icon-1": "/vis/signals/lowbattery.png",
              "signals-icon-size-1": 0,
              "signals-blink-1": false,
              "signals-horz-1": 0,
              "signals-vert-1": 0,
              "signals-hide-edit-1": false,
              "signals-cond-2": "==",
              "signals-val-2": true,
              "signals-icon-2": "/vis/signals/lowbattery.png",
              "signals-icon-size-2": 0,
              "signals-blink-2": false,
              "signals-horz-2": 0,
              "signals-vert-2": 0,
              "signals-hide-edit-2": false,
              "lc-type": "last-change",
              "lc-is-interval": true,
              "lc-is-moment": false,
              "lc-format": "",
              "lc-position-vert": "top",
              "lc-position-horz": "right",
              "lc-offset-vert": 0,
              "lc-offset-horz": 0,
              "lc-font-size": "12px",
              "lc-font-family": "",
              "lc-font-style": "",
              "lc-bkg-color": "",
              "lc-color": "",
              "lc-border-width": "0",
              "lc-border-style": "",
              "lc-border-color": "",
              "lc-border-radius": 10,
              "lc-zindex": 0,
              "src": "http://192.168.1.100:8082/flot/index.html?timeType=relative&relativeEnd=now&range=1440&aggregateType=count&aggregateSpan=300&hoverDetail=false&useComma=false&zoom=false&noedit=true&animation=0&l%5B0%5D%5Bid%5D=mqtt.0.ESPEasy3_3.dummy.Inhalt&l%5B0%5D%5Binstance%5D=sql.0&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=minmax&l%5B0%5D%5Bcolor%5D=%23FF0000&l%5B0%5D%5Bmin%5D=0&l%5B0%5D%5Bmax%5D=7000&l%5B0%5D%5Bthickness%5D=1&l%5B0%5D%5Bshadowsize%5D=2&l%5B0%5D%5Bunit%5D=Liter&l%5B0%5D%5Bname%5D=Inhalt+Zisterne&l%5B0%5D%5Byaxe%5D=left&l%5B0%5D%5Bpoints%5D=false&l%5B0%5D%5Bfill%5D=.1&l%5B0%5D%5BafterComma%5D=0&l%5B0%5D%5Bdashes%5D=false&l%5B0%5D%5BdashLength%5D=10&l%5B0%5D%5BspaceLength%5D=10&l%5B1%5D%5Bid%5D=mqtt.0.ESPEasy3_3.dummy.Prozent&l%5B1%5D%5Binstance%5D=sql.0&l%5B1%5D%5Boffset%5D=0&l%5B1%5D%5Baggregate%5D=minmax&l%5B1%5D%5Bcolor%5D=%2300FF00&l%5B1%5D%5Bmin%5D=0&l%5B1%5D%5Bmax%5D=120&l%5B1%5D%5Bthickness%5D=1&l%5B1%5D%5Bshadowsize%5D=2&l%5B1%5D%5Bfill%5D=.1&l%5B1%5D%5Bunit%5D=%25&l%5B1%5D%5Byaxe%5D=right&l%5B1%5D%5Bname%5D=Prozent&l%5B1%5D%5Bxaxe%5D=off&l%5B1%5D%5BafterComma%5D=2&l%5B1%5D%5Bdashes%5D=false&l%5B1%5D%5BdashLength%5D=10&l%5B1%5D%5BspaceLength%5D=10&live=10&noBorder=noborder&bg=%23303030&x_labels_color=%23ffffff&y_labels_color=%23ffffff&barLabels=topover&title=Zisterne-F%C3%BCllstand&titlePos=top%3A35%3Bleft%3A50&titleColor=%23ffffff&legend=nw&timeFormat=%25H%3A%25M&titleSize=18&m%5B0%5D%5Bl%5D=0&m%5B0%5D%5Bv%5D=1000&m%5B0%5D%5Bf%5D=1&m%5B0%5D%5Bc%5D=%23FF0000&m%5B0%5D%5Bt%5D=3&m%5B0%5D%5Bs%5D=3&m%5B0%5D%5Bd%5D=Achtung+F%C3%BCllmenge+kritisch&m%5B0%5D%5Bp%5D=l&m%5B0%5D%5Bpy%5D=0&m%5B0%5D%5Bfc%5D=%23ffffff&m%5B0%5D%5Bfs%5D=&m%5B0%5D%5Bvl%5D=0&start=2019-10-24&start_time=12%3A00&end=2019-10-25&end_time=20%3A00"
            },
            "style": {
              "left": "729px",
              "top": "207px",
              "width": "1128px",
              "height": "800px",
              "z-index": "20"
            },
            "widgetSet": "basic"
          },
          "e00005": {
            "tpl": "tplPlump_tank_simple",
            "data": {
              "oid": "mqtt.0.ESPEasy3_3.dummy.Inhalt",
              "g_fixed": false,
              "g_visibility": false,
              "g_css_font_text": false,
              "g_css_background": true,
              "g_css_shadow_padding": false,
              "g_css_border": false,
              "g_gestures": false,
              "g_signals": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "type": "level",
              "level_min": "0",
              "level_max": "6000",
              "color": "#dbccb8",
              "top_water": "#3535e9",
              "bottom_water": "#7fadf0",
              "filter_pattern": "/vis/widgets/plumb/img/prev_tank_simple.png",
              "filter_size": "",
              "filter_opa": "0",
              "conTop_level": "100",
              "conTop_color_off": "#C0C0C0",
              "conTop_color_on": "#00ff00",
              "conTop_size": "20",
              "conTop_pos": "50",
              "signals-cond-0": "==",
              "signals-val-0": true,
              "signals-icon-0": "/vis/signals/lowbattery.png",
              "signals-icon-size-0": 0,
              "signals-blink-0": false,
              "signals-horz-0": 0,
              "signals-vert-0": 0,
              "signals-hide-edit-0": false,
              "signals-cond-1": "==",
              "signals-val-1": true,
              "signals-icon-1": "/vis/signals/lowbattery.png",
              "signals-icon-size-1": 0,
              "signals-blink-1": false,
              "signals-horz-1": 0,
              "signals-vert-1": 0,
              "signals-hide-edit-1": false,
              "signals-cond-2": "==",
              "signals-val-2": true,
              "signals-icon-2": "/vis/signals/lowbattery.png",
              "signals-icon-size-2": 0,
              "signals-blink-2": false,
              "signals-horz-2": 0,
              "signals-vert-2": 0,
              "signals-hide-edit-2": false,
              "g_conBottom": false,
              "conBottom_level": "1",
              "conBottom_color_off": "#C0C0C0",
              "conBottom_color_on": "#00ff00",
              "conBottom_size": "20",
              "conBottom_pos": "50",
              "g_conLeft": false,
              "conLeft_level": "50",
              "conLeft_color_off": "#C0C0C0",
              "conLeft_color_on": "#00ff00",
              "conLeft_size": "20",
              "conLeft_pos": "50",
              "g_conRight": false,
              "conRight_level": "50",
              "conRight_color_off": "#C0C0C0",
              "conRight_color_on": "#00ff00",
              "conRight_size": "20",
              "conRight_pos": "50",
              "is_filter": false,
              "conTop_show": true,
              "lc-type": "last-change",
              "lc-is-interval": true,
              "lc-is-moment": false,
              "lc-format": "",
              "lc-position-vert": "top",
              "lc-position-horz": "right",
              "lc-offset-vert": 0,
              "lc-offset-horz": 0,
              "lc-font-size": "12px",
              "lc-font-family": "",
              "lc-font-style": "",
              "lc-bkg-color": "",
              "lc-color": "",
              "lc-border-width": "0",
              "lc-border-style": "",
              "lc-border-color": "",
              "lc-border-radius": 10,
              "lc-zindex": 0
            },
            "style": {
              "left": "332px",
              "top": "358px",
              "width": "312px",
              "height": "294px",
              "z-index": "30"
            },
            "widgetSet": "plumb"
          },
          "e00006": {
            "tpl": "tplImage",
            "data": {
              "g_fixed": false,
              "g_visibility": false,
              "g_css_font_text": false,
              "g_css_background": false,
              "g_css_shadow_padding": false,
              "g_css_border": false,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "refreshInterval": "0",
              "signals-cond-0": "==",
              "signals-val-0": true,
              "signals-icon-0": "/vis/signals/lowbattery.png",
              "signals-icon-size-0": 0,
              "signals-blink-0": false,
              "signals-horz-0": 0,
              "signals-vert-0": 0,
              "signals-hide-edit-0": false,
              "signals-cond-1": "==",
              "signals-val-1": true,
              "signals-icon-1": "/vis/signals/lowbattery.png",
              "signals-icon-size-1": 0,
              "signals-blink-1": false,
              "signals-horz-1": 0,
              "signals-vert-1": 0,
              "signals-hide-edit-1": false,
              "signals-cond-2": "==",
              "signals-val-2": true,
              "signals-icon-2": "/vis/signals/lowbattery.png",
              "signals-icon-size-2": 0,
              "signals-blink-2": false,
              "signals-horz-2": 0,
              "signals-vert-2": 0,
              "signals-hide-edit-2": false,
              "lc-type": "last-change",
              "lc-is-interval": true,
              "lc-is-moment": false,
              "lc-format": "",
              "lc-position-vert": "top",
              "lc-position-horz": "right",
              "lc-offset-vert": 0,
              "lc-offset-horz": 0,
              "lc-font-size": "12px",
              "lc-font-family": "",
              "lc-font-style": "",
              "lc-bkg-color": "",
              "lc-color": "",
              "lc-border-width": "0",
              "lc-border-style": "",
              "lc-border-color": "",
              "lc-border-radius": 10,
              "lc-zindex": 0,
              "src": "/vis.0/main/img/zisterne1.png"
            },
            "style": {
              "left": "251px",
              "top": "208px",
              "width": "453px",
              "height": "573px",
              "z-index": "1"
            },
            "widgetSet": "basic"
          },
          "e00007": {
            "tpl": "tplCGradialGauge",
            "data": {
              "g_fixed": false,
              "g_visibility": false,
              "g_css_font_text": false,
              "g_css_background": false,
              "g_css_shadow_padding": false,
              "g_css_border": false,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "factor": "1",
              "valueOffset": "0",
              "hCount": "10",
              "minorTicks": "6",
              "animation": "true",
              "needle": "true",
              "needleShadow": "true",
              "needleType": "line",
              "valueBox": "false",
              "ticksAngle": "270",
              "startAngle": "45",
              "signals-cond-0": "==",
              "signals-val-0": true,
              "signals-icon-0": "/vis/signals/lowbattery.png",
              "signals-icon-size-0": 0,
              "signals-blink-0": false,
              "signals-horz-0": 0,
              "signals-vert-0": 0,
              "signals-hide-edit-0": false,
              "signals-cond-1": "==",
              "signals-val-1": true,
              "signals-icon-1": "/vis/signals/lowbattery.png",
              "signals-icon-size-1": 0,
              "signals-blink-1": false,
              "signals-horz-1": 0,
              "signals-vert-1": 0,
              "signals-hide-edit-1": false,
              "signals-cond-2": "==",
              "signals-val-2": true,
              "signals-icon-2": "/vis/signals/lowbattery.png",
              "signals-icon-size-2": 0,
              "signals-blink-2": false,
              "signals-horz-2": 0,
              "signals-vert-2": 0,
              "signals-hide-edit-2": false,
              "lc-type": "last-change",
              "lc-is-interval": true,
              "lc-is-moment": false,
              "lc-format": "",
              "lc-position-vert": "top",
              "lc-position-horz": "right",
              "lc-offset-vert": 0,
              "lc-offset-horz": 0,
              "lc-font-size": "12px",
              "lc-font-family": "",
              "lc-font-style": "",
              "lc-bkg-color": "",
              "lc-color": "",
              "lc-border-width": "0",
              "lc-border-style": "",
              "lc-border-color": "",
              "lc-border-radius": 10,
              "lc-zindex": 0,
              "oid": "mqtt.0.ESPEasy3_3.dummy.Inhalt",
              "minValue": "0",
              "maxValue": "7000",
              "units": "Liter",
              "title": "Zisterne",
              "highlightsFrom1": "0",
              "highlightsTo1": "600",
              "highlightsColor1": "#56c1eb",
              "highlightsFrom2": "600",
              "highlightsTo2": "1200",
              "highlightsColor2": "#b2e46c",
              "highlightsFrom3": "1200",
              "highlightsTo3": "1800",
              "highlightsColor3": "#f59b7f",
              "animationRule": "cycle",
              "animationDuration": "400",
              "animatedValue": true,
              "animateOnInit": true,
              "animationTarget": "needle",
              "colorValueBoxBackground": "transparent",
              "colorTitle": "transparent",
              "colorBorderOuter": "transparent",
              "colorBorderOuterEnd": "transparent",
              "colorValueBoxRect": "transparent",
              "colorValueBoxRectEnd": "transparent",
              "colorValueBoxShadow": "",
              "colorPlate": "transparent",
              "colorPlateEnd": "",
              "fontNumbers": "",
              "fontUnits": "",
              "fontValue": "",
              "colorNeedleCircleOuter": "",
              "colorNeedleCircleOuterEnd": "",
              "colorNeedleCircleInner": "",
              "colorNeedleCircleInnerEnd": "",
              "needleCircleInner": false,
              "needleCircleOuter": false,
              "fontUnitsSize": "30",
              "fontValueSize": "50px",
              "fontTitleSize": "",
              "fontNumbersStyle": "normal",
              "fontUnitsStyle": "normal",
              "fontValueStyle": "normal",
              "fontNumbersWeight": "normal",
              "fontNumbersSize": "",
              "fontTitleStyle": "normal",
              "fontUnitsWeight": "50px",
              "fontTitleWeight": "",
              "fontValueWeight": "50px",
              "colorUnits": "#fcfffa",
              "colorNumbers": "#fcfffa",
              "majorTicksInt": "20",
              "majorTicksDec": "20",
              "strokeTicks": true,
              "needleStart": "",
              "needleEnd": "",
              "needleWidth": "",
              "colorNeedle": "#fcfffa",
              "colorNeedleEnd": "#cb1010",
              "colorMajorTicks": "",
              "colorValueText": "#fcfffa",
              "g_borders": true,
              "borders": "true",
              "borderOuterWidth": "",
              "borderMiddleWidth": "",
              "borderInnerWidth": "",
              "borderShadowWidth": "",
              "colorBorderShadow": "transparent",
              "colorBorderInner": "transparent",
              "colorBorderInnerEnd": "transparent",
              "colorMinorTicks": "",
              "colorValueTextShadow": "transparent",
              "colorBorderMiddle": "transparent",
              "colorBorderMiddleEnd": "transparent",
              "highlightsFrom4": "1800",
              "highlightsTo4": "2400",
              "highlightsColor4": "#e84f4f",
              "highlightsFrom5": "2400",
              "highlightsTo5": "3000",
              "highlightsColor5": "#5f0707",
              "highlightsFrom6": "3000",
              "highlightsTo6": "3600",
              "highlightsFrom7": "3600",
              "highlightsTo7": "4200",
              "highlightsFrom8": "4200",
              "highlightsTo8": "4800",
              "highlightsFrom9": "4800",
              "highlightsTo9": "5400",
              "highlightsFrom10": "5400",
              "highlightsTo10": "7000",
              "highlightsColor10": "#7edc50",
              "highlightsColor9": "#7edc50",
              "highlightsColor8": "#7edc50",
              "highlightsColor7": "#7edc50",
              "highlightsColor6": "#99dc50"
            },
            "style": {
              "left": "281px",
              "top": "750px",
              "width": "200px",
              "height": "200px",
              "z-index": "10"
            },
            "widgetSet": "canvas-gauges"
          },
          "e00008": {
            "tpl": "tplCGradialGauge",
            "data": {
              "g_fixed": false,
              "g_visibility": false,
              "g_css_font_text": false,
              "g_css_background": false,
              "g_css_shadow_padding": false,
              "g_css_border": false,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "factor": "1",
              "valueOffset": "0",
              "hCount": "10",
              "minorTicks": "6",
              "animation": "true",
              "needle": "true",
              "needleShadow": "true",
              "needleType": "line",
              "valueBox": "false",
              "ticksAngle": "270",
              "startAngle": "45",
              "signals-cond-0": "==",
              "signals-val-0": true,
              "signals-icon-0": "/vis/signals/lowbattery.png",
              "signals-icon-size-0": 0,
              "signals-blink-0": false,
              "signals-horz-0": 0,
              "signals-vert-0": 0,
              "signals-hide-edit-0": false,
              "signals-cond-1": "==",
              "signals-val-1": true,
              "signals-icon-1": "/vis/signals/lowbattery.png",
              "signals-icon-size-1": 0,
              "signals-blink-1": false,
              "signals-horz-1": 0,
              "signals-vert-1": 0,
              "signals-hide-edit-1": false,
              "signals-cond-2": "==",
              "signals-val-2": true,
              "signals-icon-2": "/vis/signals/lowbattery.png",
              "signals-icon-size-2": 0,
              "signals-blink-2": false,
              "signals-horz-2": 0,
              "signals-vert-2": 0,
              "signals-hide-edit-2": false,
              "lc-type": "last-change",
              "lc-is-interval": true,
              "lc-is-moment": false,
              "lc-format": "",
              "lc-position-vert": "top",
              "lc-position-horz": "right",
              "lc-offset-vert": 0,
              "lc-offset-horz": 0,
              "lc-font-size": "12px",
              "lc-font-family": "",
              "lc-font-style": "",
              "lc-bkg-color": "",
              "lc-color": "",
              "lc-border-width": "0",
              "lc-border-style": "",
              "lc-border-color": "",
              "lc-border-radius": 10,
              "lc-zindex": 0,
              "oid": "mqtt.0.ESPEasy3_3.dummy.Prozent",
              "minValue": "0",
              "maxValue": "130",
              "units": "Prozent",
              "title": "Zisterne",
              "highlightsFrom1": "0",
              "highlightsTo1": "10",
              "highlightsColor1": "#56c1eb",
              "highlightsFrom2": "10",
              "highlightsTo2": "20",
              "highlightsColor2": "#b2e46c",
              "highlightsFrom3": "20",
              "highlightsTo3": "30",
              "highlightsColor3": "#f59b7f",
              "animationRule": "cycle",
              "animationDuration": "400",
              "animatedValue": true,
              "animateOnInit": true,
              "animationTarget": "needle",
              "colorValueBoxBackground": "transparent",
              "colorTitle": "transparent",
              "colorBorderOuter": "transparent",
              "colorBorderOuterEnd": "transparent",
              "colorValueBoxRect": "transparent",
              "colorValueBoxRectEnd": "transparent",
              "colorValueBoxShadow": "",
              "colorPlate": "transparent",
              "colorPlateEnd": "",
              "fontNumbers": "",
              "fontUnits": "",
              "fontValue": "",
              "colorNeedleCircleOuter": "",
              "colorNeedleCircleOuterEnd": "",
              "colorNeedleCircleInner": "",
              "colorNeedleCircleInnerEnd": "",
              "needleCircleInner": false,
              "needleCircleOuter": false,
              "fontUnitsSize": "30",
              "fontValueSize": "50px",
              "fontTitleSize": "",
              "fontNumbersStyle": "normal",
              "fontUnitsStyle": "normal",
              "fontValueStyle": "normal",
              "fontNumbersWeight": "normal",
              "fontNumbersSize": "",
              "fontTitleStyle": "normal",
              "fontUnitsWeight": "50px",
              "fontTitleWeight": "",
              "fontValueWeight": "50px",
              "colorUnits": "#fcfffa",
              "colorNumbers": "#fcfffa",
              "majorTicksInt": "20",
              "majorTicksDec": "20",
              "strokeTicks": true,
              "needleStart": "",
              "needleEnd": "",
              "needleWidth": "",
              "colorNeedle": "#fcfffa",
              "colorNeedleEnd": "#cb1010",
              "colorMajorTicks": "",
              "colorValueText": "#fcfffa",
              "g_borders": true,
              "borders": "true",
              "borderOuterWidth": "",
              "borderMiddleWidth": "",
              "borderInnerWidth": "",
              "borderShadowWidth": "",
              "colorBorderShadow": "transparent",
              "colorBorderInner": "transparent",
              "colorBorderInnerEnd": "transparent",
              "colorMinorTicks": "",
              "colorValueTextShadow": "transparent",
              "colorBorderMiddle": "transparent",
              "colorBorderMiddleEnd": "transparent",
              "highlightsFrom4": "30",
              "highlightsTo4": "40",
              "highlightsColor4": "#e84f4f",
              "highlightsFrom5": "40",
              "highlightsTo5": "50",
              "highlightsColor5": "#5f0707",
              "highlightsFrom6": "50",
              "highlightsTo6": "60",
              "highlightsFrom7": "60",
              "highlightsTo7": "70",
              "highlightsFrom8": "70",
              "highlightsTo8": "80",
              "highlightsFrom9": "80",
              "highlightsTo9": "90",
              "highlightsFrom10": "90",
              "highlightsTo10": "130",
              "highlightsColor10": "#7edc50",
              "highlightsColor9": "#7edc50",
              "highlightsColor8": "#7edc50",
              "highlightsColor7": "#7edc50",
              "highlightsColor6": "#99dc50"
            },
            "style": {
              "left": "496px",
              "top": "750px",
              "width": "200px",
              "height": "200px",
              "z-index": "18"
            },
            "widgetSet": "canvas-gauges"
          },
          "e00009": {
            "tpl": "tplHqOdometer",
            "data": {
              "oid": "mqtt.0.ESPEasy3_3.dummy.Inhalt",
              "g_fixed": true,
              "g_visibility": false,
              "g_css_font_text": true,
              "g_css_background": false,
              "g_css_shadow_padding": false,
              "g_css_border": false,
              "g_gestures": false,
              "g_signals": false,
              "style": "car",
              "format": "(ddddd),dd",
              "factor": "1",
              "leadingZeros": "true",
              "signals-cond-0": "==",
              "signals-val-0": true,
              "signals-icon-0": "/vis/signals/lowbattery.png",
              "signals-icon-size-0": 0,
              "signals-blink-0": false,
              "signals-horz-0": 0,
              "signals-vert-0": 0,
              "signals-hide-edit-0": false,
              "signals-cond-1": "==",
              "signals-val-1": true,
              "signals-icon-1": "/vis/signals/lowbattery.png",
              "signals-icon-size-1": 0,
              "signals-blink-1": false,
              "signals-horz-1": 0,
              "signals-vert-1": 0,
              "signals-hide-edit-1": false,
              "signals-cond-2": "==",
              "signals-val-2": true,
              "signals-icon-2": "/vis/signals/lowbattery.png",
              "signals-icon-size-2": 0,
              "signals-blink-2": false,
              "signals-horz-2": 0,
              "signals-vert-2": 0,
              "signals-hide-edit-2": false,
              "name": "Liter",
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "lc-type": "last-change",
              "lc-is-interval": true,
              "lc-is-moment": false,
              "lc-format": "",
              "lc-position-vert": "top",
              "lc-position-horz": "right",
              "lc-offset-vert": 0,
              "lc-offset-horz": 0,
              "lc-font-size": "12px",
              "lc-font-family": "",
              "lc-font-style": "",
              "lc-bkg-color": "",
              "lc-color": "",
              "lc-border-width": "0",
              "lc-border-style": "",
              "lc-border-color": "",
              "lc-border-radius": 10,
              "lc-zindex": 0,
              "g_extended": true
            },
            "style": {
              "left": "307.015625px",
              "top": "961px",
              "width": "162px",
              "height": "37px",
              "z-index": "2"
            },
            "widgetSet": "hqwidgets"
          },
          "e00010": {
            "tpl": "tplHqOdometer",
            "data": {
              "oid": "mqtt.0.ESPEasy3_3.dummy.Prozent",
              "g_fixed": true,
              "g_visibility": false,
              "g_css_font_text": true,
              "g_css_background": false,
              "g_css_shadow_padding": false,
              "g_css_border": false,
              "g_gestures": false,
              "g_signals": false,
              "style": "car",
              "format": "(ddddd),dd",
              "factor": "1",
              "leadingZeros": "true",
              "signals-cond-0": "==",
              "signals-val-0": true,
              "signals-icon-0": "/vis/signals/lowbattery.png",
              "signals-icon-size-0": 0,
              "signals-blink-0": false,
              "signals-horz-0": 0,
              "signals-vert-0": 0,
              "signals-hide-edit-0": false,
              "signals-cond-1": "==",
              "signals-val-1": true,
              "signals-icon-1": "/vis/signals/lowbattery.png",
              "signals-icon-size-1": 0,
              "signals-blink-1": false,
              "signals-horz-1": 0,
              "signals-vert-1": 0,
              "signals-hide-edit-1": false,
              "signals-cond-2": "==",
              "signals-val-2": true,
              "signals-icon-2": "/vis/signals/lowbattery.png",
              "signals-icon-size-2": 0,
              "signals-blink-2": false,
              "signals-horz-2": 0,
              "signals-vert-2": 0,
              "signals-hide-edit-2": false,
              "name": "Liter",
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "lc-type": "last-change",
              "lc-is-interval": true,
              "lc-is-moment": false,
              "lc-format": "",
              "lc-position-vert": "top",
              "lc-position-horz": "right",
              "lc-offset-vert": 0,
              "lc-offset-horz": 0,
              "lc-font-size": "12px",
              "lc-font-family": "",
              "lc-font-style": "",
              "lc-bkg-color": "",
              "lc-color": "",
              "lc-border-width": "0",
              "lc-border-style": "",
              "lc-border-color": "",
              "lc-border-radius": 10,
              "lc-zindex": 0,
              "g_extended": true
            },
            "style": {
              "left": "516px",
              "top": "961px",
              "width": "162px",
              "height": "37px",
              "z-index": "2"
            },
            "widgetSet": "hqwidgets"
          },
          "e00011": {
            "tpl": "tplContainerView",
            "data": {
              "g_fixed": false,
              "g_visibility": false,
              "g_css_font_text": false,
              "g_css_background": false,
              "g_css_shadow_padding": false,
              "g_css_border": false,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "signals-cond-0": "==",
              "signals-val-0": true,
              "signals-icon-0": "/vis/signals/lowbattery.png",
              "signals-icon-size-0": 0,
              "signals-blink-0": false,
              "signals-horz-0": 0,
              "signals-vert-0": 0,
              "signals-hide-edit-0": false,
              "signals-cond-1": "==",
              "signals-val-1": true,
              "signals-icon-1": "/vis/signals/lowbattery.png",
              "signals-icon-size-1": 0,
              "signals-blink-1": false,
              "signals-horz-1": 0,
              "signals-vert-1": 0,
              "signals-hide-edit-1": false,
              "signals-cond-2": "==",
              "signals-val-2": true,
              "signals-icon-2": "/vis/signals/lowbattery.png",
              "signals-icon-size-2": 0,
              "signals-blink-2": false,
              "signals-horz-2": 0,
              "signals-vert-2": 0,
              "signals-hide-edit-2": false,
              "lc-type": "last-change",
              "lc-is-interval": true,
              "lc-is-moment": false,
              "lc-format": "",
              "lc-position-vert": "top",
              "lc-position-horz": "right",
              "lc-offset-vert": 0,
              "lc-offset-horz": 0,
              "lc-font-size": "12px",
              "lc-font-family": "",
              "lc-font-style": "",
              "lc-bkg-color": "",
              "lc-color": "",
              "lc-border-width": "0",
              "lc-border-style": "",
              "lc-border-color": "",
              "lc-border-radius": 10,
              "lc-zindex": 0,
              "contains_view": "348_ueberschrift"
            },
            "style": {
              "left": "245px",
              "top": "12px",
              "width": "1350px",
              "height": "180px",
              "z-index": "20"
            },
            "widgetSet": "basic"
          }
        },
        "name": "365_zisterne",
        "filterList": []
      }
      

      Wenn noch etwas benötigt wird, einfach melden. Habe die Widgets für Navi und Überschrift nicht mitgeliefert. Wenn Du sie benötigst, dann bitte melden. Bei der Zisterne liegen zwei Widgets übereinander, bitte die Gruppen auflösen.

      L F 2 Replies Last reply Reply Quote 0
      • L
        ltathome @opossum last edited by ltathome

        @opossum said in Füllstandsmessung per Pegelsonde.:

        [EDIT:] Danke - es fehlt noch das Image von der Zisterne. Die Gauge-Widget sind besser als das jqplot. -> Hab eins gefunden

        Zisterne.png
        Auch sehr schön - für die Sektoren kann ich jetzt schön über bindings die Grenzen aus meinen mqtt-states einstellen:

        zisterne.png

        und:
        zisterne1.png

        1 Reply Last reply Reply Quote 0
        • Eisbaeeer
          Eisbaeeer Developer @ltathome last edited by

          @ltathome Hi. Ich will deine Änderung 😉 Kannst du einen pull-request machen? Oder wenn das zuviel ist, kannst du die Änderungen im Code markieren?
          Grüße Eisbaeeer

          1 Reply Last reply Reply Quote 0
          • L
            ltathome last edited by ltathome

            Hi - das Thema pull-Request hatten wir neulich schon mal auch per Chat - hatten wir dann nicht weiterverfolgt. Ich hab dir hier den diff beigepackt: patch.diff

            und kann dir gerne helfen die wichtigen Stellen zu erklären - melde dich halt.

            Grundsätzlich folgendes angepackt:
            einen Pin (PIN 2) als Input-Pin deklariert:

            #define MODE_PIN 2
            #define MODE_ZISTERNE 0
            #define MODE_HAUSWASSER 1
            #define MODE_AUTO 2
            #define MODE_COUNT 10
            bool setmode = false;
            const char *modes[] = {"Zisterne", "Hauswasser", "Auto"};
            int mode_count = MODE_COUNT;
            int mode = MODE_AUTO;
            int old_mode = MODE_AUTO;
            int pin_stat;
            int old_stat;
            

            der wird im loop auf Low/high-Übergänge geprüft und mit erstem auslösen setzt sich das System in einen "Mode-Change" Modus für 10 sekunden, in dem jeder weitere Übergang die Modi durchschaltet und den Countdown wieder auf 10 Sekunden setzt (damit das nicht prellt, zwischen den Übergängen 200ms delay:

                pin_stat = digitalRead(MODE_PIN);
                pinMillis = millis();
                if (pin_stat == LOW) {
                    if (pinMillis - lastMillis > 200) {
                        //USE_SERIAL.println("Impuls Low");
                        lastMillis = pinMillis;
                        mode_count = MODE_COUNT;
                        if (!setmode) {
                            setmode = true;
                            old_mode = mode;
                            //sprintf(buf, "Enter Settings-Mode %d (%s)", mode, modes[mode]);
                            //USE_SERIAL.println(buf);
                        } else {
                            mode--;
                            if (mode < 0) {
                                mode = 2;
                            }
                            //sprintf(buf, "Mode change to %d (%s)", mode, modes[mode]);
                            //USE_SERIAL.println(buf);
                        }
                    }
                }
            

            Wenn im Settingsmodus - den Zähler runterzählen und sonst die entscheidung treffen, ob das Ventil umzuschalten ist (Limits)

                    if (setmode) {
                        mode_count--;
                        if (mode_count <= 0) {
                            //sprintf(buf, "leaving Settings-Mode - change from %d to %d (%s)", old_mode, mode, modes[mode]);
                            //USE_SERIAL.println(buf);
                            old_mode = mode;
                            setmode = false;
                        }
                    }
                    if (!setmode) {
                        if (mode == MODE_ZISTERNE) {
                            new_valve = VALVE_ZISTERNE;
                            reason = 0;
                        } else if (mode == MODE_HAUSWASSER) {
                            new_valve = VALVE_HAUSWASSER;
                            reason = 0;
                        } else if (mode == MODE_AUTO) {
                            if (liter >= limit_high) {
                                new_valve = VALVE_ZISTERNE;
                                reason = 1;
                            }
                            if (liter <= limit_low) {
                                new_valve = VALVE_HAUSWASSER;
                                reason = 2;
                            }
                        }
                    }
                    /*-----------------------------------------------------------
                     * Wenn Ventil umzuschalten ist
                    */
                    if (new_valve != valve) {
                        valve = new_valve;
                        digitalWrite(VALVE_PIN, valve);
                        //sprintf(buf, "Set Valve to %s (%s)", valves[valve], reasons[reason]);
                        //USE_SERIAL.println(buf);
                    }
            

            Einen PIN (3) als Ausgang für das Ventil-Relais:

            
            #define VALVE_PIN 3
            #define VALVE_ZISTERNE LOW
            #define VALVE_HAUSWASSER HIGH
            int valve = VALVE_ZISTERNE;
            int new_valve = VALVE_ZISTERNE;
            int reason = 0;
            const char *valves[] = {"Zisterne", "Hauswasser"};
            const char *reasons[] = {"manuelle Steuerung", "Automatik voll", "Automatik leer"};
            
            

            Die MQTT-Publishes erweitert:

            void Mqttpublish(void) {
                    if (mqttclient.connected()) {
                        dtostrf(analog, 5, 2, buf);
                        mqttclient.publish("Zisterne/Analog", buf);
                        dtostrf(liter, 5, 0, buf);
                        mqttclient.publish("Zisterne/Liter", buf);
                        dtostrf(limit_low, 1, 0, buf);
                        mqttclient.publish("Zisterne/LiterLow", buf);
                        dtostrf(limit_high, 1, 0, buf);
                        mqttclient.publish("Zisterne/LiterHigh", buf);
                        dtostrf(percent, 5, 0, buf);
                        mqttclient.publish("Zisterne/Prozent", buf);
                        
                        if (mode == 2) {
                            mqttclient.publish("Zisterne/Modus", "Auto");
                        } else {
                            mqttclient.publish("Zisterne/Modus", "Manuell");          
                        }
                        dtostrf(mode, 1, 0, buf);
                        mqttclient.publish("Zisterne/Mode", buf);
                        dtostrf(valve, 1, 0, buf);
                        mqttclient.publish("Zisterne/Valve", buf);
                        mqttclient.publish("Zisterne/Ventil", valves[valve]);
                
                        // System
                        mqttclient.publish("Zisterne/Uptime", uptime);
                    } else {
                        MqttConnect(mqttuser, mqttpass);  
                    }
                }
            

            und natürlich den Subscribe eingebaut:

            
            
            void MqttConnect(char *user, char* pass) {
            
                mqttclient.setClient(ethClient);
                mqttclient.setServer(mqttserver, mqttport);
                mqttclient.setCallback(MqttCallback);
                
                mqttconnected = mqttclient.connect(MQTT_ID, user, pass);
                if (mqttconnected) {
                    // USE_SERIAL.println("Connected to Mqtt-Server");
                    mqttclient.subscribe("Zisterne/cmnd/Mode");
                    mqttclient.subscribe("Zisterne/cmnd/Limit");
                    mqttclient.subscribe("Zisterne/Mode");
                    // USE_SERIAL.println("subscribing to Zisterne/cmnd/Mode");
                }
            }
            
            

            sowie den Callback definiert:

            
            void MqttCallback(char *topic, byte *payload, unsigned int length) {
                char *payloadvalue;
                char *payloadkey;
            
                payload[length] = '\0';
                payloadkey = (char *)&payload[0];
            
                // USE_SERIAL.println(payloadstring);
                if (strcmp(topic, "Zisterne/cmnd/Mode") == 0 || strcmp(topic, "Zisterne/Mode") == 0) {
                    if (strcmp(payloadkey, "0") == 0 || strcmp(payloadkey, "Zisterne") == 0) {
                        mode = MODE_ZISTERNE;
                    } else if (strcmp(payloadkey, "1") == 0 || strcmp(payloadkey, "Hauswasser") == 0) {
                        mode = MODE_HAUSWASSER;
                    } else if (strcmp(payloadkey, "2") == 0 || strcmp(payloadkey, "Auto") == 0) {
                        mode = MODE_AUTO;
                    }
                } else if (strcmp(topic, "Zisterne/cmnd/Limit") == 0) {
                    int eq = 0;
                    for (int i = 0; i < length; i++) {
                        if (payload[i] == '=') {
                            eq = i;
                            break;
                        }
                    }
                    if (eq > 0) {
                        payload[eq++] = 0;
                        payloadvalue = (char *)&payload[eq];
                        if (strcmp((char *)payload, "Low") == 0 || strcmp((char *)payload, "low") == 0) {
                            limit_low = atoi(payloadvalue);
                        }
                        if (strcmp((char *)payload, "High") == 0 || strcmp((char *)payload, "high") == 0) {
                            limit_high = atoi(payloadvalue);
                        }
                    }
                }
            }
            

            wie gesagt - melde dich, wenn ich helfen kann/soll.

            Eisbaeeer 1 Reply Last reply Reply Quote 0
            • M
              Maze77 last edited by

              Hallo Zusammen,

              nachdem mich das "Wasserproblem" bei meinem Homematic Sender auch ereilt hat, bin ich nach langer Recherche nun auch hier gelandet 🙂

              Vorweg schon einmal danke für die geleistete Arbeit und die Bereitstellung der Informationen.

              Nachdem mir für die Überwachung des Füllstandes der Zisterne professionelle Lösungen ala W&T einfach zu teuer sind und auch über das Ziel hinausschießen, werde ich mich nun auch mit them Thema Arduino/ESP beschäftigen müssen 😉

              @Eisbaeeer So wie es aussieht, gibt es passen zu den Nano-Board Clonen keine W5100 Ethernet Shields mehr / derzeit.

              Deswegen werde ich mein "Glück" mit einem Arduino MKR 1000 versuchen und das ganze per WLAN einbinden. Eventuell werde ich dass später mal auf LAN ändern und den MKR woanders einsetzen.

              Die Drucksonde und das Strom-2-Spannungs-Board sind jetzt erstmal ne Weile unterwegs. Schade eigentlich, das man keine Sonden in Europa unter 200€ bekommt 😞

              Wie sind die Erfahrungen mit dem MT3608 Step-up Board?
              Der MKR läuft ja "nur" auf 3.3V. Muss mal sehen wie zuverlässig ich das angehoben bekomme um den Sensor stabil zu betreiben.
              Wie die Auflösung der Analogen Inputs dann im Zusammenspiel mit dem Sensor und A2V Board sind, wird sich zeigen.
              Da ich von den 5m auch nur um die 2.3m benötige, werde ich hier auch Jumper seitig rumspielen, dass ich bei meinem maximalen Füllstand an die 3.3V des Boards ran komme.

              Hat vielleicht jemand bereits Erfahrungen mit dem MKR1000 Board gemacht?
              Für mich ist die Arduino-Welt Neuland, aber nichts, wo man sich nicht hinein arbeiten kann 🙂

              @Eisbaeeer Ich würde mein Sketch gerne auf deinem Sketch aufbauen und mir Code-Schnipsel von dort "klauen" 🙂 Hoffe das ist für Dich in Ordnung.

              Soweit erstmal und Grüße vom Bodensee,
              Maze

              Eisbaeeer 1 Reply Last reply Reply Quote 0
              • Eisbaeeer
                Eisbaeeer Developer @Maze77 last edited by

                @Maze77 sagte in Füllstandsmessung per Pegelsonde.:

                @Eisbaeeer Ich würde mein Sketch gerne auf deinem Sketch aufbauen und mir Code-Schnipsel von dort "klauen" 🙂 Hoffe das ist für Dich in Ordnung.

                Soweit erstmal und Grüße vom Bodensee,
                Maze

                Hi Maze
                Alles gut. Code liegt auf Github. Kannst ihn gerne abwandeln oder codeschnipsel verwenden. Wenn du Wifi nutzen willst, kann ich dir die NodeMCU oder ESP32 empfehlen. Günstig und richtig schnell. Mein Anspruch war eben Kabelgebunden.
                Gruß Eisbaeeer

                1 Reply Last reply Reply Quote 0
                • M
                  Maze77 last edited by

                  Danke schonmal 🙂

                  Hast du noch eine Bezugsquelle zu deinem Arduino-Clone und vorallem dem Ethernet Shield?
                  Hab nur Shields für den "Uno" von den Abmaßen gefunden.

                  Gruß
                  Maze

                  1 Reply Last reply Reply Quote 0
                  • Eisbaeeer
                    Eisbaeeer Developer @ltathome last edited by

                    @ltathome Da hast du mir ja ein paar Zeilen Code verheimlicht 😉
                    ABER der diff hat alles gerettet. Hab eben den Code aktualisiert und fehlerfrei compiliert. Werde ihn die nächsten Tage hoffentlich mal einspielen, testen und in Github hochladen.
                    Danke für die Anpassung.
                    Gruß Eisbaeeer

                    L 1 Reply Last reply Reply Quote 0
                    • E
                      ede70 @Eisbaeeer last edited by

                      @Eisbaeeer ich bekomme bei dem von dir angegebenen Wandler die 0V am linken Poti nicht kalibriert. Minimal kriege ca. 3V. Weniger geht nicht und man hört beim Weiterdrehen ein leises Klicken im Poti?
                      e6c99ea7-8909-4582-b962-c16339912678-grafik.png
                      Jumper sind beide gezogen.
                      Lötstellen habe ich "nachgelötet", dann das Modul ausgetauscht gg. ein baugleiches. Auf 0V komme ich nicht.
                      Deine Anleitung ist ja super, aber ich verzweifle langsam. Gibt es noch ein Tipp?

                      Vielen Dank für die Hilfe!
                      Torsten

                      Eisbaeeer 1 Reply Last reply Reply Quote 0
                      • Eisbaeeer
                        Eisbaeeer Developer @ede70 last edited by

                        @ede70 hab eben nochmals nachgeschaut. Deine Jumper sind richtig gesteckt. Welchen Wert hast du denn ohne Sonde?20200530_195133.jpg
                        Gruß Eisbaeeer

                        E 1 Reply Last reply Reply Quote 0
                        • E
                          ede70 @Eisbaeeer last edited by

                          @Eisbaeeer ca. 5,3V

                          1 Reply Last reply Reply Quote 0
                          • L
                            ltathome @Eisbaeeer last edited by

                            @Eisbaeeer said in Füllstandsmessung per Pegelsonde.:

                            @ltathome Da hast du mir ja ein paar Zeilen Code verheimlicht 😉
                            ABER der diff hat alles gerettet. Hab eben den Code aktualisiert und fehlerfrei compiliert. Werde ihn die nächsten Tage hoffentlich mal einspielen, testen und in Github hochladen.
                            Danke für die Anpassung.
                            Gruß Eisbaeeer

                            Ich hatte erwartet, dass klar ist, dass das nur die wesentlichen Ausschnitte waren - sorry.

                            Eisbaeeer 1 Reply Last reply Reply Quote 0
                            • Eisbaeeer
                              Eisbaeeer Developer @ltathome last edited by

                              @ltathome Kein Problem 😉 War nicht als Kritik gemeint!
                              Gruß

                              1 Reply Last reply Reply Quote 0
                              • M
                                Maze77 last edited by Maze77

                                Hallo Zusammen,

                                ich hatte jetzt auch mal ein wenig Zeit mir den Cdoe anzusehen.

                                Meiner Hardware ist folgende:

                                Ardunio MKR 1000
                                LCD 2x16

                                Drucksonde, DC-DC-Step Up und Messbrücke kommen noch.

                                Nachdem ich mich erst einmal in das Thema einarbeiten musste, bin ich jetzt soweit, dass der Code angepasst auf meine WiFi Verbindung und das 16x2 Display läuft.

                                Die Messwerte habe ich mittels Poti simuliert.

                                Hierbei ist mir ein Fehler in deinem Skript aufgefallen @Eisbaeeer und zwar bei der Glättung des Analogen Messwertes.
                                Der Fehler fällt bei deinen 60 Messungen nicht wirklich stark ins Gewicht, aber er ist da 🙂 Bei 2 Messungen liegst du um 100% daneben. Du hast vergessen den Wert "fuel" wieder zu resetten. Somit addierst du auf den alten Wert die neuen hinzu. Der Fehler liegt somit bei (messungen+ 1) / (messungen).
                                Die eine Zeile im Code behebt den Fehler.

                                    // Werte aufaddieren
                                        fuel = 0; // Initialisierung HINZUGEFÜGT, da Berechnung sonst falsch
                                        for (int i = 0; i < messungen; i++)
                                          {
                                           fuel = fuel + myArray[i];
                                          }
                                        // Summe durch Anzahl
                                           fuel = fuel / messungen;
                                

                                Dann Frage ich mich, warum du die Prozentzahl so "seltsam" berechnest.

                                    percent = fuel * 0.132;
                                

                                Du gibts in dem Skript doch den maximalen Analog Wert an und hast den aktuellen vorliegen. Somit wäre folgender Code eigentlich richtig:

                                percent = fuel / analog_value * 100;
                                

                                Was mir noch aufgefallen ist, ist dass die Pointerschleife zuweit läuft:

                                    if ( pointer > messungen ) {
                                      pointer = 0;
                                    } else {
                                      pointer++;  
                                    }
                                

                                Bei dir mit zB messungen = 60 ginge der Pointer von 0 bis 60 was 61 Messpunkten entspricht. (die 0 nicht vergessen).

                                Was sehr schade an dem Code ist, ist der Umstand, dass er mittlerweile für ein 20x4 LCD geschrieben ist. In deiner Teile List und auch im Header vom Code stehen 16x2, was vielleicht den ein oder anderen zum "Fehlkauf" verleitet 😉

                                Aber im Großen und Ganzen läuft der Code und die Kommunikation zu meinem IP-Symcon MQTT Server funktioniert auch 1A.

                                Sobald der Drucksensor kommt sollte sich somit das Zisternenüberwachungsproblem erledigt haben 🙂

                                Danke nochmal und Gruß
                                Maze

                                PS:
                                Beim Arduino MKR können die Analogen Inputs mit bis zu 12Bit ausgelesen werden (0-4095).

                                Eisbaeeer L 2 Replies Last reply Reply Quote 0
                                • Eisbaeeer
                                  Eisbaeeer Developer @Maze77 last edited by

                                  @Maze77 Hi Maze
                                  Du hast dann aber nicht meinen Code von github verwendet!? Der ist und bleibt für ein zweizeiliges Display. Die Änderung auf ein 4 zeiliges ist dort nicht drin. Ich habe inzwischen schon ein paar Änderungen aber noch nicht gepusht. Ich schaue mir deine erwähnten Stellen noch an und fixe das.
                                  Gruß Eisbaeeer

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    Maze77 @Eisbaeeer last edited by Maze77

                                    @Eisbaeeer

                                    Ich dachte schon, dass es der richtige Code aus Git ist.

                                    Header war von Dir und die Version war 1.4.

                                    Ich schau aber nach, sobald ich am PC bin.

                                    edit:
                                    Den Sketch hatte ich von folgender Seite:

                                    https://github.com/Eisbaeeer/Arduino.Ethernet.Zisterne#abgleich

                                    edit2:
                                    Nur um das kurz Klarzustellen:
                                    Es läuft schon auf einem 16x2 LCD, aber die Uptime und nochwas werden auf Zeile 3/4 geschrieben und erscheinen somit natürlich nicht.

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      ltathome @Maze77 last edited by

                                      @Maze77 said in Füllstandsmessung per Pegelsonde.:

                                      Hierbei ist mir ein Fehler in deinem Skript aufgefallen @Eisbaeeer und zwar bei der Glättung des Analogen Messwertes.
                                      Der Fehler fällt bei deinen 60 Messungen nicht wirklich stark ins Gewicht, aber er ist da Bei 2 Messungen liegst du um 100% daneben. Du hast vergessen den Wert "fuel" wieder zu resetten. Somit addierst du auf den alten Wert die neuen hinzu. Der Fehler liegt somit bei (messungen+ 1) / (messungen).
                                      Die eine Zeile im Code behebt den Fehler.
                                      // Werte aufaddieren
                                      fuel = 0; // Initialisierung HINZUGEFÜGT, da Berechnung sonst falsch
                                      for (int i = 0; i < messungen; i++)
                                      {
                                      fuel = fuel + myArray[i];
                                      }
                                      // Summe durch Anzahl
                                      fuel = fuel / messungen;

                                      hui - das dürfte stimmen...
                                      @Eisbaeeer : meine Version im Diff hat zwar einen anderen Namen für die Variable aber noch den gleichen Fehler.

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        Maze77 last edited by Maze77

                                        Mal eine doofe Frage zu dem Bilin Strom zu Spannungswandler.

                                        Wenn ich den Wandler mit 24V speise ( auf GND und VCC) kann ich dann an dem Anschlussterminal für den Sensor (I- und I+) die 24V messen?

                                        ich habe nur 24V zwischen VCC und I- oder I+, aber keine Spannung zwischen beiden I polen.

                                        Somit bekomme ich auch keinen Strom vom Sensor.

                                        Wenn ich den Sensor direkt an 24V packe dann bekomme ich 4mA trocken und bei ca. 1.4m die 8mA.

                                        Ich scheine das Wandler Board noch nicht zu verstehen...

                                        Danke schonmal für Eure Anregungen.

                                        Maze

                                        edit:
                                        Hat sich erledigt. In @Eisbaeeer Anschluss Bild war es ersichtlich.
                                        Frage mich nur, warum meine Bridge da Anschlussterminals hat. Hätte man den Ground auch direkt auf I- legen können und das Terminal so auslegen, dass da eine Sonde direkt angeschlossen werden kann...

                                        1 Reply Last reply Reply Quote 0
                                        • Eisbaeeer
                                          Eisbaeeer Developer last edited by

                                          Heute mal viel gießen im Garten. Zisterne leer. Zeit für eine neue Version 😉
                                          Ich habe die Änderungen im Github mit einfließen lassen. Über MQTT sind jetzt dank @ltathome https://forum.iobroker.net/user/ltathome Grenzwerte setzbar. Das heisst ihr könnt Eure Frischwasser Nachspeisung oder Telegram oder was auch sonst mit einbauen. Wer noch Optimierungen findet, gerne hier posten. Der RAM ist ziemlich voll und ich hatte schon den ein oder anderen Hänger. Ich bin gespannt, wie lange die Uptime bei mir wird. Ihr findet den neuen Sketch wie immer in meinem Github: Zisterne
                                          Grüße Eisbaeeer

                                          Atifan 1 Reply Last reply Reply Quote 0
                                          • Atifan
                                            Atifan @Eisbaeeer last edited by Atifan

                                            Hi, möchte auch den Füllstand der Zisterne ermitteln und wenn zu wenig Wasser drin ist über nen Sonoff den Strom meines Hauswasserwerks abschalten, damit es nicht leer läuft.
                                            Habe jetzt schon mit Ultraschallsensor und TOF VL53L1X probiert, leider sind beide zu ungenau.
                                            Als nächstes wollte ich es mit diesem Füllstandsanzeiger probieren.
                                            Funktioniert das alles gut und lässt sich der Füllstand gut und genau ermitteln?
                                            Was brauch ich alles für Hardware?
                                            Füllstandssensor
                                            Stepup-Board
                                            Board das 4-20mA umwandelt in 0-5V
                                            Wemos D1 Mini
                                            fehlt noch was?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            63
                                            604
                                            163786
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo