Scripting for POE status

This can be used as a starting point for quite a few things.

{
    /interface ethernet
    :put "Flags: D - Disabled, E - Enabled, N - Not PoE capable, P - PoE Capable"
    :put "NAME\t\t\tPRIORITY\tPOE-OUT\t\tINPUT\tSTATUS\t\t\tCURRENT\t\tVOLTAGE\t\tPOWER"
    :foreach IF in=[find] do={
        :local IFdi  "E"                    ; :if ([get $IF disabled]) do={:set IFdi "D"}
        :local IFco  [get $IF comment]      ; :if ($IFco != "") do={:set IFco ";;; $IFco\r\n    "}
        :local IFdn  [get $IF default-name]
        :local IFpc  "N"
        :local IFtmp [get $IF]
        :local IFpo  ($IFtmp->"poe-out")
        :local IFpr  ($IFtmp->"poe-priority")
        :local IFpv  ($IFtmp->"poe-voltage")
        :if ([:typeof $IFpv]="nothing") do={:set IFpv "="}
        :if ([:typeof $IFpo]!="nothing") do={:set IFpc "P"}
        :local MN    ""
        :local MNst  ""
        :local MNcu  ""
        :local MNvo  ""
        :local MNpo  ""
        :if ($IFpo~"(auto-on|forced-on)") do={
            :set MN   [poe monitor [get $IF name] once as-value]
            :set MNst ($MN->"poe-out-status")
            :if ($MNst="powered-on") do={
                :set MNcu (($MN->"poe-out-current") . "mA")
                :set MNvo (($MN->"poe-out-voltage") . "00mV")
                :set MNpo (($MN->"poe-out-power")   . "00mW")
            }
        }
        :put "$IFdi $IFpc $IFco$IFdn\t\t$IFpr\t\t$IFpo\t\t$IFpv\t$MNst\t\t$MNcu\t\t$MNvo\t\t$MNpo"
    }
}

Out example on CRS112-8P-4S (yes, is like RouterOS style):

Flags: D - Disabled, E - Enabled, N - Not PoE capable, P - PoE Capable
NAME                    PRIORITY        POE-OUT         INPUT   STATUS                  CURRENT         VOLTAGE         POWER
E P ;;; PTP
    ether1              10              auto-on         low     powered-on              227mA           26500mV         6000mW
E P ;;; (non collegato)
    ether2              20              auto-on         low     waiting-for-load
E P ;;; DIFF
    ether3              30              auto-on         low     powered-on              240mA           26500mV         6300mW
E P ;;; DIFF
    ether4              40              auto-on         low     powered-on              142mA           26600mV         3700mW
E P ;;; DIFF
    ether5              50              auto-on         low     powered-on              139mA           26600mV         3600mW
E P ;;; [PoE OFF] - RISERVA - DIFF
    ether6              60              off             low
E P ;;; (non collegato)
    ether7              70              auto-on         low     waiting-for-load
E P ;;; [PoE OFF] - CLI
    ether8              80              off             low
E N ;;; (nessun modulo)
    sfp9                                                =
E N ;;; (nessun modulo)
    sfp10                                               =
E N ;;; (nessun modulo)
    sfp11                                               =
E N ;;; (nessun modulo)
    sfp12                                               =

Out example on CRS318-16P-2S+

Flags: D - Disabled, E - Enabled, N - Not PoE capable, P - PoE Capable
NAME                    PRIORITY        POE-OUT         INPUT   STATUS                  CURRENT         VOLTAGE         POWER
E P ether1              10              forced-on       low     powered-on              239mA           25700mV         6100mW
E P ether2              20              forced-on       low     powered-on              347mA           25700mV         8900mW
E P ether3              30              auto-on         low     powered-on              164mA           25700mV         4200mW
E P ether4              40              auto-on         auto    powered-on              175mA           49300mV         8600mW
E P ether5              50              forced-on       low     powered-on              226mA           25700mV         5800mW
E P ether6              60              off             auto
E P ether7              70              off             low
E P ether8              80              off             low
E P ether9              89              auto-on         low     powered-on              160mA           25800mV         4100mW
E P ether10             90              auto-on         low     powered-on              156mA           25800mV         4000mW
E P ether11             91              auto-on         low     powered-on              155mA           25800mV         3900mW
E P ether12             92              forced-on       low     powered-on              357mA           25600mV         9100mW
E P ether13             93              forced-on       low     powered-on              355mA           25700mV         9100mW
E P ether14             94              off             low
E P ether15             95              auto-on         low     powered-on              113mA           25800mV         2900mW
E P ether16             96              auto-on         low     waiting-for-load
E N sfp-sfpplus1                                                =
E N sfp-sfpplus2                                                =

Out example on RB960PGS (PowerBox Pro)

Flags: D - Disabled, E - Enabled, N - Not PoE capable, P - PoE Capable
NAME                    PRIORITY        POE-OUT         INPUT   STATUS                  CURRENT         VOLTAGE         POWER
E N ether1                                              =
E P ;;; PTP
    ether2              10              auto-on         =       powered-on              149mA           27700mV         4100mW
E P ;;; DIFF
    ether3              20              auto-on         =       powered-on              161mA           27700mV         4400mW
E P ;;; DIFF
    ether4              30              auto-on         =       powered-on              157mA           27700mV         4300mW
E P ;;; DIFF
    ether5              40              auto-on         =       powered-on              221mA           27700mV         6100mW
E N ;;; (nessun modulo)
    sfp1