[Support] Electric Brain Unraid API


Recommended Posts

On 2/27/2020 at 4:00 PM, skank said:

ElectricBrainUK,

 

any chance to add to the list:

- Power up the unraid machine

- power down the unraid machine

- possible to see the download status of sabnzb on unraid?

- possible to add nzb to sabnzb on unraid

 

this all through Home assistant?

 

@ElectricBrainUK,

 

any update?

Also it was working for me, but with the recent frequently updates of HA, i get an error now in the webgui

 

Cannot add property heading_name, object is not extensible

 

Link to comment
  • 2 weeks later...

@ElectricBrainUK

 

This is a great container, I got it up and running in 5 minutes and spent the next 3 days using your code to create my own version.

Some of the cards are not working with the current version of Home Assistant. But with a bit of tweaking and cheating I got the set up below.

 

I use this on its own tab in Panel mode.

 

If anyone is interested I can post the code to Github.

 

Unraid.thumb.jpg.86163ebf73a8a498c5de670d296f340b.jpg

Link to comment
1 hour ago, Beaker69 said:

@ElectricBrainUK

 

This is a great container, I got it up and running in 5 minutes and spent the next 3 days using your code to create my own version.

Some of the cards are not working with the current version of Home Assistant. But with a bit of tweaking and cheating I got the set up below.

 

I use this on its own tab in Panel mode.

 

If anyone is interested I can post the code to Github.

 

Unraid.thumb.jpg.86163ebf73a8a498c5de670d296f340b.jpg

Thanks a lot! Looks great!

Link to comment
On 3/29/2020 at 2:31 PM, skank said:

@ElectricBrainUK,

 

any update?

Also it was working for me, but with the recent frequently updates of HA, i get an error now in the webgui

 

Cannot add property heading_name, object is not extensible

 

Hey,

Sorry for the delay! 

Is there anything unusual in the logs? 

 

Regarding the other bits I can have power off soon but not sure how to implement on, maybe wol. Not sure at all about torznab though - does it have an API? 

 

Cheers,

Electric Brain 

Link to comment
  • 1 month later...
On 4/6/2020 at 11:51 PM, Beaker69 said:

@ElectricBrainUK

 

This is a great container, I got it up and running in 5 minutes and spent the next 3 days using your code to create my own version.

Some of the cards are not working with the current version of Home Assistant. But with a bit of tweaking and cheating I got the set up below.

 

I use this on its own tab in Panel mode.

 

If anyone is interested I can post the code to Github.

 

Unraid.thumb.jpg.86163ebf73a8a498c5de670d296f340b.jpg

 

Yes please, can i have your code... Also can i have your server image pls? I have the same and would like to use if, if i may?

I've seen this also, and would merge the 2

Knipsel.jpg

Link to comment

@skank

 

The image is just a stock image I pulled from a google search.

 

As for the code it is below and I will post it on Github within the next few hours.

 

Hope you enjoy it.

 

Any problems let me know.

