{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell #-} module Tesla.Car.Command.Charging ( startCharging, stopCharging, setLimit, openChargePort, closeChargePort ) where import Control.Monad.IO.Class (MonadIO (..)) import Network.Wreq (FormParam (..)) import Tesla.Car.Command setLimit :: MonadIO m => Int -> Car m CommandResponse setLimit :: Int -> Car m CommandResponse setLimit Int to = String -> [FormParam] -> Car m CommandResponse forall (m :: * -> *) p. (MonadIO m, Postable p) => String -> p -> Car m CommandResponse runCmd String "set_charge_limit" [ByteString "percent" ByteString -> Int -> FormParam forall v. FormValue v => ByteString -> v -> FormParam := Int to ] mkNamedCommands [("startCharging", "charge_start"), ("stopCharging", "charge_stop"), ("openChargePort", "charge_port_door_open"), ("closeChargePort", "charge_port_door_close")]