pfSense Integration

I upgraded PFsense to 23.01 from 22.05, I had a heap off errors appearing / crash dumps. I assumed something went wrong with the upgrade and rolled back, however after googling the logs after I rolled back, I suspect this integration was causing them?.. just a guess.

see netgate forum post.

Mostly tracking new version errors here: Compatibility with PfSense 2.7.0 alpha · Issue #123 · travisghansen/hass-pfsense · GitHub

Some have been resolved some I cannot reproduce currently so any help is appreciated.

2 Likes

Hi, love this integration, was a game changer for me for system monitoring…! Thank you!

Since the past couple of weeks the only time interface RTT and loss, in and out bandwidth, and openvpn server connections update is when the integration is first loaded or restarted. Maybe other stuff too but thats what I monitor.

Host metrics like cpu%, load, and Temp are fine. Firewall hasn’t changed at all, and I rebooted it just in case. Do you have any thoughts on what I might change in HA to get it working again? I think it started after upgrade to 2023.2.1. pfsense 2.6 on metal.

Thanks

Hi,
I´m struggeling with the device_tracker option, and no matter what values I´m using, it´s always a “home-unavailabkle-not_home” thing the whole day (see picture).

What values are you guys using? Have you adjusted the “net.link.ether.inet.max_age” on the pfsense and got better results?

Thanks for help,
Philipp

Do you see any hass errors? Did you up the max processes?

Hi All / @travisghansen .

No doubt you’ve seen the latest security disclosure, …
https://community.home-assistant.io/t/disclosure-supervisor-security-vulnerability

Out of interest, how are credentials stored? plain text? some sort of encryption ? … this vulnerability allowed remote access/ owning the system. Any system using external access could have been compromised.

I’m going to change every password anyway, and consider not exposing HA at all anymore, but just curious how it works as this is the only integration I use that has an admin login.

Unfortunately, I found it in plain text in…

/config/.storage/core.config_entries

Everyone should change user credentials just to be on the safe side…(after the HA patch)

Just wanted to say THANKYOU for this integration. Amazing community here.
This enabled me to setup an automation to give control of internet time back to my child.
They can start and Pause here internet time via the UI.
My wife and I can also easily add and remove time via Home Assistant.



NodeRed Flow