cards:
  - cards:
      - hold_action:
          action: none
        image: /local/server.jpg
        tap_action:
          action: none
        type: picture
      - align: split
        card_style:
          border-radius: 5px
        columns: 2
        entities:
          - entity: sensor.glances_used_percent
            max: 100
            title: Disk
          - entity: sensor.glances_cpu_used
            max: 100
            title: CPU
        padding: 2px
        severity:
          - color: '#3bb3ee'
            value: 50
          - color: '#e7a24a'
            value: 80
          - color: '#ff0000'
            value: 100
        show_icon: true
        type: 'custom:bar-card'
      - align: split
        card_style:
          border-radius: 5px
        columns: 2
        entities:
          - entity: sensor.glances_ram_used_percent
            max: 100
            title: RAM
          - entity: sensor.glances_swap_used_percent
            max: 100
            title: SWAP
        padding: 2px
        severity:
          - color: '#3bb3ee'
            value: 50
          - color: '#e7a24a'
            value: 80
          - color: '#ff0000'
            value: 100
        show_icon: true
        type: 'custom:bar-card'
      - align: split
        card_style:
          border-radius: 5px
        columns: 2
        entities:
          - entity: sensor.glances_containers_ram_used
            title: Docker RAM
          - entity: sensor.glances_containers_cpu_used
            max: 100
            title: Docker CPU
        padding: 2px
        severity:
          - color: '#3bb3ee'
            value: 50
          - color: '#e7a24a'
            value: 80
          - color: '#ff0000'
            value: 100
        show_icon: true
        type: 'custom:bar-card'
      - align: split
        card_style:
          border-radius: 5px
        columns: 1
        entities:
          - entity: sensor.glances_containers_active
            max: 100
            title: Dockers Active
        padding: 4px
        severity:
          - color: '#3bb3ee'
            value: 50
          - color: '#e7a24a'
            value: 80
          - color: '#ff0000'
            value: 100
        show_icon: true
        type: 'custom:bar-card'
    type: vertical-stack
  - cards:
      - cards:
          - entities:
              - entity: sensor.panther_cpu
            show_icon: false
            type: glance
          - entities:
              - entity: sensor.panther_memory
            show_icon: false
            type: glance
          - entities:
              - entity: sensor.panther_motherboard
            show_icon: false
            type: glance
          - entities:
              - entity: sensor.panther_arraystatus
            show_icon: false
            type: glance
          - entities:
              - entity: sensor.panther_diskspace
            show_icon: false
            type: glance
          - entities:
              - entity: switch.panther_array
            show_header_toggle: false
            type: entities
        type: 'custom:vertical-stack-in-card'
      - cards:
          - align: split
            card_style:
              border-radius: 5px
            columns: 2
            entities:
              - entity: sensor.glances_core_0_temp
                max: 100
                title: CPU
              - entity: sensor.glances_core_1_temp
                max: 100
                title: CPU
            padding: 2px
            severity:
              - color: '#3bb3ee'
                value: 50
              - color: '#e7a24a'
                value: 80
              - color: '#ff0000'
                value: 100
            show_icon: true
            type: 'custom:bar-card'
        type: vertical-stack
      - cards:
          - align: split
            card_style:
              border-radius: 5px
            columns: 2
            entities:
              - entity: sensor.glances_core_2_temp
                max: 100
                title: CPU
              - entity: sensor.glances_core_3_temp
                max: 100
                title: CPU
            padding: 2px
            severity:
              - color: '#3bb3ee'
                value: 50
              - color: '#e7a24a'
                value: 80
              - color: '#ff0000'
                value: 100
            show_icon: true
            type: 'custom:bar-card'
        type: vertical-stack
      - entity: sensor.glances_intel5500_1_temp
        max: 110
        min: 0
        name: Northbridge
        severity:
          green: 50
          red: 90
          yellow: 75
        theme: default
        type: gauge
      - cards:
          - card:
              head:
                label: Docker Control
                type: section
              type: 'custom:fold-entity-row'
            filter:
              exclude:
                - entity_id: panther_docker_*_usb*
              include:
                - entity_id: switch.panther_docker_*
            type: 'custom:auto-entities'
          - card:
              head:
                label: Virtual Machine Control
                type: section
              type: 'custom:fold-entity-row'
            filter:
              exclude:
                - entity_id: panther_vm_*_usb*
              include:
                - entity_id: switch.panther_vm_*
            type: 'custom:auto-entities'
          - card:
              head:
                label: Virtual Machine USB Control
                type: section
              type: 'custom:fold-entity-row'
            filter:
              include:
                - entity_id: switch.panther_vm_*_usb*
            type: 'custom:auto-entities'
        type: vertical-stack
    type: vertical-stack
  - cards:
      - cards:
          - cards:
              - image: /local/Kodidark.png
                type: picture
              - cards:
                  - entities:
                      - switch.panther_vm_kodi
                    show_header_toggle: false
                    type: entities
                  - entities:
                      - entity: sensor.panther_vm_kodi_status
                    show_icon: false
                    type: glance
                  - entities:
                      - entity: sensor.vm_kodi_core
                    show_icon: false
                    type: glance
                  - entities:
                      - entity: sensor.vm_kodi_ram
                    show_icon: false
                    type: glance
                  - entities:
                      - entity: sensor.vm_kodi_primarygpu
                    show_icon: false
                    type: glance
                type: vertical-stack
            type: horizontal-stack
          - card:
              head:
                label: USB Devices
                type: section
              type: 'custom:fold-entity-row'
            filter:
              include:
                - entity_id: switch.panther_vm_kodi_usb_*
            type: 'custom:auto-entities'
        title: Kodi VM
        type: 'custom:vertical-stack-in-card'
      - cards:
          - cards:
              - image: /local/windows10.png
                type: picture
              - cards:
                  - entities:
                      - switch.panther_vm_windows_10
                    show_header_toggle: false
                    type: entities
                  - entities:
                      - entity: sensor.panther_vm_windows_10_status
                    show_icon: false
                    type: glance
                  - entities:
                      - entity: sensor.vm_win10_core
                    show_icon: false
                    type: glance
                  - entities:
                      - entity: sensor.vm_win10_ram
                    show_icon: false
                    type: glance
                  - entities:
                      - entity: sensor.vm_win10_primarygpu
                    show_icon: false
                    type: glance
                type: vertical-stack
            type: horizontal-stack
          - card:
              head:
                label: USB Devices
                type: section
              type: 'custom:fold-entity-row'
            filter:
              include:
                - entity_id: switch.panther_vm_kodi_usb_*
            type: 'custom:auto-entities'
        title: Windows 10 VM
        type: 'custom:vertical-stack-in-card'
    type: vertical-stack
type: horizontal-stack

 

Link to comment

ok thx

Can you give me your github home assistant link if u got one?

maybe i can use stuff :p heres mine https://github.com/skank01/Home-Assistant

 

Actually yes i need help... all was running fine, but now i got errors

 

the unraid api is on my unraid machine, that one howwever isnt 24/24 available

the broker is on my raspberry pi (whereis my home assistant too)

It would be nice , if all would stay available although my server is down... 

 

However my server is now online, and in home assistant i get error Cannot add property heading_name, object is not extensible

 

When i look at my entities , i see my unraid binary sensor is not available

 

When i look at the unraid api and launch the webgui, it looks strange too

knipsel2.jpg

 

Help to get it back up running would be grate

 

Link to comment

First things first. Github link: https://github.com/Beaker1969/Unraid-api-desktop/tree/master

 

The old solutions are sometimes the best, try restarting unraid-api docker and log back in.

 

If your server is not running 24/7 the MQTT broker cannot pull data from the server and I have found that some of the sensors can take quite a while to recover after a restart. 

 

Have you thought of running Home Assistant on your Unraid server and running it 24/7?

 

I am no expert on any of this just a bumbling old fart who has been fidding with computers for a very long time.

 

 

Link to comment

i restarted the api docker

logged back in and it says connected...

looked at HA, and the binary sensor still is off

 

Yeah i considered putting the broker on unraid, including HA.

But i came back from that, for energy costs. 

 

I remember ElectricBrainUK saying he would look into putting the unraid api on home assistant, so all remains active although unraid is down, but i dont think hes there yet

 

I also added the picture and put in home assistant, but it doenst load... very strange

Link to comment
11 minutes ago, Beaker69 said:

What I did was create a test view in Home Asssitant, from there I just tried a picture entity card to make sure it works.

 

Make sure you it is /local/(picturename).(extension) and that the picture is in your WWW folder.

i did a test view also, with picture entity

 

cards:
- type: picture-glance
  entities:
    - sensor.unraid_server
  image: /local/Unraid.jpeg

 

Failed to load resource : the server responded with status unraid.jpeg: 1 of 404 (not found)

the picture is in /local/ and yes its in www folder together with the other pics, that do work

very strange

 

i also tried jpg instead of jpeg

 

Anyway thats the least of the problems :p

I want the server stats back up

When i click the webgui of the api docker

can you tell me each step to do

can i check if its in the broker?

Link to comment

Trying to fix the custom attributes card.

I think nothing is wrong with the api or the broker part.

I think its HA

i saw the attributes card was still js instead of module

i changed to module but i still get error:

 

create-element-base.ts:64 entity-attributes-card TypeError: Cannot add property heading_name, object is not extensible
    at HTMLElement.setConfig (entity-attributes-card.js:50)
    at s (create-element-base.ts:61)
    at c (create-element-base.ts:81)
    at u (create-element-base.ts:132)
    at Rt (create-card-element.ts:55)
    at HTMLElement.value (hui-view.ts:62)
    at hui-view.ts:295
    at Array.forEach (<anonymous>)
    at HTMLElement.value (hui-view.ts:294)
    at HTMLElement.value (hui-view.ts:222)

 

 

One question about glances...

I dont get correct glance for disk use percent

in the past, there was a disk_used_percent, but i cant see that anymore

 

Link to comment

I would still love to see a possibility to:

- see if there are updates for dockers/plugins/unraid OS

- able to shut down the server

- correct info disk usage

- parity check

- reboot server

 

But an unraid api addon in HA would be even better :p

 

@ElectricBrainUK

any update for this?

 

 

Link to comment

I was really excited to find this as I've been looking for a way to pull UnRAID data into HA for a long time!  Many thanks, @ElectroBrainUK!

 