[{"id":"bb09d6cac70a7390","type":"tab","label":"Internet timer","disabled":false,"info":"","env":[]},{"id":"76dc725016655d9f","type":"group","z":"bb09d6cac70a7390","name":"Manage Internet Access","style":{"label":true},"nodes":["9628e7936e76690d","c162428e7ecb5caa","9263895f5aad46ae","db99c983b054ec7f","b1d9bed5b650cbed","de0f5ce631c64f33","0739c62cd967450d"],"x":1454,"y":159,"w":652,"h":202},{"id":"3f7fb84d0529290f","type":"junction","z":"bb09d6cac70a7390","x":1180,"y":760,"wires":[[]]},{"id":"9628e7936e76690d","type":"junction","z":"bb09d6cac70a7390","g":"76dc725016655d9f","x":1480,"y":280,"wires":[["9263895f5aad46ae"]]},{"id":"76795b741ffe10c8","type":"ui_gauge","z":"bb09d6cac70a7390","name":"Minutes Remaining Guage","group":"c50fec45.1c008","order":0,"width":0,"height":0,"gtype":"gage","title":"Minutes Remaining","label":"Minutes","format":"{{value}}","min":0,"max":"60","colors":["#ff0000","#e6e600","#00ff80"],"seg1":"","seg2":"","diff":false,"className":"","x":2120,"y":700,"wires":[]},{"id":"e4ada3ae82eea590","type":"function","z":"bb09d6cac70a7390","name":"Increment by 10","func":"msg.increment = 10;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1480,"y":700,"wires":[["3fa3fd799207d51b"]]},{"id":"652d84d963dc81b2","type":"function","z":"bb09d6cac70a7390","name":"Reset","func":"msg.reset = true;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1450,"y":640,"wires":[["3fa3fd799207d51b"]]},{"id":"f8e21aae820ece4a","type":"function","z":"bb09d6cac70a7390","name":"Decrement by 1","func":"msg.decrement = 1;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1480,"y":520,"wires":[["3fa3fd799207d51b"]]},{"id":"3fa3fd799207d51b","type":"counter","z":"bb09d6cac70a7390","name":"","init":"60","step":1,"lower":"0","upper":"240","mode":"increment","outputs":"1","x":1660,"y":640,"wires":[["68d997c11064a865"]]},{"id":"68d997c11064a865","type":"function","z":"bb09d6cac70a7390","name":"count value","func":"msg.payload = msg.count;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1830,"y":640,"wires":[["76795b741ffe10c8","e63f7184.19c09","cdbf15a40b8ccdb8"]]},{"id":"760ed32d1a2f6f20","type":"change","z":"bb09d6cac70a7390","name":"Block","rules":[{"t":"set","p":"payload","pt":"msg","to":"off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":460,"wires":[["a7873f2f6567ebf1","95b043ab72270f43"]]},{"id":"a7873f2f6567ebf1","type":"traffic","z":"bb09d6cac70a7390","name":"Traffic Light","property_allow":"payload","filter_allow":"on","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"off","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":true,"differ":false,"x":1290,"y":520,"wires":[["f8e21aae820ece4a"]]},{"id":"8940809f7eeb8a74","type":"change","z":"bb09d6cac70a7390","name":"Allow","rules":[{"t":"set","p":"payload","pt":"msg","to":"on","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":420,"wires":[["a7873f2f6567ebf1","9628e7936e76690d"]]},{"id":"e63f7184.19c09","type":"switch","z":"bb09d6cac70a7390","name":"ON or OFF ?","property":"payload","propertyType":"msg","rules":[{"t":"lte","v":"0","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":2010,"y":460,"wires":[["289ed11e.d7612e"],["7c1c26d9.83e3d8"]]},{"id":"289ed11e.d7612e","type":"trigger","z":"bb09d6cac70a7390","name":"Trigger once","op1":"false","op2":"0","op1type":"bool","op2type":"str","duration":"0","extend":false,"overrideDelay":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":2330,"y":460,"wires":[["760ed32d1a2f6f20","9628e7936e76690d"]]},{"id":"cdbf15a40b8ccdb8","type":"api-call-service","z":"bb09d6cac70a7390","name":"","server":"4b50ac5c35178db3","version":5,"debugenabled":false,"domain":"input_number","service":"set_value","areaId":[],"deviceId":[],"entityId":["input_number.internet_time"],"data":"{\"value\":msg.payload}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":2110,"y":640,"wires":[[]]},{"id":"95b043ab72270f43","type":"function","z":"bb09d6cac70a7390","name":"stop Internet","func":"msg.payload = 0;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1470,"y":460,"wires":[["e63f7184.19c09"]]},{"id":"7c1c26d9.83e3d8","type":"change","z":"bb09d6cac70a7390","name":"reset","rules":[{"t":"set","p":"reset","pt":"msg","to":"1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":2170,"y":480,"wires":[["289ed11e.d7612e"]]},{"id":"c6c7a236a8210e04","type":"ha-button","z":"bb09d6cac70a7390","name":"internet_pause","version":0,"debugenabled":false,"outputs":1,"entityConfig":"63fbe3244e6fb7ad","outputProperties":[{"property":"payload","propertyType":"msg","value":"false","valueType":"bool"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"x":900,"y":460,"wires":[["760ed32d1a2f6f20"]]},{"id":"3ebf3ab1d90bff70","type":"ha-button","z":"bb09d6cac70a7390","name":"internet_play","version":0,"debugenabled":false,"outputs":1,"entityConfig":"408964c402a98ccd","outputProperties":[{"property":"payload","propertyType":"msg","value":"true","valueType":"bool"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"x":890,"y":420,"wires":[["8940809f7eeb8a74"]]},{"id":"fd4582015067944f","type":"ha-button","z":"bb09d6cac70a7390","name":"rest_internet_v1","version":0,"debugenabled":false,"outputs":1,"entityConfig":"b85d449ab40c7ebf","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"x":900,"y":640,"wires":[["652d84d963dc81b2"]]},{"id":"4dde939cf2b0f053","type":"ha-button","z":"bb09d6cac70a7390","name":"add_time_internet_v1","version":0,"debugenabled":false,"outputs":1,"entityConfig":"fdd8d565cf73cbb5","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"x":920,"y":700,"wires":[["e4ada3ae82eea590"]]},{"id":"19f74b0d742ceea6","type":"ha-button","z":"bb09d6cac70a7390","name":"remove_time_internet_v1","version":0,"debugenabled":false,"outputs":1,"entityConfig":"0a0a549c3a971c62","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"x":930,"y":760,"wires":[["9ce86dd714051134"]]},{"id":"4a44b30ac570fa4b","type":"ui_button","z":"bb09d6cac70a7390","name":"","group":"c50fec45.1c008","order":1,"width":0,"height":0,"passthru":false,"label":"Pause","tooltip":"","color":"","bgcolor":"","className":"","icon":"","payload":"","payloadType":"date","topic":"topic","topicType":"msg","x":730,"y":460,"wires":[["760ed32d1a2f6f20"]]},{"id":"e285126f235b4ebb","type":"ui_button","z":"bb09d6cac70a7390","name":"","group":"c50fec45.1c008","order":2,"width":0,"height":0,"passthru":false,"label":"Play","tooltip":"","color":"","bgcolor":"","className":"","icon":"","payload":"","payloadType":"date","topic":"topic","topicType":"msg","x":730,"y":420,"wires":[["8940809f7eeb8a74"]]},{"id":"0d46c73181f094ca","type":"time-inject","z":"bb09d6cac70a7390","name":"Reset at Midnight","nameInt":"¹⏲ 00:00 = timestamp","positionConfig":"9a046662c4f3913f","props":[{"p":"","pt":"msgPayload","v":"","vt":"date","o":"","oT":"none","oM":"60000","f":0,"fS":0,"fT":"UNIX timestamp (ms)","fI":"0","next":true,"days":"*","months":"*","onlyOddDays":false,"onlyEvenDays":false,"onlyOddWeeks":false,"onlyEvenWeeks":false},{"p":"","pt":"msgTopic","v":"","vt":"str","o":"","oT":"none","oM":"60000","f":0,"fS":0,"fT":"UNIX timestamp (ms)","fI":"0","next":false,"days":"*","months":"*","onlyOddDays":false,"onlyEvenDays":false,"onlyOddWeeks":false,"onlyEvenWeeks":false}],"injectTypeSelect":"time","intervalCount":1,"intervalCountType":"num","intervalCountMultiplier":60000,"time":"00:00","timeType":"entered","offset":0,"offsetType":"none","offsetMultiplier":60000,"timeEnd":"","timeEndType":"entered","timeEndOffset":0,"timeEndOffsetType":"none","timeEndOffsetMultiplier":60000,"timeDays":"*","timeOnlyOddDays":false,"timeOnlyEvenDays":false,"timeOnlyOddWeeks":false,"timeOnlyEvenWeeks":false,"timeMonths":"*","timedatestart":"","timedateend":"","property":"","propertyType":"none","propertyCompare":"true","propertyThreshold":"","propertyThresholdType":"num","timeAlt":"","timeAltType":"entered","timeAltDays":"*","timeAltOnlyOddDays":false,"timeAltOnlyEvenDays":false,"timeAltOnlyOddWeeks":false,"timeAltOnlyEvenWeeks":false,"timeAltMonths":"*","timeAltOffset":0,"timeAltOffsetType":"none","timeAltOffsetMultiplier":60000,"once":true,"onceDelay":"0.2","recalcTime":2,"x":900,"y":580,"wires":[["760ed32d1a2f6f20","652d84d963dc81b2"]]},{"id":"3eab306b16d141fb","type":"time-inject","z":"bb09d6cac70a7390","name":"","nameInt":"¹00:00 - 11:59pm[Mon-Thu] = timestamp ↻1min","positionConfig":"9a046662c4f3913f","props":[{"p":"","pt":"msgPayload","v":"","vt":"date","o":"","oT":"none","oM":"60000","f":0,"fS":0,"fT":"UNIX timestamp (ms)","fI":"0","next":true,"days":"*","months":"*","onlyOddDays":false,"onlyEvenDays":false,"onlyOddWeeks":false,"onlyEvenWeeks":false},{"p":"","pt":"msgTopic","v":"","vt":"str","o":"","oT":"none","oM":"60000","f":0,"fS":0,"fT":"UNIX timestamp (ms)","fI":"0","next":false,"days":"*","months":"*","onlyOddDays":false,"onlyEvenDays":false,"onlyOddWeeks":false,"onlyEvenWeeks":false}],"injectTypeSelect":"interval-time","intervalCount":1,"intervalCountType":"num","intervalCountMultiplier":"60000","time":"00:00","timeType":"entered","offset":0,"offsetType":"none","offsetMultiplier":60000,"timeEnd":"11:59pm","timeEndType":"entered","timeEndOffset":0,"timeEndOffsetType":"none","timeEndOffsetMultiplier":60000,"timeDays":"1,2,3,4","timeOnlyOddDays":false,"timeOnlyEvenDays":false,"timeOnlyOddWeeks":false,"timeOnlyEvenWeeks":false,"timeMonths":"*","timedatestart":"","timedateend":"","property":"","propertyType":"none","propertyCompare":"true","propertyThreshold":"","propertyThresholdType":"num","timeAlt":"","timeAltType":"entered","timeAltDays":"*","timeAltOnlyOddDays":false,"timeAltOnlyEvenDays":false,"timeAltOnlyOddWeeks":false,"timeAltOnlyEvenWeeks":false,"timeAltMonths":"*","timeAltOffset":0,"timeAltOffsetType":"none","timeAltOffsetMultiplier":60000,"once":true,"onceDelay":0.1,"recalcTime":2,"x":1000,"y":520,"wires":[["a7873f2f6567ebf1"]]},{"id":"9ce86dd714051134","type":"function","z":"bb09d6cac70a7390","name":"Decrement by 10","func":"msg.decrement = 10;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1490,"y":760,"wires":[["3fa3fd799207d51b"]]},{"id":"c162428e7ecb5caa","type":"api-call-service","z":"bb09d6cac70a7390","g":"76dc725016655d9f","name":"Disable access","server":"4b50ac5c35178db3","version":5,"debugenabled":false,"domain":"switch","service":"turn_on","areaId":[],"deviceId":[],"entityId":["switch.pfsense_lan_filter_rule_1519196725_block_childs_devices"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1740,"y":320,"wires":[["b1d9bed5b650cbed","de0f5ce631c64f33"]]},{"id":"9263895f5aad46ae","type":"switch","z":"bb09d6cac70a7390","g":"76dc725016655d9f","name":"","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"eq","v":"on","vt":"str"},{"t":"false"}],"checkall":"true","repair":false,"outputs":3,"x":1570,"y":280,"wires":[["db99c983b054ec7f"],["db99c983b054ec7f"],["c162428e7ecb5caa"]]},{"id":"db99c983b054ec7f","type":"api-call-service","z":"bb09d6cac70a7390","g":"76dc725016655d9f","name":"Enable access","server":"4b50ac5c35178db3","version":5,"debugenabled":false,"domain":"switch","service":"turn_off","areaId":[],"deviceId":[],"entityId":["switch.pfsense_lan_filter_rule_1519196725_block_childs_devices"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1740,"y":200,"wires":[["b1d9bed5b650cbed","0739c62cd967450d"]]},{"id":"b1d9bed5b650cbed","type":"api-call-service","z":"bb09d6cac70a7390","g":"76dc725016655d9f","name":"Kill States","server":"4b50ac5c35178db3","version":5,"debugenabled":false,"domain":"automation","service":"trigger","areaId":[],"deviceId":[],"entityId":["automation.kill_pfsense_states_child_devices"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1980,"y":260,"wires":[[]]},{"id":"de0f5ce631c64f33","type":"api-call-service","z":"bb09d6cac70a7390","g":"76dc725016655d9f","name":"","server":"4b50ac5c35178db3","version":5,"debugenabled":false,"domain":"switch","service":"turn_off","areaId":[],"deviceId":[],"entityId":["switch.child_internet"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":2000,"y":320,"wires":[[]]},{"id":"0739c62cd967450d","type":"api-call-service","z":"bb09d6cac70a7390","g":"76dc725016655d9f","name":"","server":"4b50ac5c35178db3","version":5,"debugenabled":false,"domain":"switch","service":"turn_on","areaId":[],"deviceId":[],"entityId":["switch.child_internet"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":2000,"y":200,"wires":[[]]},{"id":"c50fec45.1c008","type":"ui_group","name":"Our Home","tab":"c66320db96b63079","order":3,"disp":false,"width":"6","collapse":false,"className":""},{"id":"4b50ac5c35178db3","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":false,"heartbeat":false,"heartbeatInterval":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true},{"id":"63fbe3244e6fb7ad","type":"ha-entity-config","server":"4b50ac5c35178db3","deviceConfig":"","name":"internet_pause","version":"6","entityType":"button","haConfig":[{"property":"name","value":"Pause the internet time"},{"property":"icon","value":""},{"property":"entity_category","value":""},{"property":"entity_picture","value":""},{"property":"device_class","value":""}],"resend":false,"debugEnabled":false},{"id":"408964c402a98ccd","type":"ha-entity-config","server":"4b50ac5c35178db3","deviceConfig":"","name":"internet_play","version":"6","entityType":"button","haConfig":[{"property":"name","value":"Start Internet timer"},{"property":"icon","value":""},{"property":"entity_category","value":""},{"property":"entity_picture","value":""},{"property":"device_class","value":""}],"resend":false,"debugEnabled":false},{"id":"b85d449ab40c7ebf","type":"ha-entity-config","server":"4b50ac5c35178db3","deviceConfig":"","name":"rest_internet_v1","version":"6","entityType":"button","haConfig":[{"property":"name","value":"rest_internet_v1"},{"property":"icon","value":""},{"property":"entity_category","value":""},{"property":"entity_picture","value":""},{"property":"device_class","value":""}],"resend":false,"debugEnabled":false},{"id":"fdd8d565cf73cbb5","type":"ha-entity-config","server":"4b50ac5c35178db3","deviceConfig":"","name":"add_time_internet_v1","version":"6","entityType":"button","haConfig":[{"property":"name","value":"add_time_internet_v1"},{"property":"icon","value":""},{"property":"entity_category","value":""},{"property":"entity_picture","value":""},{"property":"device_class","value":""}],"resend":false,"debugEnabled":false},{"id":"0a0a549c3a971c62","type":"ha-entity-config","server":"4b50ac5c35178db3","deviceConfig":"","name":"remove_time_internet_v1","version":"6","entityType":"button","haConfig":[{"property":"name","value":"remove_time_internet_v1"},{"property":"icon","value":""},{"property":"entity_category","value":""},{"property":"entity_picture","value":""},{"property":"device_class","value":""}],"resend":false,"debugEnabled":false},{"id":"9a046662c4f3913f","type":"position-config","name":"","isValide":"true","longitude":"0","latitude":"0","angleType":"deg","timeZoneOffset":99,"timeZoneDST":0,"stateTimeFormat":"3","stateDateFormat":"12","contextStore":""},{"id":"c66320db96b63079","type":"ui_tab","name":"Internet","icon":"dashboard","disabled":false,"hidden":false}]

HA Buttons

type: vertical-stack
cards:
  - type: custom:mushroom-entity-card
    entity: input_number.internet_time
    icon: mdi:clock
    icon_color: grey
    tap_action:
      action: none
    hold_action:
      action: none
    double_tap_action:
      action: none
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-entity-card
        entity: button.start_internet_timer_2
        name: Play
        tap_action:
          action: toggle
        secondary_info: none
        layout: vertical
      - type: custom:mushroom-entity-card
        entity: button.pause_the_internet_time
        name: Pause
        tap_action:
          action: toggle
        secondary_info: none
        layout: vertical
      - type: custom:mushroom-entity-card
        entity: switch.child_internet
        hold_action:
          action: none
        double_tap_action:
          action: none
        layout: vertical
        primary_info: state
        secondary_info: none
        icon: mdi:account-network
        tap_action:
          action: none
  - type: custom:state-switch
    entity: >-
      {{ "adult" if (user=="admin" or user=="Parent1" or user=="Parent2") else
      "child" }}
    states:
      adult:
        type: horizontal-stack
        cards:
          - type: custom:mushroom-entity-card
            entity: button.add_time_internet_v1
            tap_action:
              action: toggle
            hold_action:
              action: none
            double_tap_action:
              action: none
            layout: vertical
            name: +ExtraTime
            secondary_info: none
            fill_container: true
          - type: custom:mushroom-entity-card
            entity: button.remove_time_internet_v1
            tap_action:
              action: toggle
            hold_action:
              action: none
            double_tap_action:
              action: none
            layout: vertical
            secondary_info: none
            name: '-LessTime'
          - type: custom:mushroom-entity-card
            entity: button.rest_internet_v1
            tap_action:
              action: toggle
            hold_action:
              action: none
            double_tap_action:
              action: none
            layout: vertical
            secondary_info: none
            name: Reset Time
      child:
        type: custom:gap-card
        height: 10

Automation to clear states (devices are set to a fixed ip - I may do this via a separate VLAN later)

- id: '1684845071322'
  alias: Kill pfsense States childs Devices
  description: Kill pfSense Statess child Devices
  trigger: []
  condition: []
  action:
  - service: pfsense.kill_states
    data:
      entity_id: binary_sensor.pfsense_lan_pending_notices_present
      source: 192.168.0.204
  - service: pfsense.kill_states
    data:
      entity_id: binary_sensor.pfsense_lan_pending_notices_present
      source: 192.168.0.205
  mode: single

Disclaimer:
I edited the flow and buttons to remove real names so apologies if i stuffed it up :slight_smile:
It appears to work - but may still have errors.
Others can prob. do a better job. at this than me

3 Likes

Looks awesome!

1 Like

So, I have changed out my pfsense box and have the new one running. In the integration I now have 2 listed and for the life of me cannot figure out how to remove the old one… It automatically found the new one and added all of the sensors with a suffix of _2. I really do not like how these are added, but that is an HA thing.

So, how do I delete the original pfsense box?

Select the old one, that will allow you to “drill into” the settings for that particular integration. Then select the triple dot menu that should appear. From that, select delete.

1 Like

Thanks… yup found it.

I’ve had my pfsense integration working but then recently it stated it failed to setup, so I tried re-entering the username and pw and all I get is “unexpected error.” Nothing in pfsense changed afaik. Any ideas or ways to troubleshoot?

I keep getting PHP errors. Can someone help. I have deleted the pfSense integration and I still get the error. I have also fresh installed the integration and still get the error repeatedly.

Crash report begins.  Anonymous machine information:

amd64
14.0-CURRENT
FreeBSD 14.0-CURRENT #1 RELENG_2_7_0-n255866-686c8d3c1f0: Wed Jun 28 04:21:19 UTC 2023     root@freebsd:/var/jenkins/workspace/pfSense-CE-snapshots-2_7_0-main/obj/amd64/LwYAddCr/var/jenkins/workspace/pfSense-CE-snapshots-2_7_0-main/sources/FreeBSD-src-REL

Crash report details:

PHP Errors:
[12-Sep-2023 15:52:37 America/Phoenix] PHP Fatal error:  Uncaught TypeError: Cannot access offset of type string on string in /usr/local/www/xmlrpc.php(147) : eval()'d code:14
Stack trace:
#0 /usr/local/www/xmlrpc.php(147): eval()
#1 /usr/local/share/pear/XML/RPC2/Server/CallHandler/Instance.php(141): pfsense_xmlrpc_server->exec_php('\nini_set('displ...')
#2 /usr/local/share/pear/XML/RPC2/Backend/Php/Server.php(135): XML_RPC2_Server_Callhandler_Instance->__call('pfsense.exec_ph...', Array)
#3 /usr/local/share/pear/XML/RPC2/Backend/Php/Server.php(99): XML_RPC2_Backend_Php_Server->getResponse()
#4 /usr/local/www/xmlrpc.php(987): XML_RPC2_Backend_Php_Server->handleCall()
#5 {main}
  thrown in /usr/local/www/xmlrpc.php(147) : eval()'d code on line 14

Can someone help me completely remove this integration from Home Assistant? I have deleted the integration but still get the above error every minute or so.

I am on HA 2023.9.2 and I have installed the HACS pfSense integration, but I cannot figure out where to configure the needed information, URL, User, Password, etc…When I click on it, it just show the ReadMe information.

Question, not related to the above:
I am accessing a Test Firewall from the WAN side and need to know what TCP/UDP ports HA will use to access pfSense so I can create Rule to allow access.

You install it through HACS, but then go to Settings - Devices and Services hit the add integration button and search for pfsense.

@danbutter Thanks for the quick reply.
Do you have an answer to my second question about the TCP/UDP port HA will use to access pfSense?

Port 80/443.

Just make sure not to open those on the WAN side of a live firewall.

Thanks for the information.
I got it configured and now I have another question.
This is a Test Firewall with the WAN Address on my internal network so HA and pfSense are on the same network. My plan is to implement the Firewall and connect the WAN side to my ISP Modem. Then I will have to change the IP Address in HA for pfSense and I have not been able to find a selection to do that like when setting it up originally.
So will I have to delete the current pfSense Integration and then add it again?