However - I can't get anything to appear in HA!  :(  I have installed UnRAID-API as a Docker and if I go into the web UI it correctly shows a whole load of data about my UnRAID server.  If I click on the "MQTT devices" option in the UnRAID-API web UI I get this in the log - not sure what any of it means though:

 

> unraidapi@0.5.0 start /app
> cross-env NUXT_HOST=0.0.0.0 NUXT_PORT=80 NODE_ENV=production node --max-old-space-size=4096 server/index.js

READY Server listening on http://0.0.0.0:80

(node:26) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open 'config/mqttDisabledDevices.json'
at Object.openSync (fs.js:447:3)
at Proxy.readFileSync (fs.js:349:35)
at IncomingMessage.<anonymous> (/app/api/mqttDevices.js:19:19)
at IncomingMessage.emit (events.js:205:15)
at IncomingMessage.EventEmitter.emit (domain.js:471:20)
at endReadableNT (_stream_readable.js:1154:12)
at processTicksAndRejections (internal/process/task_queues.js:84:9)
(node:26) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:26) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:26) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open 'config/mqttDisabledDevices.json'

Any help would be very much appreciated!


Thanks,
Tim

Link to comment

@tj80 No idea what all that means.

 

First things first, make sure you have a working MQTT broker. Also if you want all of the information you will need to install Glances on your unraid server and connect that to Home Assistant. Both of these can be done through intergrations.

 

Once these are installed and Home Asssistant has restarted it can take a while for the MQTT sensors to show up. The ones from Glances will be there. Just check your Intergrations page.

 

As for Sensor like Array Status, Motherboard & CPU etc, you willl need to create Template Sensor for those.

Link to comment

Thanks.  MQTT is definitely OK - running Mosquitto with about 20 Tasmota devices talking to HA quite happily.  I've installed Glances as you suggested, that's working fine in HA now as well - but still nothing from UnRAID-API!  It's not showing up on the Integrations page even with discovery enabled, so I wonder if I have misconfigured something and UnRAID-API can't actually talk to the MQTT broker for some reason?  Any idea how to check that?  I can just about configure devices but delving further into MQTT is a bit beyond me I'm afraid.  :(

 

Cheers,

Tim

Link to comment

Yep, HomeAssistant and Mosquitto are both running as Dockers on my unraid server.  Does this look about right?  192.168.0.206 is the IP of Mosquitto and it's running on the standard port 1883:

image.thumb.png.ed35fe8401a3f237d762da7d7f29e0f5.png

 

Then in my HA configuration.yaml I have:

Quote

mqtt:

  broker: 192.168.0.206

  discovery: true

  discovery_prefex: homeassistant

 

Link to comment

Unfortunately I have a whole load of MQTT devices set up manually in configurations.yaml already and haven't used discovery previously - maybe it's the mix and match it doesn't like.  :(

 

Do you happen to have an example of a standard sensor which should be available if it's working?  Then I could just set that up manually as a test.

 

Thanks,
Tim

Link to comment
On 5/15/2020 at 4:05 PM, tj80 said:

Unfortunately I have a whole load of MQTT devices set up manually in configurations.yaml already and haven't used discovery previously - maybe it's the mix and match it doesn't like.  :(

 

Do you happen to have an example of a standard sensor which should be available if it's working?  Then I could just set that up manually as a test.

 

Thanks,
Tim

Hey, this page details how to set up switches and sensors manually - let me know if you get stuck or need help. Or if I have misunderstood the problem 

 

https://github.com/ElectricBrainUK/UnraidAPI/wiki/Home-Assistant-Integration

 

Cheers,

Will

Link to comment
  • 2 weeks later...

Good evening,

first of all thanks for this adapter.
Would there be a way to install the whole thing in a normal MQTT broker.

I would integrate it gwenw in ioBroker there is an MQTT adapter.

I also get values there, but I can't do much with that.

Or did I do something wrong or understand it?

 

{"imageUrl":"/state/plugins/dynamix.docker.manager/images/binhex-arch-krusader-latest-icon.png","name":"binhex-krusader","status":"stopped","containerId":"db361fd302bb","tag":"latest","uptoDate":"up-to-date"}

I have it there with me as a value down in the status I have nothing at all.

 

2145281720_UnraidMQTTContainerObjekt.thumb.PNG.34b88ecee497f477b57bab0aff94f7f9.PNG

Hope for your help.

Regards Maggi

 

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.